Skip to main content
Available in Mexico and Chile
By the end of this guide, you can return an inbound transfer and handle the webhook events that report the result. Use the return transfer endpoint up to 90 days after the original inbound transfer. Base the return on your business logic. For example, return a transfer when you expect a specific amount but receive a different one.

Trigger the return

Call the return transfer endpoint with the transfer_id and Fintoc-JWS-Signature header. The header contains a JSON Web Signature (JWS) for the request:
You can only return a transfer in the succeeded status. If the transfer has another status, Fintoc responds with a 409 Conflict status and the invalid_transfer_status error code.

Returns in Chile

In Chile, you can return an inbound transfer as soon as it reaches the succeeded status if the sender’s account is also at Fintoc. If the transfer comes from another bank, wait 90 seconds after the transfer reaches succeeded before you return it. If you call the endpoint earlier, Fintoc responds with the same 409 Conflict status and invalid_transfer_status error code, and the error message says that Fintoc received the transfer too recently. Retry the request after the 90-second window.

Return a transfer from the Dashboard

You can also return an inbound transfer from the Fintoc Dashboard:
  1. Go to the transfers list and find the inbound transfer with the succeeded status.
  2. Open the transfer’s options menu and select Return.
  3. Review the amount and the recipient account. The Dashboard shows the standardized Mexican bank account number (CLABE) for Mexican transfers and the account number for Chilean transfers.
  4. Select Confirm return and enter the 6-digit code from your authenticator app.
The Return option only appears if you have permission to return transfers and Fintoc allows the return for that transfer. For Chilean transfers from another bank, reload the transfer after the 90-second window to see the option.

Handle the return result

Handle the following webhook events to track the outcome of a return:

Test the integration

Confirm your integration in test mode before going live. Trigger a return for a simulated inbound transfer and check that your webhook handler receives the expected event:
  • For a successful return, expect the transfer.inbound.returned event and a transfer with status set to returned.
  • For a failed return, expect the transfer.inbound.return_failed event and a transfer with status set to succeeded.
See Test your integration for the steps to simulate both scenarios.