Send payouts to users or suppliers

What you'll build

From your Fintoc Account, you send money to any third-party bank account. In Mexico, payouts use the Sistema de Pagos Electrónicos Interbancarios (SPEI) rail. In Chile, payouts use the Transferencia Electrónica de Fondos (TEF) rail. Each rail sets its own settlement timing. You track every status change through webhooks.

When to use it

  • Loan disbursements and refunds.
  • Marketplace payouts to sellers.
  • Wallet withdrawals.
  • Vendor and supplier payments.

How it works

1. Your backend POSTs /v2/transfers.
2. Fintoc submits to SPEI (MX) or TEF (CL).
3. Webhook fires: transfer.outbound.succeeded / .rejected / .failed.
4. Your backend updates the user or order.
sequenceDiagram
    autonumber
    participant You as Your backend
    participant Fintoc
    participant Rail as SPEI / TEF

    You->>Fintoc: POST /v2/transfers
    Fintoc-->>You: Transfer pending
    Fintoc->>Rail: Submit
    Rail-->>Fintoc: Settled / rejected
    Fintoc->>You: transfer.outbound.succeeded · .rejected · .failed

Implementation checklist

  1. Fund the source Account. Send money from your company's external bank account to the root_account_number of your Fintoc Account.
  2. Create the transfer. Full request format, MX and CL examples, counterparty fields: Send transfers → Create a transfer.
  3. Handle the webhooks. Event catalog and status semantics: Send transfers → Monitor status.
  4. (Optional) Verify the destination first if a user typed in the standardized Mexican bank account number (CLABE). See Verify a CLABE before payout.

A common pitfall

Webhooks can arrive out of order. Always branch on data.status, not on which event arrived first. See Send transfers → Monitor status for details.