> ## Documentation Index
> Fetch the complete documentation index at: https://docs.equalsmoney.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Refund payments

> Refund all or part of a completed Roqqett payment from your settlement account.

A Roqqett refund is a new open banking payment from your settlement account back to the payer's account. Because the money leaves your own bank account, someone who can approve payments on that account must authorise each refund at your bank.

## Before you begin

* The settlement account that received the payment must have its `bankId` set. Refunds from an account without one fail. See [Set up Roqqett](/pages/roqqett/set-up-roqqett#step-2-add-a-settlement-account).
* Check that your bank supports open banking refunds: [List banks](/api-reference/banks/list-banks) returns `supportsRefunds` for each bank.
* Only payments from `SHOPPING` checkout sessions can be refunded. A payment's `isRefundable` field tells you whether you can still refund it.

## Step 1: Start the refund

<Note>
  **POST** `/v2/roqqett/payments/{paymentId}/refunds`
</Note>

<CodeGroup>
  ```bash Sample request theme={null}
  curl -i -X POST \
    'https://api.equalsmoney.com/v2/roqqett/payments/d3579e67-f9f5-4bd8-9e32-a043c91fea24/refunds?accountId=F12345' \
    -H 'Authorization: ApiKey {apiKey}' \
    -H 'Content-Type: application/json' \
    -d '{
      "amount": { "amount": "54.99", "currencyCode": "GBP" },
      "reason": "Item returned"
    }'
  ```

  ```json Sample response theme={null}
  {
    "id": "5c7d9e1f-3a2b-4c6d-8e0f-1a2b3c4d5e6f",
    "paymentId": "d3579e67-f9f5-4bd8-9e32-a043c91fea24",
    "status": "AWAITING_AUTHORISATION",
    "amount": { "amount": "54.99", "currencyCode": "GBP" },
    "reason": "Item returned",
    "authorisationUrl": "{authorisationUrl}",
    "createdAt": "2026-10-07T14:02:11Z",
    "completedAt": null
  }
  ```
</CodeGroup>

* `amount` must be in the payment's currency. You can refund part of a payment, and make several refunds, up to the amount paid.
* `reason` is optional, up to 140 characters.

A single refund can be at most 1,000.00 in the payment's currency. You get `409` if the payment can't be refunded, the amount is more than what's left to refund, or the amount is over that limit.

## Step 2: Authorise the refund at your bank

Open `authorisationUrl` in a new window. The person authorising the refund logs in to your bank and approves the payment, as they would any other payment from that account.

`authorisationUrl` is only returned when you create the refund. If it's lost, or the refund is cancelled, start a new refund.

## Step 3: Check the refund status

<Note>
  **GET** `/v2/roqqett/refunds/{refundId}`
</Note>

| `status` | Meaning |
| - | - |
| `AWAITING_AUTHORISATION` | Waiting for someone to approve the refund at your bank. |
| `PENDING` | Approved, and waiting for the bank to confirm. |
| `COMPLETED` | The money has been returned to the payer. |
| `FAILED` | The bank didn't make the payment. |
| `CANCELLED` | The refund wasn't authorised in time, or was cancelled at the bank. |

Each refund also appears in [List payments](/api-reference/payments/list-payments) with a `type` of `REFUND` and `refundedPaymentId` set to the original payment.
