We are calculating and creating draft order through our custom app using shopify admin GraphQL draftOrderCalculate and draftOrderCreate API service.
The challenges we are facing currently now that once creating any draft order in shop currency (USD) and then we changes the presentment money of the entire draft order to other currency (e.g. GBP) using draft order calculate service it works fine, but after that if we want to apply any discount or other things to any product in the presentment money (i.e. GBP), now we are unable to calculate draft order properly as draft order calculate API needs entire input payload value in shop currency (i.e. USD in our case) but we have just switched earlier from USD to GBP.
Is there anyway we can provide this new currency (i.e. GBP) to request payload to draft order calculate service ?
Thanks for your post. The fixed amount discounts specified through the DraftOrderInput.appliedDiscount value are in the shop currency, so you'd need to convert to that from the presentment currency beforehand and use the shop currency value in the mutation discount input. This is confirmed by testing with fixed discounts and adjusting the DraftOrderInput.presentmentCurrencyCode in the draftOrderCalculate mutation.
There's some great developer docs about managing draft orders with the draftOrderCalculate and draftOrderCreate mutations at this link: