Mark As Refunded Functionality

We’ve successfully used Shopify’s orderMarkAsPaid mutation to mark orders as settled outside of Shopify, allowing Shopify to recognize the balance as paid without triggering a direct payment through Shopify.

In a similar vein, we’re looking for a way to mark a return as “refunded” without actually initiating a refund to the original transaction. For example, if we resolve a return by issuing a gift card, we want Shopify to recognize this return as refunded to update analytics, but we don’t want to refund the original payment method.

Questions:

  1. Is there an API or workflow available to “mark a return as refunded” in this manner?
  2. Has anyone else encountered a similar need, and if so, how was it managed?

This feature would help us maintain accurate analytics without altering original transaction records. Any guidance would be appreciated.

1 Like

Hi Jake,

For the example you used, you could use the refundCreate - GraphQL Admin mutation and under transactions you could specify the gateway as “gift_card” so that the order will appear as refunded, without actually sending money anywhere. Could you test that flow to see if it works for you?

1 Like

Hi Liam! I’m working with Jake, and I was trying your suggestion. This is what I see on the timeline:


Order does not appear as refunded – it still has the full net payment.

1 Like

I am looking for this exact same functionality - wondering if you were ever able to get it working?

1 Like

Is it possible to do this via the Admin UI instead of the API? I’m thinking this could be a limitation of the API.

I’m not sure if it is an API limitation or not. However, regardless, we need this functionality in the API because we aim to provide this functionality (i.e., mark as refunded) for a large volume of orders across many different merchants (there is no way we can keep up if we have to do it manually via the UI).

Liam, could you please verify if this is a current missing feature of the API, and if so, when the functionality is projected to be available to the API?

Totally understand Jake - will dig into this more on my side. Also, is this for orders made just with the regular online store, or POS (or both)?

@Kostya When you run the refundCreate mutation and specify the gateway as “gift_card”, which creates that error you shared, what’s the full return of the mutation? If you completely omit the transactions field - will the refund be recorded (without processing a transaction).