---
title: "Refunds a Single Transaction or Frequent Transaction"
method: POST
path: "/refund/{id}"
tags: ["Refunds"]
---

# Refunds a Single Transaction or Frequent Transaction

`POST /refund/{id}`

Each method has a specific time window during which a refund can be issued. Once this period expires, refunds can no longer be processed via the API for that payment.

### Refund Deadlines by Payment Method

| Payment Method         | Maximum Refund Time |
|------------------------|---------------------|
| MB WAY                 | 12 months           |
| Visa & Mastercard      | 12 months           |
| Apple Pay              | 12 months           |
| Google Pay             | 12 months           |
| Samsung Pay            | 12 months           |
| MB SPG references      | 120 days            |
| Other MB references    | No limit            |
| Direct Debit           | 180 days            |


**Required scope:** <code style="background:#e8f0fe;color:#1a73e8;padding:2px 8px;border-radius:12px;font-size:0.85em">refund:create</code>

## Path parameters

- `id` string, uuid, required

## Request body

- RefundPostRequest
  - `transaction_key` string — Your internal key identifying this refund
  - `iban` string — Optional - Iban from the bank account
  - `email` string — Optional - Email from the bank account holder
  - `phone` string — Optional - Phone from the bank account holder
  - `account_holder` string — Optional - Bank account holder name
  - `value` number, double, required — The amount to refund. When `revert` is present, this is the gross amount from the payer's perspective — the amount refunded to the payment method plus any redeemed reward credits being restored.
  - `revert` object — Reverts refers to the process of reversing a previously made split payment. This means that the amounts that were divided and allocated to different recipients or accounts are returned to the original payer or redistributed as per the new instructions.
    - `mode` 'partial' | 'total' — - **TOTAL:** All associated splits and their margins will be reverted - **PARTIAL:** Only the selected splits and their margins will be reverted
    - `reward_redemption_reversal` number, double — The portion of the refund value to restore to the customer's reward balance instead of refunding it to the payment method — the payment method receives the refund value minus this amount. Only valid when the capture redeemed reward credits, and it can exceed neither the refund value nor the redemption not yet restored by previous refunds. On a TOTAL revert it must equal the remaining redemption, and defaults to it when omitted; on captures fully paid with reward credits it defaults to the refund value. Otherwise, omitting the field restores nothing. The restored credit lands on the customer's reward ledger as a `REWARD_RESTORATION` entry on `GET /customer/{id}/rewards`. See the [Rewards & Redemptions guide](/docs/guides/rewards-and-redemptions) for the full flow.
    - `splits` object[] — Array of splits to revert. Required only if the mode is PARTIAL.
      - `id` string, uuid — The uuid of split.

## Response `201`

Created

- RefundPostResponse
  - `status` string
  - `message` string
  - `id` string, uuid — A unique identifier for the resource. While typically formatted as a UUID (Universally Unique Identifier), it can also be in other formats as defined by the user. This field ensures the resource can be distinctly recognized and referenced.

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `412` — Pre condition failed
- `422` — Unprocessable Entity
- `429` — Too Many Requests
- `500` — Internal Server Error

---

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