Create Refund

This endpoint performs a full or partial refund. The refund operation is idempotent if a unique `requestId` and `merchantReference` are provided. If using the [Deferred Payment Flow](../docs/API-DEVELOPMENT/2b.-Auth-and-Capture.md), please be aware that only captured funds can be refunded. Don't create refunds after 120 days from the date of purchase. **Connection Timeouts** | Timeout | Time (Seconds) | |---------|----------------| | Open | 10 | | Read | 70 |

Authentication

AuthorizationBasic

Basic authentication of the form Basic <username:password>.

Path parameters

orderIdstringRequired
The unique Afterpay Order ID to apply the refund to.

Headers

User-AgentstringRequired
AcceptstringOptionalDefaults to application/json

Request

This endpoint expects an object.
requestIdstringOptional

Unique ID required for safe retries. Max length 64 (varchar).

amountobjectOptional
Object containing amount and currency. Where a Money object is included in an API request, it will be validated according to the specification above. Invalid Money objects will trigger a **422 Unprocessable Entity response**. The following is a list of common examples: |Example| errorCode| message| |---|---|---| |`amount` is omitted or null |invalid_object |{Money object}.amount Amount field required| |`amount` has more than 2 decimal places | invalid_object amount| must be a valid ISO 4217 format value| |`amount` includes a thousands separator comma, for example: "1,000" |invalid_amount |Amount must be a valid ISO 4217 format value| |`amount` is not a decimal number, for example: "FREE", "$2" or an empty string |invalid_object| {Money object}.amount Amount field must be a valid ISO 4217 format value| |`currency` is omitted or null |invalid_object| {Money object}.currency Currency field required| |`currency` is not a valid currency code, not all uppercase or an empty string |invalid_object| {Money object}.currency Currency not supported for this merchant| |`currency` is supported by Afterpay, but not valid for the Merchant account |unsupported_currency |An error occurred|
merchantReferencestringOptional

The merchant’s internal refund id/reference. This must be included along with the requestId to utilise idempotency. Max length 85 (varchar).

refundMerchantReferencestringOptional<=128 characters

A unique reference for the individual refund event. Max length 128 (varchar).

Response

Returns a Refund object in response. All request parameters will be echoed in the response. In addition, the response includes the following: | Attribute | Type | Description | | --- | --- | --- | | `refundId` | string | The unique, permanent, Afterpay-generated Refund ID. | | `refundedAt` | string | The UTC timestamp of when the refund was completed, in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. |
amountobject or null
Object containing amount and currency. Where a Money object is included in an API request, it will be validated according to the specification above. Invalid Money objects will trigger a **422 Unprocessable Entity response**. The following is a list of common examples: |Example| errorCode| message| |---|---|---| |`amount` is omitted or null |invalid_object |{Money object}.amount Amount field required| |`amount` has more than 2 decimal places | invalid_object amount| must be a valid ISO 4217 format value| |`amount` includes a thousands separator comma, for example: "1,000" |invalid_amount |Amount must be a valid ISO 4217 format value| |`amount` is not a decimal number, for example: "FREE", "$2" or an empty string |invalid_object| {Money object}.amount Amount field must be a valid ISO 4217 format value| |`currency` is omitted or null |invalid_object| {Money object}.currency Currency field required| |`currency` is not a valid currency code, not all uppercase or an empty string |invalid_object| {Money object}.currency Currency not supported for this merchant| |`currency` is supported by Afterpay, but not valid for the Merchant account |unsupported_currency |An error occurred|
merchantReferencestring or null

The merchant’s internal refund id/reference. This must be included along with the requestId to utilise idempotency. Max length 85 (varchar).

refundIdstring or null

The unique, permanent, Afterpay-generated Refund ID.

refundMerchantReferencestring or null<=128 characters

A unique reference for the individual refund event. Max length 128 (varchar).

refundedAtstring or null
requestIdstring or null

Unique ID required for safe retries. Max length 64 (varchar).

Errors