Overview
A return occurs when a completed payment is sent back by the receiving institution. This is not something you initiate — it happens externally. Common reasons include incorrect account details, closed accounts, or insufficient funds at the receiving bank.ACH Return Codes
| Code | Reason | Description |
|---|---|---|
| R01 | Insufficient funds | Receiving account had insufficient funds |
| R02 | Account closed | Receiving account has been closed |
| R03 | No account / unable to locate | Account number does not match |
| R04 | Invalid account number | Account number structure is invalid |
| R08 | Payment stopped | Receiver placed a stop payment |
| R10 | Customer advises not authorized | Receiver claims the payment was not authorized |
| R16 | Account frozen | Receiving account is frozen |
| R29 | Corporate customer advises not authorized | Corporate receiver did not authorize |
SWIFT Return Reasons
| Reason | Description |
|---|---|
| AC04 | Account closed |
| AC06 | Account blocked |
| AM05 | Duplicate payment |
| BE04 | Missing creditor address |
| RC01 | Incorrect BIC |
| FOCR | Following cancellation request |
Return Flow
When a payment is returned:- The payment status transitions from
completedtoreturned. - A
payment.returnedwebhook fires with the return reason. - The returned funds are credited back to the source account.
- You must decide how to handle the return by submitting a return action.
Handling Return Actions
When a payment is returned, you have three options:| Action | Description | When to use |
|---|---|---|
accept | Accept the return. The returned funds remain in your account. No further action. | The return is legitimate (e.g., wrong account, closed account). |
contest | Dispute the return with the receiving institution. | You believe the return is incorrect (e.g., R10 claim that you have authorization for). |
repair | Correct the payment details and resubmit. Creates a new payment with corrected information. | The return was due to incorrect details (e.g., wrong account number, missing info). |
Code Example: Handle a Return
Contesting a Return
Repairing a Return
When you repair a return, you provide corrected payment details. The API creates a new payment with the corrected information:Recommended Return Handling Pattern
Return vs. Reversal
| Scenario | Who initiates | When | Payment status | Funds |
|---|---|---|---|---|
| Return | Receiving institution | After delivery | returned | Returned to source account |
| Reversal | OpenFX or network | After delivery (fraud, error) | reversed | Reversed to source account |
API Reference
- POST /payments//actions/return-action — Submit return action
- GET /payments/ — Get payment (includes return details)