<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel><title>Shopify in C# — Trust is earned, not given</title><link>https://www.bobhuang.com/series/shopify-in-csharp/</link><description>The Shopify Admin API from first customers to fulfillment: cursor pagination, the GraphQL cost budget, orders and draft orders, payments as the ledger, and tracking.</description><language>en</language><lastBuildDate>10 Jun 2025 12:00:00 GMT</lastBuildDate><atom:link href="https://www.bobhuang.com/series/shopify-in-csharp/feed.xml" rel="self" type="application/rss+xml"/><item><title>Shopify in C#, part 6: fulfillment in the GraphQL-first world — fulfillmentOrder, tracking, and the REST sunset</title><link>https://www.bobhuang.com/blog/806/shopify-dotnet-part6-fulfillment-graphql-first/</link><guid>https://www.bobhuang.com/blog/806/shopify-dotnet-part6-fulfillment-graphql-first/</guid><pubDate>10 Jun 2025 12:00:00 GMT</pubDate><description>2024–25 closed the REST era: new apps are GraphQL-first, the product endpoints were the first REST surface switched off, and every roadmap item now lands in…</description></item><item><title>Shopify in C#, part 5: payments and refunds — transactions as the ledger, calculate-then-commit</title><link>https://www.bobhuang.com/blog/805/shopify-dotnet-part5-payments-transactions-refunds/</link><guid>https://www.bobhuang.com/blog/805/shopify-dotnet-part5-payments-transactions-refunds/</guid><pubDate>14 Nov 2023 12:00:00 GMT</pubDate><description>A Stripe developer asks: "where is the payment intent?" The Shopify answer: there is none, deliberately. Shopify Payments abstracts the PSP away — the…</description></item><item><title>Shopify in C#, part 4: orders and draft orders — reading the ledger, sending the invoice</title><link>https://www.bobhuang.com/blog/804/shopify-dotnet-part4-orders-draft-orders-invoices/</link><guid>https://www.bobhuang.com/blog/804/shopify-dotnet-part4-orders-draft-orders-invoices/</guid><pubDate>16 Aug 2022 12:00:00 GMT</pubDate><description>Orders are Shopify's ledger, and draft orders are Shopify's answer to "invoice" — an order a merchant (or your API) composes for the customer, which Shopify…</description></item><item><title>Shopify in C#, part 3: the GraphQL Admin API — one endpoint, variables, cost budget, and real customers</title><link>https://www.bobhuang.com/blog/803/shopify-dotnet-part3-graphql-customers/</link><guid>https://www.bobhuang.com/blog/803/shopify-dotnet-part3-graphql-customers/</guid><pubDate>20 Apr 2021 12:00:00 GMT</pubDate><description>The GraphQL Admin API has been quietly eating the REST surface, and this year two changes make it the default: API versions are now real (the URL pins one)…</description></item><item><title>Shopify in C#, part 2: customers done right — search, pagination by cursor, addresses, metafields</title><link>https://www.bobhuang.com/blog/802/shopify-dotnet-part2-customers-search-pagination/</link><guid>https://www.bobhuang.com/blog/802/shopify-dotnet-part2-customers-search-pagination/</guid><pubDate>22 Oct 2019 12:00:00 GMT</pubDate><description>Part 1 stopped at the toy level of the customers API. Real integration work lives in four sub-features: cursor pagination (new this year, and mandatory…</description></item><item><title>Shopify in C#, part 1: the Admin API, a custom app, and your first customers</title><link>https://www.bobhuang.com/blog/801/shopify-dotnet-part1-admin-api-first-customers/</link><guid>https://www.bobhuang.com/blog/801/shopify-dotnet-part1-admin-api-first-customers/</guid><pubDate>18 Sep 2018 12:00:00 GMT</pubDate><description>Stripe and Shopify are the two API surfaces of MapleCart's stack, and they could not be more different: Stripe is a payments ledger you call with intents…</description></item></channel></rss>