Skip to main content
mutation

Requires orders access scope, marketplace_orders access scope or buyer_membership_orders access scope.

Creates a refund for an order, allowing you to process returns and issue payments back to customers.

Use the refundCreate mutation to programmatically process refunds in scenarios where you need to return money to customers, such as when handling returns, processing chargebacks, or correcting order errors.

The refundCreate mutation supports various refund scenarios:

  • Refunding line items with optional restocking
  • Refunding shipping costs
  • Refunding duties and import taxes
  • Refunding additional fees
  • Processing refunds through different payment methods
  • Issuing store credit refunds (when enabled)

You can create both full and partial refunds, and optionally allow over-refunding in specific cases. The mutation also supports idempotent requests to safely retry failed refund attempts.

After creating a refund, you can track its status and details through the order's refunds field. The refund is associated with the order and can be used for reporting and reconciliation purposes.

Learn more about managing returns and refunding duties.


Note

The refunding behavior of the refundCreate mutation is similar to the refundReturn mutation. The key difference is that the refundCreate mutation lets you to specify restocking behavior for line items, whereas the returnRefund mutation focuses solely on handling the financial refund without any restocking input.


•RefundInput!required

The input fields that are used in the mutation for creating a refund.


Was this section helpful?

Anchor to RefundCreatePayload returnsRefundCreatePayload returns

•Order

The order associated with the created refund.

•Refund

The created refund.

•[UserError!]!non-null

The list of errors that occurred from executing the mutation.


Was this section helpful?