Skip to main content
POST
Return transaction

Overview

This endpoint returns a SEPA Direct Debit transaction to the originator. Use this when you cannot process the debit due to account issues or customer disputes.

Common Return Scenarios

  • Insufficient funds
  • Account closed or blocked
  • No valid mandate
  • Customer dispute

Requirements

  • Transaction must be in a returnable state
  • Valid return reason code required
  • Return must occur within the allowed timeframe (see Timeframes below)

Timeframes & Reason Codes

This endpoint carries both returns and refunds - the reason code decides which, and each has its own deadline (Centrolink rejects anything outside the window):
  • Return - technical reasons such asAC04 orAM04, up to 5 business days after settlement.
  • Refund of an authorised collection -MD06 (customer dispute), up to 8 weeks after the debit date.
  • Refund of an unauthorised collection -MD01 (no valid mandate), up to 13 months after settlement.

SEPA SDD Return Reasons

This document lists the supported SEPA Direct Debit (SDD) return reason codes that can be used when returning an SDD transaction, because the service /v1/transactions/:return is used not only for SDD payment returns.

Validation Rules

  • The reason field must be one of the supported values listed below.
  • Using an unsupported reason code (for example FOCR) will result in a VALIDATION_ERROR.

Supported Return Reason Codes

  • AC01 – Incorrect Account Number
  • AC04 – Closed Account Number
  • AC06 – Blocked Account
  • AG01 – Transaction Forbidden
  • AG02 – Invalid Bank Operation Code
  • RC01 – Bank Identifier Incorrect
  • AM04 – Insufficient Funds
  • AM05 – Duplication

Mandate / Authorization

  • MD01 – Unauthorized Transaction
  • MD06 – Disputed authorized transaction (Only for refunds)
  • MD07 – End Customer Deceased

Missing information

  • RR01 – Missing Debtor Account or Identification
  • RR02 – Missing Debtor Name or Address
  • RR03 – Missing Creditor Name or Address

Not specified reason

  • MS02 – Not Specified Reason Customer Generated
  • MS03 – Not Specified Reason Agent Generated

Regulatory / Other

  • RR04 – Regulatory Reason
  • SL01 – Specific Service offered by Debtor Agent
  • BE05 – Unrecognized Initiating Party

Example Error Response

Path Parameters

id
integer<int64>
required

Transaction ID.

Body

application/json
reason
enum<string>
required

Return reason. All payment methods; the accepted codes differ per method — see the operation description.

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
additional_info
string

Free-text return reason, max 105 characters. T2 only; ignored for other payment methods. Mandatory when reason is NARR, must be empty otherwise.

Maximum string length: 105
compensation_amount
number

Compensation amount. SEPA Direct Debit only; ignored for other payment methods.

tax_amount
number

Tax amount. SEPA Direct Debit only; ignored for other payment methods.

Response

Returned transaction

cr_amount
integer
required

Payment amount in minor currency units

cr_ccy_isocode
string
required

SEPA payment currency code

created_at
string<date-time>
required

Time and date when transaction was created

dr_amount
integer
required

Payment amount in minor currency units

dr_ccy_isocode
string
required

SEPA payment currency code

id
integer<int64>
required

Transaction ID

status
string
required

Name of the status

status_hardvalue
string
required

Hard value of status

status_id
integer<int32>
required

Status id, all statuses can be retrived using API getTransactionStatuses

type
string
required

Type name

type_id
integer<int32>
required

Type id, all transaction types can be retrieved using API getTransactionTypes

compensation_amt
integer

Payment compensation amount

inbound
object

Information about inbound transaction

mandate_information
object

Provides further details of the direct debit mandate signed between the creditor and the debtor.

origin_bic
string

Payment return originator bic

origin_name
string

Payment return originator name

origin_reason_code
string

Payment return originator reason code

origin_reason_info
string

Payment return originator reason information

outbound
object

Information about outbound transaction

parent_trx_amt
integer

Original transaction amount

parent_trx_id
integer<int64>

Transaction id for parent transaction

rtrn_chrgs_amt
integer

Payment return tax amount

sepa_trx_id
string

Sepa transaction ID

sequence_type
enum<string>

Identifies the direct debit sequence, such as first, recurrent, final or one-off.

Available options:
FRST,
RCUR,
FNAL,
OOFF
status_reason
string

If there is some error, it is displayed in status reason or processing info tags

unaccounted_tax_amt
integer

Payment unaccounted tax amount

updated_at
string<date-time>

Time and date when transaction was last updated

Last modified on July 3, 2026