Hi!
We are currently using the GraphQL Process Return API to restock items when no refund is required. In cases where a refund is needed, we call the refundCreate API to both refund and restock, followed by the returnClose API.
However, we are encountering an issue: even when a refund amount of 0 is processed (either via API or directly in the Shopify admin), Shopify still displays a “Refund owed” warning
This is causing confusion for our merchants, especially in exchange scenarios where:
-
A new order is created for the exchanged item, and
-
The original order is returned with a $0 refund
When merchants revisit the original order, they see the “Refund owed” warning, which makes it difficult for them to track whether the exchange has already been handled.
We have tried the following:
Tried restock Items with 0 refund using following APIs (Either at a time)
-
Process Return with a $0 refund via
processReturn -
Issue $0 refund via
refundCreate
Later we call following api to close the return
- Close the return using
returnClose
However, even after following this flow, the warning still appears.
The core issue is not the API flow, but how Shopify surfaces this warning in the UI. From a merchant’s perspective, it incorrectly suggests that action is still required, even when the return/exchange has been fully processed.
It would be very helpful if there were:
-
A way to suppress or disable this warning for $0 refund scenarios, or
-
A clearer distinction in the UI between “refund pending” vs “no refund required”
At the moment, even explicitly issuing a $0 refund does not resolve the warning, which leads to unnecessary confusion for merchants managing exchanges.
Could you advise if there is any way to control or suppress this behavior?

