Have your say in Community Polls: What was/is your greatest motivation to start your own business?
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.

checkoutCreate mutation occasionally throwing error: "Network error: Failed to fetch"

checkoutCreate mutation occasionally throwing error: "Network error: Failed to fetch"

nicholasmueller
Shopify Partner
1 0 1

I have a store that calls:
https://mystore.myshopify.com/api/2022-10/graphql.json with the checkoutCreate mutation.

Here is the raw curl request:

 

 

curl 'https://mystore.myshopify.com/api/2022-10/graphql.json' \
-H 'authority: mystore.myshopify.com' \
-H 'accept: */*' \
-H 'accept-language: en-US,en;q=0.9' \
-H 'content-type: application/json' \
-H 'origin: https://mystore.com' \
-H 'referer: https://mystore.com/' \
-H 'sec-fetch-dest: empty' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-site: cross-site' \
-H 'sec-gpc: 1' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36' \
-H 'x-shopify-storefront-access-token: mytoken' \
--data-raw $'{"operationName":null,"variables":{"input":{}},"query":"mutation ($input: CheckoutCreateInput\u0021) {\\n checkoutCreate(input: $input) {\\n checkout {\\n id\\n customAttributes {\\n key\\n value\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n}\\n"}' \
--compressed

 


We can see in our error logger that this call will occasionally fail with the following error object:

 

{"cause":{"graphQLErrors":[],"networkError":{},"message":"Network error: Failed to fetch"}}


sometimes we also get 

 

{"cause":{"graphQLErrors":[],"networkError":{},"message":"Network error: Load failed"}}


The message does not point me anywhere and I cannot reproduce the error locally. This is happening to a small percentage of our users across chrome/safari/mac/windows, so I cannot find any pattern in browsers or environments if it is an incompatibility issue. The request usually works so we are indeed passing all the correct variables. 

I am confused as to where this error is coming from. Could it be a race condition where I am not waiting for something to happen before making this request? Any help would be greatly appreciated. 

Replies 0 (0)