Docs

Direct Debit · Get started

Concepts

Terms used across Direct Debit, and how a charge moves from mandate to result.

Domiciliación Bancaria

The Mexican banking standard for direct debit. It is regulated by Banxico and the CNBV, and lets merchants pull payments directly from a customer’s bank account or debit card, as long as the customer authorized the collection with a mandate. Payers keep the right to dispute a charge within 90 days.

Mandate

The authorization a customer gives a merchant to collect recurring or one-off direct debits. The mandate is the legal basis for every charge. You obtain and keep the mandate: Monato does not manage mandates.

CLABE

Clave Bancaria Estandarizada: an 18-digit Mexican bank account identifier used to route direct debit transfers. The first three digits identify the bank; the following digits identify the branch and account.

Instrument

A stored representation of a customer’s payment method. There are two types:

Type Description
mx_clabe An 18-digit CLABE bank account identifier
mx_direct_debit_card A Mexican debit card number with an associated bank

You can create instruments as stored (tokenized) objects through the API, or send them inline with each charge without storing them. Stored instruments let you filter and report by instrument. See Customers and instruments.

Customer

The identifying information of a payer: name, RFC or CURP document number, email and phone number. Like instruments, customers can be stored as objects or sent inline with each charge. Stored customers let you group and filter charges by customer.

RFC, CURP and passport

The document types a customer can have:

  • RFC (Registro Federal de Contribuyentes): the tax ID issued by the SAT to individuals and businesses. Alphanumeric, typically 12 to 13 characters. API value: mx_rfc.
  • CURP (Clave Única de Registro de Población): the national population registry key issued to individuals. 18 alphanumeric characters. API value: mx_curp.
  • Passport. API value: passport.

Charge

A single direct debit collection request. A charge has an amount, a currency (MXN), an instrument, a customer and an optional merchant reference. It moves through a defined set of statuses from creation to final result.

Penny validation

An automatic ownership check for new instruments (CLABE or debit card). Monato sends a MXN $0.01 deposit to the account, reads the beneficiary on the CEP that Banxico returns, and compares it with the customer you declared. If it does not match, the charge is canceled. You do not need to take any action. See Penny validation.

Batch file

A CSV file of charge requests, up to 30 MB, submitted over SFTP or in the Portal. Monato processes the file and returns pre-validation and response files. See Bulk collections over SFTP and Batch file specification.

Settlement

The transfer of collected funds from the banking network to you. Timing depends on when charges are submitted relative to the daily cutoff.

Chargeback

A reversal of a confirmed charge, requested by the customer through their issuing bank. Customers may request a chargeback up to 90 days after the debit. The amount is deducted from your outstanding balance. See Chargebacks.

Webhook

An HTTP callback Monato sends to your endpoint when an event happens, such as a charge result or a chargeback. See Webhook events.

Charge lifecycle

Every charge follows the same lifecycle, whether it was submitted through the API or a batch file.

Charge flow
Customer          Merchant          Monato           Banking Partners
   |                  |               |                    |
   |--- Accepts DD -->|               |                    |
   |    mandate       |               |                    |
   |                  |-- Requests -->|                    |
   |                  |   DD charge   |                    |
   |                  |               |-- Penny            |
   |                  |               |   validation       |
   |                  |               |                    |
   |                  |               |-- Risk             |
   |                  |               |   verification     |
   |                  |               |                    |
   |                  |<- Verification|                    |
   |                  |   response    |                    |
   |                  |               |--- Sends charges ->|
   |                  |               |    for processing  |
   |                  |               |                    |
   |                  |               |<-- Bank responses -|
   |                  |<- Results     |                    |
   |                  |   delivered   |                    |
  1. The customer accepts the mandate. This happens outside Monato. You capture and store the mandate.
  2. You request a charge through the REST API or a batch file over SFTP.
  3. Penny validation (new instruments only). It runs before the risk engine. If it fails, the charge is canceled and does not reach the risk engine. It runs automatically, and a webhook is sent when it completes.
  4. Risk verification. If the risk engine rejects the charge, it is canceled and you get a charge_result event with risk_status: "cancelled_by_risk".
  5. Verification response. Monato confirms the charge was accepted for processing, or reports a rejection before processing.
  6. Charges go to banking partners in a batch at the daily cutoff: 3:00 PM Mexico City time on business days.
  7. Bank responses. Banking partners confirm or decline each charge, typically by the next business day.
  8. Results delivered. Monato sends a charge_result webhook and makes the result available in the API and the Portal.