Payins on dedicated Account Numbers

What you'll build

Each customer (or each order) gets its own Account Number (CLABE in Mexico). When money lands at that Account Number, Fintoc sends you a webhook with the metadata you attached when you created it — so you know instantly which customer paid, without parsing bank statements or matching amounts.

When to use it

  • Lending installments, insurance premiums, SaaS subscriptions.
  • Any flow with identifiable customers who pay you repeatedly.
  • Marketplaces where each buyer needs a stable place to deposit.

How it works

1. Your backend creates an Account Number with metadata.customer_id.
2. Fintoc returns an Account Number.
3. Your customer sends a Transfer to that Account Number.
4. Fintoc fires transfer.inbound.succeeded with your metadata attached.
5. Your backend marks the invoice paid.
sequenceDiagram
    autonumber
    participant You as Your backend
    participant Fintoc
    participant Customer

    You->>Fintoc: Create Account Number (with metadata.customer_id)
    Fintoc-->>You: Account Number 738969…
    You-->>Customer: Show this Account Number on the invoice
    Customer->>Fintoc: SPEI/TEF to that Account Number
    Fintoc->>You: transfer.inbound.succeeded (includes your metadata)
    You->>You: Mark invoice paid

One CLABE per customer, or one per order?

One per customerOne per order
CLABEs needed# of customers# of open orders
ReconciliationMatch by customer, then amountOne-to-one. Strongest.
CleanupDelete when customer offboardsDelete when order is paid

Both patterns are supported. One per order is the strongest reconciliation model — disable or delete the CLABE as soon as the order is paid to prevent double payments.

Implementation checklist

  1. Create the Account Number with metadata. See Receive transfers → Create an Account Number.
  2. Handle the webhook. Subscribe to transfer.inbound.succeeded; read data.account_number.metadata. Payload reference: Receive transfers → Webhook payload.
  3. Harden with business rules. Set options.min_amount / max_amount to auto-reject wrong amounts, and disable the CLABE after payment. See Add logic to Account Numbers.
  4. Clean up unused Account Numbers as customers offboard or orders close. See Manage your Account Numbers. You can have up to 1,000,000 Account Numbers. If you've created Account Numbers you no longer use, disable or delete them. Stale Account Numbers keep accepting transfers, which can pollute your reconciliation and statements.

What’s Next