Desde tu sistema · Modo prueba
Docs · Desde tu sistema Descargar .md

Modo prueba

Con tu llave de prueba (sk_test_…) haces el ciclo completo sin mover dinero: creas cobros, los pagas, te llegan los webhooks firmados y los ves en tu portal.

Cómo se paga un cobro de prueba

Abre su url: la página muestra "Modo prueba". Llénala con datos de ejemplo:

CampoEjemplo
BancoCualquiera de la lista
Teléfono0414 + 1234567
CédulaV + 12345678
Clave de pagoCualquier número de 8 dígitos, p. ej. 12345678 (o una de las claves de la tabla de abajo, para forzar un resultado)

No se le pide nada a ningún banco ni llega ningún mensaje: con una clave cualquiera el pago se aprueba y el cobro pasa a pagado.

Forzar un resultado

El modo prueba te deja provocar los casos difíciles para que pruebes tu manejo de cada uno. Sólo funciona en cobros creados con una llave sk_test_…; en un cobro de producción estas claves no hacen nada especial (se tratan como cualquier clave y las valida el banco).

Con la clave de pago

En el paso de la clave, escribe una de estas para provocar cada desenlace. Cualquier otra clave de 8 dígitos aprueba. El monto y el banco elegido no cambian el resultado: lo decide sólo la clave.

Clave de pagoDesenlaceQué vesQué te llega
Cualquier otra de 8 dígitosAprobadoEl cobro pasa a pagado y la página muestra el comprobante.link.pagado
11111111Rechazado (rechazo genérico)El cobro sigue pendiente, la página muestra el rechazo y tu cliente puede intentarlo con otra clave.Nada
11111112Rechazado por fondosIgual que el anterior, con el aviso "Saldo insuficiente". Motivo SALDO_INSUFICIENTE.Nada
11111113Rechazado por clave inválidaIgual, con el aviso "La clave de pago no es válida". Motivo OTP_INVALIDO.Nada
11111114Banco no disponibleIgual, con el aviso "El banco no está disponible en este momento". Motivo BANCO_NO_DISPONIBLE.Nada
22222222Pendiente y luego apruebaEl pago queda procesando. A los 30 segundos más o menos pasa solo a pagado. Mientras tanto no se puede volver a pagar.link.pagado, recién a los 30 s
33333333Tarda en confirmarLa página se queda en "Procesando tu pago" unos 8 segundos y luego aprueba.link.pagado, al aprobar

En producción, según el banco de quien paga, un pago puede pasar primero por procesando y link.pagado llega cuando el banco lo confirma. En modo prueba, "Cualquier otra" aprueba en el acto; para probar cómo maneja tu sistema la espera, usa 22222222.

Los rechazos siguen el mismo camino que un rechazo real del banco: el cobro se libera, el intento queda registrado como rechazado y no sale ningún webhook (un cobro rechazado no tiene aviso). Las dos formas de aprobar sí disparan los mismos webhooks que en producción, con "mode": "test".

Solo funcionan en modo prueba. Se aplican únicamente a un cobro creado con una llave sk_test_…. Con una llave sk_live_…, y en cualquier cobro de producción, estas claves no hacen nada especial: se tratan como cualquier clave y las valida el banco. Ninguna llave ni dato de la petición puede encenderlas: lo decide el modo con que se creó el cobro, y ese modo no cambia.

Sin abrir la página: POST /links/:id/simular

Para que tu servidor maneje un cobro de punta a punta sin abrir la página de pago:

bash
curl -s -X POST https://pay.pagaconquickpay.com/switch/v1/links/<id>/simular \
  -H "x-switch-key: $QP_TEST_KEY" -H "content-type: application/json" \
  -d '{ "resultado": "pagado" }'
resultadoQué haceRespuesta
pagadoMarca el cobro pagado y dispara los mismos avisos que un pago real. Te llega link.pagado (con "referencia": "SIMULADO"). Si tu comercio tiene liquidación inmediata activa, también te llega un link.acreditado simulado.200 con "estado": "pagado"
rechazadoSimula que el banco rechazó: el cobro queda pendiente, sin cambios y sin webhook. Sirve para confirmar que tu sistema sigue esperando.200 con "estado": "pendiente"
expiradoVence el cobro al instante (expirado).200 con "estado": "expirado"

La respuesta incluye "simulado": true. Si el cobro no es de prueba, recibes 403 (solo_modo_prueba). Si ya no está pendiente (o está vencido por tiempo), 409 (no_simulable). Un cobro en procesando por la clave 22222222 se puede adelantar con pagado.

Todos los avisos de prueba traen "mode": "test" dentro de data. → Webhooks

Qué pasa igual que en producción

  • Los estados del cobro y su consulta (GET /links/:id).
  • El webhook link.pagado, firmado igual que en producción, con "mode": "test".
  • El cobro aparece en tu portal marcado como prueba.

Lo que el modo prueba no hace

  • No cobra dinero ni consulta a ningún banco. La referencia de un pago de prueba es SIMULADO.
  • No simula todos los rechazos del banco (cuenta bloqueada, por ejemplo): sólo los de la tabla de arriba. Los estados exactos que puede devolver un cobro real están en Estados de un cobro.

Un cobro de prueba nunca se vuelve real, aunque lo abra alguien de verdad con su clave del banco. Y uno de producción nunca es de prueba: no mezcles llaves en el mismo pedido.

Si algo no funciona en producción

La página de estado muestra si el servicio y los cobros con débito inmediato están operativos, y los incidentes recientes. Los mismos datos están en /estado.json, sin llave.