Casos de prueba — Retiros
Las cuentas de prueba de sandbox y cómo forzar cada estado terminal de un retiro.
Prueba el flujo de retiros en Sandbox con un solo juego de cuentas, siempre con la institución
40012. Crea el retiro, apruébalo, y la cuenta que elegiste decide el desenlace.
El detalle completo de la petición, la respuesta, el paso de aprobación, el flujo de estados y los webhooks está en Retiros.
Estas cuentas son para México. Para pagos en Chile y Argentina, los datos de prueba del sandbox te los da tu contacto de Tonder —consulta Retiros en Chile y Argentina.
Cuentas de prueba en Sandbox
Válidas únicamente en Sandbox. Usa siempre la institución 40012.
| Cuenta | Método | Desenlace esperado |
|---|---|---|
012969100000000110 | SPEI | PAID_FULL |
646969100000000214 | SPEI | PAID_FULL |
012969100000000013 | SPEI | FAILED |
012969100000000026 | SPEI | REFUNDED, por sí sola, entre minutos y una hora después de pagarse |
4111111111111111 | DEBIT_CARD | PAID_FULL |
Los desenlaces están en los nombres que usan las consultas; los webhooks anuncian los mismos
estados como Success, Failed y Returned. Consulta
Dos vocabularios.
La CLABE de devolución es la que te permite ejercitar el tercer webhook, withdrawal_Returned,
que es el caso que más integraciones dejan sin cubrir.
Si estos datos te son rechazados, escríbenos antes de seguir: puede ser que tu cuenta de pruebas requiera otra configuración.
Cómo forzar cada estado terminal
Todos los casos empiezan igual: crea el retiro y después actúa sobre él con
POST /api/v1/withdrawals/perform_action/, enviando el identificador del retiro en el campo
id — el withdrawal_id de la respuesta de /process/. Consulta Aprobar.
| Estado terminal | Cómo llegar |
|---|---|
Success | Crea el retiro con una CLABE que paga y apruébalo: {"id": "<withdrawal_id>", "action": "approve"}. Avanza solo hasta Success en segundos. |
Failed | Crea el retiro con la CLABE que falla y apruébalo. O, sobre cualquier retiro pendiente: {"id": "<withdrawal_id>", "action": "fail"}. |
Declined | Rechaza el retiro, sin importar la cuenta: {"id": "<withdrawal_id>", "action": "reject"}. |
Cancelled | Cancélalo mientras está pendiente: {"id": "<withdrawal_id>", "action": "cancel"}. |
Returned | Dos formas. Crea el retiro con la CLABE de devolución 012969100000000026, apruébalo y espera: llega a Success y pasa solo a Returned, entre minutos y una hora después. O lleva cualquier retiro a Success con approve, espera a que llegue, y después, sobre ese mismo retiro ya pagado: {"id": "<withdrawal_id>", "action": "refund"}. En ambos casos el retiro pasa a Returned y se emite el evento withdrawal_Returned. |
Cadena completa de un retiro devuelto: Pending → Processing → Success → Returned.
