What's your biggest current challenge? Have your say in Community Polls along the right column.
Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

Checkout/purchase flow for non shopify online store & headless Shopify(not plus)

Checkout/purchase flow for non shopify online store & headless Shopify(not plus)

bhagya19
Tourist
11 0 8

Our team is developing a new store for one our customers & for achieving better customer experience, we have decided to take the Shopify(not Shopify plus) headless approach with React for the online store. Since this is the first time we are going down the headless path, we have trying to get our understanding right regarding invoking Storefront API. Looking for help from the experts in the forum to clarify the checkout flow. Below are our findings so far -

As per the details checkout with storefront API 

  1. Through web checkout, we need to redirect the customer to the weburl generated as part of cart updates. However, since we will be using Shopify basic plan and Multipass will not be available, the access token generated through customerAccessTokenCreate will not be carry forwarded to the Shopify's checkout form and the customer will be asked to login again. Does that imply that we cannot achieve E2E (including payment) flow with the basic plan?
  2. Through API approach, in order to use checkout API, the prerequisite is that the app should be converted to Sales Channel & should be a public app. Is it appropriate to create the non-shopify frontend store as a Sales channel app?
Reply 1 (1)

CalD
Shopify Staff
140 22 36

Hey @bhagya19,

  1. After you have the access token from customerAccessTokenCreate and the checkout ID from checkoutCreate, you can use checkoutCustomerAssociateV2 to associate the customer's token with the checkout id.
  2. The simplest way for the customer to complete the checkout is to redirect them to the webUrl returned from checkoutCreate. To use the other checkoutCompleteWith___ mutations, payment processing/sales channel status is required.

CalD | Developer Support @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog