Débito directo en modo de pruebas
Simula cobros pagados y rechazados de Débito directo con CLABEs de prueba.
Resumen
Con tu llave privada de pruebas puedes integrar Débito directo de principio a fin sin mover dinero. Los cobros en modo de pruebas no se envían al banco: Conekta decide el resultado según la CLABE del método de pago, para que puedas probar cómo tu sistema maneja un cobro pagado y uno rechazado.
Cómo funciona
El cobro sigue los mismos tiempos que en producción:
sequenceDiagram
participant Tu as Tu servidor
participant Conekta
Tu->>Conekta: POST /orders (llave de pruebas)
Conekta-->>Tu: Orden en pending_payment
Note over Conekta: Corte diario 16:30 (CDMX)
Note over Conekta: Siguiente mañana, 9:00 a 13:00 (CDMX)
Conekta-->>Tu: Webhook order.paid o charge.declined
- Creas la orden con un cliente cuyo método de pago usa una CLABE de prueba. La orden queda en
pending_payment. - Corte diario. Las órdenes creadas antes de las 16:30 (hora de CDMX) de un día hábil entran al corte de ese día; las posteriores, al del siguiente día hábil.
- Resultado. La mañana siguiente al corte, entre las 9:00 y las 13:00 (CDMX), la orden pasa a
paidodeclinedsegún la tabla de abajo, y recibes el webhook correspondiente.
CLABEs de prueba
| CLABE | Resultado | Motivo simulado |
|---|---|---|
014180000000000042 | Pagado | — |
014180000000000013 | Rechazado | Fondos insuficientes |
014180000000000026 | Rechazado | Cuenta inexistente |
014180000000000039 | Rechazado | Cuenta bloqueada |
014180000000000055 | Rechazado | El cliente ordenó a su banco no pagar a este emisor |
| Cualquier otra CLABE válida | Pagado | — |
La CLABE debe coincidir completa (18 dígitos). Estas CLABEs solo tienen efecto con la llave de pruebas; no son cuentas reales.
PrecauciónHoy el motivo del rechazo no se devuelve en la orden:
failure_codeyfailure_messagellegan vacíos y la orden solo muestra el estadodeclined. Usa las distintas CLABEs para probar tu manejo de rechazos, no para leer el motivo.
Prerrequisitos
- Tu llave privada de pruebas.
- Un cliente con un método de pago de Débito directo registrado con una CLABE de la tabla y listo para cobros. Regístralo como en Débito directo - Cargo bajo demanda y, si tu cuenta tiene Verificación KYC, completa el flujo hasta que la domiciliación quede Activa.
- Un webhook configurado para recibir el resultado.
Verificación KYC en modo de pruebas
Si tu cuenta tiene Verificación KYC, el cliente que registras con la llave de pruebas pasa por los mismos pasos que en producción. La diferencia está en la validación de monto: no se hace ningún depósito en la cuenta, así que el cliente no tiene que esperarlo.
En ese paso, ingresa el monto 0.99. El resto de los pasos se completan igual que en producción.
NotaEl modo de pruebas lo define la llave con la que creas al cliente. Si lo creas con la llave de producción, la validación de monto hace un depósito real y tienes que capturar el monto recibido.
Ejemplo: probar un rechazo
Registra el método de pago de tu cliente con la CLABE 014180000000000013:
"payment_sources": [{
"type": "direct_debit_recurrent",
"clabe": "014180000000000013",
...
}]Cuando el método de pago esté listo para cobros, crea la orden con el id del cliente y el de su método de pago (off_ref_...):
curl -X POST https://api.conekta.io/orders \
-u key_xxxxxxxxxxxxxxxxxxxxxxxx: \
-H "Accept: application/vnd.conekta-v2.3.0+json" \
-H "Content-Type: application/json" \
-d '{
"currency": "MXN",
"customer_info": { "customer_id": "cus_2tTU5GdkwZvBmS3fN" },
"line_items": [{ "name": "Membresía mensual", "unit_price": 20000, "quantity": 1 }],
"charges": [{
"payment_method": { "type": "direct_debit", "payment_source_id": "off_ref_2tTU5GdkwZvBmS3fT" }
}]
}'La orden queda en pending_payment. La mañana siguiente al corte cambia a declined y recibes el webhook charge.declined.
Errores comunes
| Error | Causa | Solución |
|---|---|---|
invalid_direct_debit_status al crear la orden | El método de pago todavía no está listo para cobros. | Revisa su estado en Verificación KYC y espera a que la domiciliación quede Activa. |
non_existent_direct_debit al crear la orden | El payment_source_id no pertenece al customer_id de la orden. | Usa el método de pago del mismo cliente. |
| El monto no coincide en la validación de monto | Se capturó un monto distinto a 0.99, o el cliente se creó con la llave de producción. | Ingresa 0.99; si el cliente se creó con la llave de producción, regístralo de nuevo con la llave de pruebas. |
La orden sigue en pending_payment | Se creó después del corte de las 16:30 o se creó con la llave de producción. | Espera al siguiente corte o verifica que usas la llave de pruebas. |
Relacionado
- Débito directo - Cargo bajo demanda: cómo registrar clientes, métodos de pago y órdenes.
- Verificación KYC: estados del método de pago cuando tu cuenta requiere KYC.
- Llaves de pruebas: diferencia entre llaves de pruebas y de producción.
- Configurar un webhook y Verificar firmas: recibe y valida el resultado del cobro.
Updated 8 days ago

