We are using the Shopify Checkout Kit in our mobile app. Our BFF sets the buyer identity (including a Storefront API customerAccessToken) on the cart via the cartBuyerIdentityUpdate mutation before presenting checkout.
When opening the checkout URL directly in a browser (including incognito), the buyer’s saved address is correctly prefilled. However, when presenting the same checkoutUrl through Checkout Kit, the address fields are empty.
Does it require a Customer Account API access token specifically (sounds strange, cause works in any browser session)? Is there any additional setup required on the mobile side to enable prefill?
Hi @Denis_Chaplia
thanks for flagging this.
I’m going to do some digging here and I’ll follow up on this thread when I have more info. While we do so, can you please share a request_id or cart_token from an checkout that we can trace?
I also have a few questions about your setup that will help us narrow it down:
- What’s the prefix of the token you pass as
customerAccessToken (e.g. shcat_, shpsb_, or no prefix), and where do you obtain it?
- Do you call
preload()? If so, once right before present(), or on every cart change (add/remove line)?
- Is buyer identity set from your server, and if so, do you forward the buyer’s device IP via the Shopify-Storefront-Buyer-IP header on the cartBuyerIdentityUpdate request?
And just for context (no need to dig): iOS/Android and SDK version, whether it’s all customers or some, and roughly when it started.
Thanks!
Thanks for the reply, here are the answers to your questions.:
- What’s the prefix: no prefix, we obtain token with storefront api - mutations/customerActivateByUrl
- We set buyer identity from server and we DON’T forward the buyers device IP via header
- Checkout Kit is configured as recommended by the shopify documentation
- iOS/Android - we use both
@Denis_Chaplia - thanks for the reply, that’s helpful.
Could you please share a cart token or request_id from one of the Checkout Kit sessions with this behaviour? That lets us pull the logs for that specific checkout and trace exactly where the prefilled details drop off, which should give us a definitive answer for you.