Realtime Returns
Column allows you to return incoming Realtime transfers if you receive a transfer in error. You can use our Realtime Return API to initiate a new outgoing Realtime transfer to send funds back to the originating financial institution that sent the transfer.
When you return an incoming Realtime transfer, the status of the original transfer is not changed and the return transfer follows its own lifecycle as if it were an ordinary outgoing Realtime transfer. See Realtime Notifications and States for more information.
Return Reasons
You can return an incoming Realtime transfer at any time after receipt. We currently only allow incoming Realtime returns for the following reasons:
- The beneficiary account number is invalid
- The beneficiary information in the Realtime transfer does not match the corresponding information on the account
- The beneficiary is refusing the Realtime transfer
- The beneficiary is reversing the Realtime transfer as per the sender's request
If there is a an additional reason you are interested in supporting, please email us at developers@column.com.
Linking the Original Transfer and Reversal Transfer
The return_pair_transfer_id
field of the realtime_transfer
object is used to link the original transfer and the reversal transfer as:
original_transfer.return_pair_transfer_id = reversal_transfer.id
reversal_transfer.return_pair_transfer_id = original_transfer.id
The original_transfer.return_pair_transfer_id
is finalized once the return_transfer.status
is completed
and no other reversals on original_transfer
will be permitted. Further, another reversal cannot be initiated on original_transfer
while return_transfer
is in progress. A new reversal can only be initiated if and when return_transfer.status
becomes rejected
.
Return Requests on Incoming Transfers
It's possible Column receives a return request from the Realtime transfer originator on an incoming transfer. Column exposes Realtime return requests to you via API so that you may accept or reject a return request.
You'll receive a return request with event realtime.incoming_return_request.pending
when Column receives the return request. You may then accept or reject the request. If you accept a request, Column will create a new outgoing transfer linked to the original incoming transfer.
When rejecting a Realtime Return Request, you can provide a reason to explain why the return request is being rejected. The following reasons are supported:
beneficiary_account_closed
- Account is closednon_sufficient_funds
- Amount of funds available to cover specified message amount is insufficientfunds_already_returned
- Already returnedrejected_by_beneficiary
- Rejected by the beneficiarylegal_decision
- request rejected due to regulatory or legal rulesno_response_from_beneficiary
- Return request rejected due to no response from the beneficiary
Additionally, you can provide a comment to explain why the return request is being rejected.
Only Incoming Realtime Transfers May Be Returned
We currently only support returns and return requests on incoming Realtime transfers. If you’d like to recall an outgoing Realtime transfer, contact our Payment Operations team at paymentops@column.com.