Skip to main content

Refunds


If the customer decides to return a purchase, you can refund the payment by sending a refund request. You can refund either the total captured amount or a partial amount. Multiple refunds are also supported when the total amount refunded is less or equal to the total captured amount. Refunding a payment requires the request ID from a capture request that is in the SETTLED status.

A successful request is indicated by the REFUNDED status in the status response field. When you receive the REFUNDED status, the refund is complete and you can display a refund confirmation to the customer.

For the refund endpoint, see Affirm API Endpoints.

Endpoint

POST /pts/v2/captures/{id}/refunds

POST /pts/v2/captures/{id}/refunds

Example

{  "paymentInformation": {    "paymentType": {      "name": "INVOICE",      "method": {        "name": "AFFIRM"      }    }  },  "processingInformation": {    "actionList": "AP_REFUND"  },  "orderInformation": {    "amountDetails": {      "totalAmount": "150.00",      "currency": "USD"    }  }}
{    "_links": {        "self": {            "method": "GET",            "href": "/pts/v2/refunds/7297990491716684003954"        },        "status": {            "method": "POST",            "href": "/pts/v2/refresh-payment-status/7297990491716684003954"        }    },    "clientReferenceInformation": {        "code": "1729799049316",        "returnReconciliationId": "XFZ402N9WXRR"    },    "id": "7297990491716684003954",    "orderInformation": {        "amountDetails": {            "currency": "USD"        }    },    "processorInformation": {        "responseDetails": "00006",        "transactionId": "6CKYUNXOI85LBZLK",        "responseCode": "00006"    },    "reconciliationId": "XFZ3Z2N9GCMZ",    "refundAmountDetails": {        "refundAmount": "150.00"    },    "status": "REFUNDED",    "submitTimeUtc": "2024-10-24T19:44:10Z"}
FieldTypeDescription
orderInformation.amountDetails.currencyThe currency for the order.
orderInformation.amountDetails.totalAmountThe total amount for the order.
paymentInformation.paymentType.method.nameSet to AFFIRM.
paymentInformation.paymentType.nameSet to INVOICE.
processingInformation.actionListSet to AP_REFUND.
Optional Fields
FieldTypeDescription
orderInformation.billTo.emailThe email address of the billing contact.
orderInformation.billTo.firstNameThe first name of the billing contact.
orderInformation.billTo.lastNameThe last name of the billing contact.
orderInformation.lineItems[].productNameThe name of the product.
orderInformation.lineItems[].quantityThe quantity of the product.
orderInformation.lineItems[].totalAmountThe total amount for the line item.
orderInformation.lineItems[].unitPriceThe unit price of the product.

Response Statuses

responds with one of these statuses in the status response field.

  • FAILED: The refund request is not successful. Send a new refund request.
  • REFUNDED: The refund is complete and the purchase is refunded. You can display a refund confirmation to the customer.

For REST, also provides a reconciliation ID for tracking and reporting purposes in the reconciliationId response field.

Last published: September 29, 2026