Procesar transacción
Procesa pagos y retiros con una sola llamada. Este endpoint unificado maneja todos los tipos de transacción según el campo `operation_type`.
Autorización
Authorization Your public API key, with the word Token and a space in front of it. Example: Token 6534bc0a7e1f4d2b9c8e3a5f7b1d2c4e6f8a9b0c — that whole value is the header. Sending the key alone returns 401 'Authentication credentials were not provided'. In this playground you may paste just the key; the prefix is added for you.
In: header
Cuerpo de la petición
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Cuerpo de la respuesta
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/process/" \ -H "Content-Type: application/json" \ -d '{ "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": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"operation_type": "payment",
"status": "Pending",
"amount": 0,
"currency": "string",
"client_reference": "string",
"payment_id": 0,
"transaction_id": "string",
"provider": "string",
"created_at": "2019-08-24T14:15:22Z",
"status_code": 0,
"next_action": {
"redirect_to_url": {
"url": "http://example.com",
"return_url": "http://example.com",
"verify_transaction_status_url": "string"
}
},
"payment_instructions": {
"reference": "string",
"account_number": "string",
"bank_name": "string",
"amount": 0,
"expires_at": "2019-08-24T14:15:22Z",
"reference_code": "string",
"barcode": "string",
"store_name": "string",
"expiration_date": "2019-08-24T14:15:22Z",
"instructions": [
"string"
],
"voucher_pdf": "http://example.com"
}
}{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"operation_type": "payment",
"status": "Pending",
"amount": 0,
"currency": "string",
"client_reference": "string",
"payment_id": 0,
"transaction_id": "string",
"provider": "string",
"created_at": "2019-08-24T14:15:22Z",
"status_code": 0,
"next_action": {
"redirect_to_url": {
"url": "http://example.com",
"return_url": "http://example.com",
"verify_transaction_status_url": "string"
}
},
"payment_instructions": {
"reference": "string",
"account_number": "string",
"bank_name": "string",
"amount": 0,
"expires_at": "2019-08-24T14:15:22Z",
"reference_code": "string",
"barcode": "string",
"store_name": "string",
"expiration_date": "2019-08-24T14:15:22Z",
"instructions": [
"string"
],
"voucher_pdf": "http://example.com"
}
}{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"operation_type": "payment",
"status": "Pending",
"amount": 0,
"currency": "string",
"client_reference": "string",
"payment_id": 0,
"transaction_id": "string",
"provider": "string",
"created_at": "2019-08-24T14:15:22Z",
"status_code": 0,
"next_action": {
"redirect_to_url": {
"url": "http://example.com",
"return_url": "http://example.com",
"verify_transaction_status_url": "string"
}
},
"payment_instructions": {
"reference": "string",
"account_number": "string",
"bank_name": "string",
"amount": 0,
"expires_at": "2019-08-24T14:15:22Z",
"reference_code": "string",
"barcode": "string",
"store_name": "string",
"expiration_date": "2019-08-24T14:15:22Z",
"instructions": [
"string"
],
"voucher_pdf": "http://example.com"
}
}{
"error": {
"code": "string",
"message": "string",
"type": "request_error",
"details": {}
},
"request_id": "string"
}{
"error": {
"code": "string",
"message": "string",
"type": "request_error",
"details": {}
},
"request_id": "string"
}{
"error": {
"code": "string",
"message": "string",
"type": "request_error",
"details": {}
},
"request_id": "string"
}{
"error": {
"code": "string",
"message": "string",
"type": "request_error",
"details": {}
},
"request_id": "string"
}{
"error": {
"code": "string",
"message": "string",
"type": "request_error",
"details": {}
},
"request_id": "string"
}{
"error": {
"code": "string",
"message": "string",
"type": "request_error",
"details": {}
},
"request_id": "string"
}Ejemplos por tipo de operación
El ejemplo de arriba es un pago con tarjeta tokenizada. El mismo endpoint cubre los demás
casos: cambia operation_type y los campos propios del método.
Pago SPEI
{
"operation_type": "payment",
"amount": 500.00,
"currency": "MXN",
"customer": { "name": "Carlos Eduardo López", "email": "carlos.lopez@empresa.mx" },
"payment_method": { "type": "SPEI" },
"client_reference": "invoice-456"
}El flujo completo —referencia de pago, expiración y conciliación— está en Pagos APM.
Retiro SPEI
{
"operation_type": "withdrawal",
"amount": 750.00,
"currency": "MXN",
"reference": "payout-001",
"transfer_method": "SPEI",
"description": "Commission payment",
"beneficiary": {
"account": "012345678901234567",
"name": "Roberto Martínez García",
"rfc": "MAGR850920XY1",
"institution": "40012",
"email": "roberto.martinez@email.com"
}
}Los estados, webhooks y el manejo de rechazos están en Retiros.
Pago con tarjeta con External 3DS
Si autenticaste al tarjetahabiente con tu propio proveedor de 3DS, pasa el resultado en un objeto
threeDomainSecure de nivel superior (y la red en payment_method.card_brand). Tonder cobra con
él — sin reto. Requiere habilitación en la cuenta; solo API Direct.
{
"operation_type": "payment",
"amount": 150.00,
"currency": "MXN",
"customer": { "name": "Jane Doe", "email": "jane@testuser.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",
"card_brand": "mastercard"
},
"threeDomainSecure": {
"ucaf": "kCO52e75N318oAB3MPZU6EhB2Td6",
"eci": "02",
"directoryServerTransactionID": "9e8c4ff6-23d9-4fba-8446-6e8e9d13f42e",
"specificationVersion": "2.2.0"
},
"client_reference": "ORD-001",
"return_url": "https://tonder.io"
}Campos, reglas de ECI, ubicación y errores están en External 3DS.
