---
title: "Process a refund"
method: POST
path: "/transactions/{transaction_id}/refund"
tags: ["Transactions"]
---

# Process a refund

`POST /transactions/{transaction_id}/refund`

Process a refund for a specific payment. Append the required `transaction_id` to the URL and enter the amount to be refunded in the body of the request.

## Path parameters

- `transaction_id` string, uuid, required

## Request body

- object
  - `amount` number, float, required — The total amount you want to refund.
  - `reference` string — Where supported by the bank, set the reference to appear on the customer's bank statement.

## Response `201`

Created

- object
  - `transaction_id` string, uuid — Unique identifier assigned by Acquired.com for the transaction.
  - `status` 'success' | 'declined' | 'blocked' | 'pending'
  - `retry_advice` RetryAdvice, nullable — Canonical retry advice derived from the acquirer's Advice Code. Present when enabled on your merchant account (contact the support team to enable); null when no advice was returned by the acquirer.
    - `category` 'update_credentials' | 'retry_later' | 'do_not_retry' | 'token_requirements_not_met' | 'cancelled' | 'not_eligible' | 'scheme_blocked' | 'card_product_limitations' | 'customer_action_required' | 'update_details' | 'unknown' — Canonical advice category.
    - `detail` 'lifecycle' | 'policy' | 'fraud_security' | 'non_reloadable_prepaid' | 'single_use_virtual_card' | 'multi_use_virtual_card' | 'card_product_not_supported_by_merchant', nullable — Additional detail within the category, e.g. non_reloadable_prepaid. Null when no further detail applies.
    - `retry_after` string, date-time, nullable — Earliest UTC timestamp after which the transaction may be retried. Null when the category is not retry_later.
    - `acquirer_code` string, nullable — The normalised acquirer-specific advice code (e.g. "25"). Null when no code was provided.
  - `links` object[]
    - `rel` 'self'
    - `href` string — Link to the resource which should be appended to base URL.

## Other responses

- `400` — An error occurred
- `401` — An error occurred
- `500` — Internal Server error

---

[API](https://skmtc.net/acquired/apis/acquired-api.md) · [All operations](https://skmtc.net/acquired/apis/acquired-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/acquired/acquired-api/versions/7ae178a046f2/schema)
