---
title: "Refund an external payment transaction"
method: POST
path: "/payments/external/refund"
tags: ["External Transactions"]
---

# Refund an external payment transaction

`POST /payments/external/refund`

This is the endpoint to refund an external transaction on any of the supported providers. Use this endpoint if you have created a transaction with any of these providers outside of Meld's system, but want to perform the refund using Meld. Note that this will also cause the original transaction to be imported into Meld's system. Both partial and full refunds are supported.

## 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

- ExternalRefundRequest
  - `serviceProvider` 'AUTHORIZENET' | 'BRAINTREE' | 'CHECKOUT' | 'CIRCLE' | 'NMI' | 'STRIPE', required — The service provider that processed the original transaction
  - `serviceTransactionId` string, required — The service provider's unique identifier for the original transaction
  - `sourceAmount` number, required — Amount to be refunded. Can be a partial refund

## 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)
