Well done Shopify, this is a very welcome addition!
I have a few questions after reading the docs / guides.
1) Beside the facts that they don't exactly have the same properties, is there a difference between using the existing Transaction endpoint with in_shop_currency=1 and using the new TenderTransaction endpoint?
I guess I don't quite see the point of the new endpoint if we can get the same thing with the existing endpoint.
2) Currencies.json: I don't see a rate property. Is this by design?
3) Refunds. This one confused me the most.
When fetching a refund, are the amounts in the presentment or shop currency?
Does it depend on which property we are looking at? (orded_adjustments vs refund_line_items vs transactions)
In the example in the guide, it seems that the amount are in the presentment currency, but that seems inconsistent since the order's line items are in the shop's currency. Unless a refund's refund_line_items and order's line_items are not treated the same?
Code Black Belt,
For the shop currency we use the currency formatting setting, when other currencies are selected we use our formatting for those currencies as part of the liquid drops. Let us know once you've had a chance to play around if we're missing something that impacts your ability to provide the experiences you're looking for.
If you're referring to Refunds and Transactions, we have made changes there and are asking api users to be explicit about the currency used in those POST requests.
Refunds Transactions are links to the Migration guide with some examples in REST and GraphQL
Let me know if you meant something different.
I'll answer a couple of your questions now.
2) For currencies, we don't include the rates, because we want partners to leverage the Product and Product Variant APIs to grab the prices for products rather than trying to reverse engineer them. This will allow us to iterate on the pricing formula without breaking the ecosystem.
3) For Orders, you'll notice that there is a price_set included for all the various types of line items. You can choose from that set which you'd prefer for your particular integration, either presentment or shop.
For GET requests on Refunds those will be in presentment_currency.