Skip to main content
Pay a bank account in Mexican pesos (MXN). For the general flow, see Payout lifecycle. The quote, confirm, and webhook steps are the same as for EUR, and so is the fee model. Supported payout currencies compares every payout currency side by side.

Before you start

  • Your organization must be enabled for MXN. Until it is, a request in it fails with 403 PAYOUT_CURRENCY_NOT_ENABLED.
  • The recipient’s account needs the Mexican-peso receiving capability, ACTIVE before you pay. Capabilities lists the id, and Be paid in Mexican pesos lists the identity the recipient owes.
  • MXN has no sending capability. Don’t send a sender on a quote or payout, or it fails with 422 SENDER_NOT_SUPPORTED.
  • Every POST needs an Idempotency-Key header. See Idempotency.

Register the bank account

A Mexican bank account is identified by its CLABE and paid over SPEI, which settles each transfer individually in real time. The recipient owes an RFC or a CURP, or for an organization an RFC. See Be paid in Mexican pesos. Register the account with routingFamily MX_LOCAL and the CLABE as accountNumber. Send accountHolderName only if the bank holds the account under a different name from the account’s.
cURL
An ownership check (SPEI_ACCOUNT_OWNERSHIP) starts when you create the address. It resolves later, usually within minutes and only during Mexican banking hours. The address doesn’t wait for it, so it can be ACTIVE while the check is still PENDING. Only a NO_MATCH result rejects the address.

Memos

On SPEI, a receiverMemo is at most 40 letters, digits, and spaces. A memo that is too long or holds any other character fails with 400 RECEIVER_MEMO_INVALID. OpenFX never truncates it.

Track settlement

settlementTraceId on a SPEI payout has the key TRACKING_KEY, the clave de rastreo that the receiving bank uses to find the transfer. Trace a payout with the receiving bank lists the key for every rail.

Common mistakes

  • Naming a sender. MXN has no sending capability. Remove sender from the quote and the payout.
  • Sending purpose. Only AED takes one.
  • Treating a pending ownership check as a block. A payout can be created while SPEI_ACCOUNT_OWNERSHIP is still PENDING. A later NO_MATCH still rejects the address.

What’s next

Payout lifecycle

The general payout flow.

Capabilities

The receiving capability and identity each currency needs.

EUR payout integration guide

Paying euro accounts over SEPA or SWIFT.

COP payout integration guide

Paying Colombian bank accounts and Bre-B keys.

AED payout integration guide

Paying UAE bank accounts by IBAN.

Payment Webhooks

Every payout and address event.