Skip to main content
POST
Return a payment

Overview

Use this endpoint when you need to return a completed inbound SWIFT payment to its originator. Returning a payment creates a separate Payment return transaction linked to the original payment. The original payment remains Completed, and the 201 response contains the newly created return transaction.

Requirements

  • The original payment must be an inbound SWIFT payment in Completed status.
  • The original payment must not have another return that has not been rejected.
  • The Idempotency-Key header must contain a UUID version 4 value.

Supported SWIFT return reasons

The reason field accepts these values for SWIFT payments:
  • AC01
  • AC04
  • AC06
  • AG01
  • BE04
  • BE08
  • CUST
  • DUPL
  • FRAD
  • MD07
  • NARR
  • RR04
The API uses one request model for multiple payment methods, but reason codes are validated against the original payment’s method. Codes documented for SEPA Credit Transfer, SEPA Direct Debit, or T2 are not automatically valid for SWIFT.

Additional reason information

Use additionalInfo to provide free-text return reason information, up to 105 characters.
  • When reason is NARR, additionalInfo is required and must not be blank.
  • For every other supported SWIFT reason, additionalInfo is optional.

Headers

Idempotency-Key
string
required

Unique UUID identifying this return request.

Path Parameters

id
integer<int64>
required

ID of the payment to return.

Body

application/json
reason
enum<string>
required

Return reason. The codes accepted depend on the payment method.

Available options:
AC01,
AC04,
AC06,
AG01,
AG02,
AM04,
AM05,
BE04,
BE05,
CNOR,
ERIN,
FF05,
FOCR,
MD01,
MD06,
MD07,
MS02,
MS03,
RC01,
RR01,
RR02,
RR03,
RR04,
SL01,
AM09,
BE01,
FRAD,
UPAY,
DUPL,
NARR,
RC03,
RC04,
INDM,
LEGL,
NOAS,
AGNT,
BE08,
CUST
additionalInfo
string

Free-text return reason. Applies only to SWIFT and T2, where it is mandatory when reason is NARR and optional otherwise. Ignored for SEPA Credit Transfer and SEPA Direct Debit.

Maximum string length: 105
compensationAmount
number

Compensation amount. SEPA Direct Debit only.

taxAmount
number

Tax amount. SEPA Direct Debit only.

Response

Payment return created

createdAt
string<date-time>
required

Time and date when the payment was created (UTC)

Example:

"2025-11-21T12:46:54.321667Z"

creditor
object
required

Creditor (recipient) party information

debtor
object
required

Debtor (sender) party information

direction
enum<string>
required

Payment direction

Available options:
OUTBOUND,
INBOUND
Example:

"OUTBOUND"

endToEndId
string
required

End-to-end identifier assigned by the originator

id
integer<int64>
required

Unique payment identifier

Example:

10300007

instructedAmount
integer
required

Instructed payment amount in minor currency units (cents)

Example:

100

instructedCurrency
string
required

Instructed payment currency ISO code

Example:

"EUR"

metadata
string[]
required

Client-defined metadata values assigned when the payment was created

scheme
enum<string>
required

Payment scheme. SEPA_CT — SEPA Credit Transfer, SEPA_INST — SEPA Instant Credit Transfer, SEPA_DD — SEPA Direct Debit, SWIFT — SWIFT cross-border payment.

Available options:
SEPA_CT,
SEPA_INST,
SEPA_DD,
SWIFT,
T2
Example:

"SEPA_CT"

settlementAmount
integer
required

Settlement amount in minor currency units (cents)

Example:

100

settlementCurrency
string
required

Settlement currency ISO code

Example:

"EUR"

status
enum<string>
required

Current payment status

Available options:
CREATED,
TO_SIGN,
SIGNED,
SENT_TO_CLEAR,
COMPLETED,
CANCELLED,
REJECTED,
ACCEPTED,
SOME_PROBLEMS,
PENDING_CONFIRMATION
Example:

"COMPLETED"

type
enum<string>
required

Payment type

Available options:
PAYMENT,
PAYMENT_CANCELLATION,
PAYMENT_RETURN,
REVERSE_PAYMENT,
CSM_FEES,
ADJUSTMENT
Example:

"PAYMENT"

categoryPurposeCode
enum<string>

Category purpose code (e.g. SALA, TAXS, GOVT)

Available options:
BONU,
CASH,
CBLK,
CCRD,
CORT,
DCRD,
DIVI,
DVPM,
EPAY,
FCIN,
FCOL,
GOVT,
HEDG,
ICCP,
IDCP,
INTC,
INTE,
LOAN,
MP2B,
MP2P,
OTHR,
PENS,
RPRE,
RRCT,
RVPM,
SALA,
SECU,
SSBE,
SUPP,
TAXS,
TRAD,
TREA,
VATX,
WHLD
chargesAndAdjustments
object

Return-only charges and adjustments. Populated only for payment_return / payment_cancellation transactions; absent otherwise.

directDebit
object

SEPA direct debit fields, present only for SDD payments

instructionId
string

Instruction identifier

messageId
string

Message identifier

originBic
string

Return / rejection originator BIC

originName
string

Return / rejection originator name

originReasonCode
string

Return / rejection reason code

Example:

"AC04"

originReasonInfo
string

Return / rejection reason information

parentPaymentId
integer<int64>

Parent payment identifier, present for returns / reversals / cancellations

parentTransactionAmount
integer

Original (parent) transaction amount in minor currency units (cents)

purpose
string

Unstructured remittance information (free text)

Example:

"Invoice #12345"

purposeCode
string

ISO 20022 purpose code (e.g. SUPP, SALA, TAXS)

settlementDate
string<date>

Settlement date

statusReason
object

Reason for the current status

structuredReference
object

Structured remittance reference

swift
object

SWIFT-specific fields, present only for SWIFT payments

t2
object

T2-specific fields, present only for T2 payments

ultimateCreditor
object

Ultimate creditor party information

ultimateDebtor
object

Ultimate debtor party information

updatedAt
string<date-time>

Time and date when the payment was last updated (UTC)

Example:

"2025-11-21T12:46:54.612954Z"

Last modified on August 5, 2026