🚀 Lanzamiento v2.3: Activa y desactiva métodos de pago para tu Conekta Checkout desde el Panel, sin tocar tu código. Ver documentación →

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
  1. Creas la orden con un cliente cuyo método de pago usa una CLABE de prueba. La orden queda en pending_payment.
  2. 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.
  3. Resultado. La mañana siguiente al corte, entre las 9:00 y las 13:00 (CDMX), la orden pasa a paid o declined según la tabla de abajo, y recibes el webhook correspondiente.

CLABEs de prueba

CLABEResultadoMotivo simulado
014180000000000042Pagado—
014180000000000013RechazadoFondos insuficientes
014180000000000026RechazadoCuenta inexistente
014180000000000039RechazadoCuenta bloqueada
014180000000000055RechazadoEl cliente ordenó a su banco no pagar a este emisor
Cualquier otra CLABE válidaPagado—

La CLABE debe coincidir completa (18 dígitos). Estas CLABEs solo tienen efecto con la llave de pruebas; no son cuentas reales.

🚧

Precaución

Hoy el motivo del rechazo no se devuelve en la orden: failure_code y failure_message llegan vacíos y la orden solo muestra el estado declined. Usa las distintas CLABEs para probar tu manejo de rechazos, no para leer el motivo.

Prerrequisitos

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.

📘

Nota

El 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

ErrorCausaSolución
invalid_direct_debit_status al crear la ordenEl 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 ordenEl 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 montoSe 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_paymentSe 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


Did this page help you?