---
title: "Refund a payment transaction"
method: POST
path: "/payments/transactions/{id}/refund"
tags: ["Transactions"]
---

# Refund a payment transaction

`POST /payments/transactions/{id}/refund`

This is the endpoint to refund a transaction on any of the supported providers. Full as well as partial refunds are supported, so it is not mandatory to inform the total value of the original transaction in the case of a full refund. Note: While the parameters within the body are optional, you must at least pass in a valid JSON body, e.g. { }.

## Path parameters

- `id` string, required

## Headers

- `X-Idempotency-Key` string, uuid
- `Meld-Passthrough-Reference` string
- `Meld-Passthrough-Key-Id` string
- `Meld-Passthrough-Key-Public` string
- `Meld-Passthrough-Key-Private` string
- `Meld-Passthrough-Oauth` string

## Request body

- PaymentRefundRequest
  - `description` string — An arbitrary string attached to the object. Often useful for displaying to users.
  - `reason` string — Reason for the refund
  - `sourceAmount` number, required — Amount to be refunded. Can be a partial refund. If not provided, a refund for the total value will be submitted

## Response `200`

Payment successfully refunded

## Other responses

- `400` — Bad Request : check request values and format
- `401` — Invalid credentials
- `403` — Unauthenticated or authenticated with insufficient access
- `425` — It is too early for a retry
- `500` — Internal Error

---

[API](https://skmtc.net/meld/apis/bank-linking.md) · [All operations](https://skmtc.net/meld/apis/bank-linking/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/meld/bank-linking/revisions/818d6079a611/schema)
