POST
/
process
/
curl --request POST \
--url https://stage.tonder.io/api/v1/process/ \
--header 'Content-Type: application/json' \
--data '{
"operation_type": "payment",
"amount": 150,
"currency": "MXN",
"customer": {
"name": "Ana María Rodríguez",
"email": "ana.rodriguez@email.com"
},
"payment_method": {
"type": "CARD",
"card_number": "9230-0892-4469-1474",
"cardholder_name": "c05d89b2-299c-4f93-b49a-42be00d3b64b",
"cvv": "d31f0da3-0ed3-4ad8-8b68-14c2669a99a7",
"expiration_month": "e401a32e-4174-424f-9688-727005f6a80e",
"expiration_year": "bd9ccc23-3d00-4109-9626-fc6581389063"
},
"client_reference": "order-789",
"return_url": "https://mystore.com/payment/return"
}'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "operation_type": "payment",
  "status": "pending",
  "amount": 123,
  "currency": "<string>",
  "client_reference": "<string>",
  "payment_id": 123,
  "transaction_id": "<string>",
  "provider": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "status_code": 123,
  "next_action": {
    "redirect_to_url": {
      "url": "<string>",
      "return_url": "<string>",
      "verify_transaction_status_url": "<string>"
    }
  },
  "payment_instructions": {
    "reference": "<string>",
    "account_number": "<string>",
    "bank_name": "<string>",
    "amount": 123,
    "expires_at": "2023-11-07T05:31:56Z",
    "reference_code": "<string>",
    "barcode": "<string>",
    "store_name": "<string>",
    "expiration_date": "2023-11-07T05:31:56Z",
    "instructions": [
      "<string>"
    ],
    "voucher_pdf": "<string>"
  }
}
The Authorization needs to be in the following format:Authorization: Token <YOUR_API_KEY>
Process both payments and withdrawals through a single API call. This unified endpoint handles all transaction types based on the operation_type field.

Additional Information

This endpoint supports multiple payment methods including:
  • Card Payments: Credit and debit cards with optional 3D Secure
  • SPEI: Mexican bank transfers (24/7 availability)
  • OXXO: Cash payments at OXXO convenience stores
  • Mercado Pago: Digital wallet payments
  • SafetyPay: Cash payments at participating locations
For detailed information about each payment method, see the Payment Methods Overview.

Body

application/json
operation_type
enum<string>
required

Type of transaction to process

Available options:
payment,
withdrawal
amount
number
required

Transaction amount

Required range: 0.01 <= x <= 15000000Must be a multiple of 0.01
customer
object
required
currency
enum<string>
default:MXN

Currency code

Available options:
MXN,
USD
client_reference
string

Your reference identifier

Maximum length: 255
metadata
object

Additional data for your records

return_url
string<uri>

URL for redirection after 3DS processing

payment_method
object
transfer_method
enum<string>

Transfer method for withdrawals

Available options:
SPEI,
DEBIT_CARD
reference
string

Your withdrawal reference

description
string

Withdrawal description

Maximum length: 500
beneficiary
object

Response

Transaction processed successfully

id
string<uuid>

Unique transaction identifier

operation_type
enum<string>

Type of transaction

Available options:
payment,
withdrawal
status
enum<string>

Current transaction status

Available options:
pending,
on_hold,
processing,
sent_to_provider,
success,
paid_full,
in_transit,
authorized,
canceled,
declined,
rejected,
failed,
Unknown,
expired
amount
number

Transaction amount

currency
string

Currency code

client_reference
string

Your reference identifier

payment_id
integer

Payment ID (for payments)

transaction_id
string

Provider transaction ID

provider
string

Payment provider used

created_at
string<date-time>

ISO 8601 timestamp of creation

status_code
integer

HTTP status code

next_action
object
payment_instructions
object