Shopify Storefront Checkout Api

Topic summary

Topic: Using Shopify Storefront API for custom checkout on a custom website.

Key clarifications provided:

  • Inventory: Yes, inventory updates in the Shopify Admin when using Storefront API checkout.
  • Refunds: Not handled by Storefront API “management.” Typically processed by merchant staff in Shopify Admin; custom staff tools would use the Admin API.
  • Payments: Processed through Shopify’s hosted web checkout using the store’s configured payment gateway.
  • Discounts: Apply codes via the Storefront API (e.g., cartDiscountCodesUpdate). Creating/setting up discounts is done outside the Storefront API (Admin/Docs examples).

Resources recommended:

  • Shopify Custom Storefronts and Storefront API docs; GraphiQL app for Storefront API; Hydrogen and example repos. Use the docs’ feedback button if unclear.

Open questions (unanswered):

  • Whether a fully custom checkout (not Shopify web checkout) supports non-card methods like e-wallets.
  • Whether a Checkout UI extension can update cart line item attributes via the Storefront API.

Status/outcome:

  • No final resolution. OP will proceed based on requirements; advised to research each topic separately and test with a partner test store and tooling.
Summarized with AI on December 22. AI used: gpt-5.

Hi Everyone! I am new on shopify and have some questions related with checkout API.

I wanted to know that if we use the storefront api on any custom web for checkout mentioned in this document https://shopify.dev/api/examples/checkout

Then will this also update the inventory? manage refunds? payments will be through shopify? and how can we use discount codes?

Any help/feedback will be appreciated, Thanks in advance.

Shahzaib

Hi @Sha_Hassan welcome,

Start here: https://shopify.dev/custom-storefronts

Your asking things on a BROOOOAD and DEEEEEP topic you will want to browse around to have an idea of what resources are available

Then work your way down. https://shopify.dev/api/storefront

If your a partner create a test store.

Install shopifys graphql tool for the storefront api https://shopify-graphiql-app.shopifycloud.com/

And use the example demos like hydrogen

https://github.com/Shopify/storefront-api-examples

In the dev docs, if a page is confusing there is a feedback button at the bottom of each page, for example on https://shopify.dev/api/examples/cart I left feedback that is not clear how discounts are used in creating a cart.

Then will this also update the inventory?

Yes in the shopify admin

manage refunds?

Ambiguous what ever “manage” means. In general merchants staff manage such things in the shopify admin, if your building a custom backend for staff then that’s the admin api you need to look at not the storefront api.

payments will be through shopify?

Yes through the web checkout which uses the stores payment gateway

and how can we use discount codes?

Through the storefront api to use

https://shopify.dev/api/storefront/2022-04/mutations/cartDiscountCodesUpdate

To create https://shopify.dev/api/examples/discounts

Beyond that you really want to

  1. research existing topics the forums for each bullet point individually. Glooming them all together just makes for over complicated discussion that can become overwhelming.
  2. And dig through the docs, api reference and tools&examples a bit more as some of these questions are very broad and desired outcomes can be subjective.

Like what “manage refunds” means if your not already experienced with shopifys admin but have some other unspoken expectation for what that “manage” means.

You’ll only know for sure by making and testing that process with some demos.

Thanks @PaulNewton for writing this all down. It make sense, I will further work on this based on my requirement.

1 Like

Custom checkout doesn’t support other payment method right? Only card? Ewallet not accepted? (Not referring to easiest solution which is Shopify web checkout)

do you know if i can develop a checkout UI extension that updates cart line item attribute using storefront API ?