operation_type
to "withdrawal"
.
Availability NoticeWithdrawals are currently only available for beneficiaries in Mexico. Support for additional countries will be added in future releases.
Available Transfer MethodsThere are two transfer methods available:
- SPEI: Bank transfers processed same business day during banking hours.
- Debit Card: Instant deposits available within 5-15 minutes, 24/7.
Step 1: Choose Your Transfer Method
Select the transfer method that fits your payout needs. Here you can find a quick comparison between the two methods:Aspect | SPEI | Debit Card |
---|---|---|
Processing Time | Same business day | 5-15 minutes |
Availability | Banking hours only | 24/7 |
Account Type | 18-digit CLABE | 16-digit card number |
Best For | Regular payments, larger amounts | Urgent payments, instant cashouts |
SPEI Bank Transfer
SPEI (Sistema de Pagos Electrónicos Interbancarios) is Mexico’s standard electronic payment system for bank-to-bank transfers. You should use SPEI when:- Making regular business payments like commissions or vendor payments.
- Processing payroll and salary transfers.
- Sending larger amounts where cost-effectiveness is important.
- Same-day processing during business hours is acceptable.
Key requirementsPay attention to the following specifics for SPEI withdrawals:
- The
transfer_method
value must be"SPEI"
. - The
beneficiary.account
must be a valid 18-digit CLABE (Clave Bancaria Estandarizada). - Processing occurs during banking hours (typically 9 AM - 5 PM MXT, Monday-Friday).
Debit Card Instant Transfer
Debit card withdrawals provide near-instant fund delivery directly to the beneficiary’s debit card. You should use Debit Card withdrawals when:- Making urgent or emergency payments that can’t wait for business hours.
- Paying gig economy workers who need immediate access to funds.
- Providing instant cashouts or on-demand withdrawals.
- Processing customer refunds that require immediate availability.
Key requirementsPay attention to the following specifics for debit card withdrawals:
- The
transfer_method
value must be"DEBIT_CARD"
. - The
beneficiary.account
must be a valid 16-digit debit card number. - Processing occurs 24/7, including weekends and holidays.
- Funds are typically available within 5-15 minutes.
Step 2: Make the Withdrawal Request
Create and send your withdrawal request using the Process Transaction endpoint withoperation_type
set to "withdrawal"
.
The request must have the following fields:
Field | Description |
---|---|
operation_type | Always set to "withdrawal" for payout operations |
amount | The withdrawal amount in the specified currency |
currency | Currency code (currently only "MXN" is supported) |
transfer_method | Either "SPEI" or "DEBIT_CARD" |
beneficiary | Complete beneficiary information object |
beneficiary
object contains the recipient’s information for the withdrawal. This object specifies who will receive the funds and how they should be delivered. You can see the properties of the beneficiary
object in the table below:
Field | Description |
---|---|
account | The destination account number (18-digit CLABE for SPEI transfers, or 16-digit card number for debit card deposits) |
name | Full legal name of the beneficiary as it appears on their bank account or card |
rfc | Mexican tax identification number (RFC) - required for compliance and verification |
institution | Bank institution code (you can find codes in our Mexican Banking Reference) |
email | Beneficiary’s email address for notifications and record-keeping |
Step 3: Handle the Response
Upon successful request, the API will return an immediate acknowledgment. Here you find a description of the fields in the response:Field | Description |
---|---|
id | Unique transaction identifier |
operation_type | Confirms this is a withdrawal operation |
status | Current transaction status (initially processing ) |
amount | Withdrawal amount as submitted |
currency | Currency code |
merchant_reference | Your internal reference identifier |
created_at | ISO 8601 timestamp when the withdrawal was created |
status_code | HTTP status code (201 for successful creation) |
id
field to monitor progress.
Step 4: Check the Transaction Status
Since withdrawals are asynchronous operations, you need to monitor the transaction to check the final status. Use the transactionid
from the response to query the Get Transaction Status endpoint.
ImportantAlways check the
id
and status
fields from the response. The id
is required to monitor the withdrawal progress, and the status
tells you the current state of the transaction.Status | Description | Next Steps |
---|---|---|
pending | The withdrawal request has been received and is queued | Monitor for status change |
processing | The transfer is currently being processed by the bank | Wait for completion |
success | The transfer was completed successfully | The transaction is complete |
failed | The transfer failed due to a processing or system error | Check the error details and retry if appropriate |
declined | The transfer was declined by the bank (e.g., invalid account) | Correct beneficiary data and create a new withdrawal |
Monitoring Options
You can monitor withdrawal status using one of these methods:- Webhooks (Recommended): configure webhooks to receive real-time status updates automatically.
- Status Polling: check transaction status periodically using the Get Transaction Status endpoint.
Next Steps
- Set up webhooks to receive real-time notifications when withdrawal statuses change.
- Check out HTTP response codes to understand how to handle different API responses and error scenarios.
- Explore rate limits to ensure your withdrawal processing doesn’t exceed API usage limits.