We are trying to retrieve accurate order information from Shopify to pass to 3rd party systems and have been trying to use current_total_price (The current total price of the order in the shop currency. The value of this field reflects order edits, returns, and refunds.)
Our issue has been trying to get an accurate Order Total Price after order edits, returns and/or refunds but the current_total_price does not reflect any of these revisions. All attempts to ask Shopify for further information has resulted in tone deaf silence. Does this API even work as advertised? No one from support can explain this API.
We have seen the Accepted Solution of Query the GraphQL Admin API with the field `netPaymentSet` but we can't really understand why current_total_price does not present the exact same data. Has anyone got some insights into this issue?
Hello @Grant_Harrison ,
The issue you're describing isn't with the API itself - the data being returned for current_total_price is likely correct based on the values stored in the order json in the admin. You can confirm this by opening the json (accessible by adding .json to the end of any in-admin order URL) and checking out the value stored for the current_total_price parameter.
The limitation here is how order edit (whether performed through API or the admin) causes some order json values to update. At the moment, order edit's impact on current_total_price is strictly additive. When an item is removed from via order edit, is not processed in the same way as a refund/return, so it does not result in a reduction of the order's current_total_price. Items added via order edit will influence the stored value, however. This is a known limitation with Order Edit as a feature, and we have passed feedback along describing how this limitation is affecting adjacent services (like the API).
If what I've described is not representative of what you are observing with your own shop data and API usage (such as if the data returned via API does not match the data present in the order json), let me know and I'll be happy to take a look.
@GrahamSThanks for your reply
The issue with the API data not reflecting the correct values after Admin Order Edits is quite frustrating since the incorrect data is also captured in a customer's order history and prevents us integrating order reporting with 3rd party systems likes Salesforce.
Having Order Edits as a Shopify function for admins is useful because shop owners do not have to cancel orders and/or can edit orders for customers who have made mistakes with purchases. Cancelling orders requires refunds and reconciling finances for stores that use multiple payment portals, all with varying transaction fees/refund fees and is a very big issue for these businesses.
From the tests we have done looking at json returned from an Admin Order Edit we would have to calculate the following API to get an accurate NET Total for the edited order:
current_total_price returns a figure that is based on a calculation that we cannot work out.
Given that you also confirmed admin order edits result in additive API data, this also causes issues with line item reporting, as any product manually removed from an order will also be included in the final order report that customers can view.
I am happy to share the json data with you if you'd like to take a look but from what I can see from our API tests, allowing Admin Order Edits will only result in multiple Order API data errors and we are better off suggesting to clients that they simply CANCEL orders to ensure accurate Order Reporting, both for their customers and when connecting via API to 3rd party systems.
Are you saying that current_subtotal_price correctly reflects order edits, while current_total_price does not? The documentation seems to suggest that the only difference between them is that the latter includes tax and shipping.
Thanks for this. The behavior of current_total_price is indeed very unintuitive.
It's been almost a year. Do you know if Shopify has "fixed" this issue yet?