When using the Carrier Service API, the cart’s payload that gets sent to our apps payload always has a currency of the Shops default currency, rather than the actual currency of the market the user is checking out in.
Sample cart payload below:
{
"currency": "USD",
"customer": null,
"destination": {
"address1": "Toronto St",
"address2": null,
"address3": null,
"address_type": null,
"city": "St. John's",
"company_name": null,
"country": "CA",
"email": null,
"fax": null,
"latitude": 47.5973014831543,
"longitude": -52.71310043334961,
"name": null,
"phone": null,
"postal_code": "A1A 2T4",
"province": "NL"
},
"items": [
{
"fulfillment_service": "manual",
"grams": 0,
"name": "The Multi-location Snowboard",
"price": 74109,
"product_id": 8530212880580,
"properties": {},
"quantity": 1,
"requires_shipping": true,
"sku": null,
"taxable": true,
"variant_id": 45870380482756,
"vendor": "Custom Carrier Service"
}
],
"locale": "en-CA",
"order_totals": {
"discount_amount": 0,
"subtotal_price": 74109,
"total_price": 74109
},
"origin": {
"address1": null,
"address2": null,
"address3": null,
"address_type": null,
"city": null,
"company_name": "Custom Carrier Service",
"country": "US",
"email": null,
"fax": null,
"latitude": null,
"longitude": null,
"name": null,
"phone": null,
"postal_code": null,
"province": null
}
}
The above cart is in a Canadian market - and prices show as CAD in the checkout, but the actual cart payload always returns USD currency.
Is this expected behaviour?