I have Shopify Payments set up in my development store.
The checkout is configured to support multiple currencies, which works well when checking out via the standard checkout. The shop is configured in EUR, and I’m able to check out in USD after changing the currency via the currency switcher built in to the Debut theme.
However, when I create a checkout via the Checkout API I’m unable to get the checkout to show in a presentment currency. It always shows in the default shop currency.
The payload includes a presentment_currency.
Here’s the anonymized POST for a shop with default currency set to EUR.
I’m attempting to request a checkout in USD, but it generates a link to a checkout in EUR:
POST https://[shop].myshopify.com/admin/checkouts.json HTTP/1.1
X-Shopify-Access-Token: [ACCESSTOKEN]
Accept: application/json
Content-Type: application/json
Host: [shop].myshopify.com
Cookie: __cfduid=db46f8a2697c32efd861be690364e65591570279904
Request-Context: appId=cid-v1:[APP]
Request-Id: |a766b2d3-4bf8d561e71d2d78.
Content-Length: 101
Expect: 100-continue
{“checkout”:{“line_items”:[{“quantity”:3,“variant_id”:28327434256477}],“presentment_currency”:“USD”}}
I’m using the presentment_currency in line with the documentation found here:
https://help.shopify.com/en/api/reference/sales-channels/checkout
I’ve also tried to do the same using the Draft Order API, setting the currency field.
This also fails to display in USD, and also displays in EUR:
POST https://[SHOP]/admin/draft_orders.json HTTP/1.1
X-Shopify-Access-Token: [ACCESS TOKEN]
Accept: application/json
Content-Type: application/json
Host: [SHOP].myshopify.com
Cookie: __cfduid=db46f8a2697c32efd861be690364e65591570279904
Request-Context: appId=cid-v1:[APP]
Request-Id: |a766b2ec-4bf8d561e71d2d78.
Content-Length: 129
Expect: 100-continue
{“draft_order”:{“currency”:“USD”,“line_items”:[{“quantity”:3,“variant_id”:28327434256477}],“use_customer_default_address”:false}}
What am I missing?