Skip to main content
Usa HTTP, resultCode y operationNumber. En autorización interpreta success y result.state; en consulta a pasarela, success y transaction.state; en cancelación/extorno, status. No uses el mensaje como única base para decidir. El extorno 502 UNKNOWN utiliza el cuerpo compacto con message.

Diagnóstico rápido

GET /health no responde

Sigue este orden:
  1. Confirma en el Wiseasy P5L la IP y el puerto configurados.
  2. Confirma que el sistema central usa esos valores y no una dirección anterior.
  3. Verifica que ambos equipos estén en la misma red local.
  4. Desactiva AP Isolation o Client Isolation para esos equipos.
  5. Verifica que el firewall permita el puerto TCP configurado, 8080 por defecto.
  6. Abre Pay-me PinPAD y confirma que la aplicación continúa en primer plano y lista.
  7. Ejecuta nuevamente GET /health desde el mismo host y proceso de red que usará el sistema central.
Respuesta esperada:

400 BAD_REQUEST

Verifica:
  • operationNumber: String de 1–64 caracteres sin espacios; conserva la referencia original y evita / para consultarla por ruta;
  • amount: entero JSON o String numérico positivo de 1 a 12 dígitos en unidades menores;
  • currency: número o String de exactamente tres dígitos; opcional, predeterminado 604;
  • paymentMethod: opcional, predeterminado CARD; acepta CARD o QR sin distinguir mayúsculas;
  • tollData: objeto opcional de valores String; se fusiona con additionalFields y prevalece en colisiones;
  • additionalFields: objeto opcional cuyos valores son únicamente String;
  • header Content-Type: application/json;
  • JSON bien formado.
Conserva el resultMessage para saber qué validación falló. No lo muestres sin control al usuario final.

Timeout o desconexión

Un timeout describe la conexión del sistema central, no el resultado financiero. El siguiente flujo corresponde a POST /authorize. Para una cancelación, conserva la referencia y aplica el procedimiento de /cancel. El extorno CARD es una acción independiente y tiene su propia consulta.
GET /payments puede tardar aproximadamente 12–15 segundos; usa un timeout de cliente de ejemplo de 20 segundos. No devuelve 202 ni estados locales. Confirma que el timeout del POST sea mayor que la espera interna del terminal. Con la referencia de desarrollo de 90 segundos, utiliza al menos 100 a 110 segundos.

Operación pendiente por demasiado tiempo

  1. Mantén el mismo operationNumber.
  2. Si el POST devolvió HTTP 202, respeta Retry-After: 2 antes de consultar. En las siguientes consultas a pasarela, aplica el intervalo y límite acordados.
  3. Verifica que el terminal conserve conectividad local y conectividad con la plataforma de pagos.
  4. Al alcanzar el límite acordado, inmoviliza la operación y escala. No crees automáticamente otra venta.
El límite máximo de consulta y la decisión de negocio deben definirse antes de producción.

Datos para soporte

Comparte:
  • ambiente, fecha y hora con zona horaria;
  • identificador del sistema central, punto de atención y Wiseasy P5L;
  • versión de Pay-me PinPAD;
  • IP y puerto, sin exponer información innecesaria fuera del canal de soporte;
  • operationNumber y paymentMethod;
  • cierre visual y secuencia de autorización, cancelación, consultas y extorno;
  • evidencia de extorno completado, en curso o todavía no verificable;
  • código HTTP, Connection, Cache-Control y Retry-After;
  • cuerpo de solicitud y respuesta sanitizados;
  • duración del POST y secuencia de consultas;
  • cambios de red o reinicios observados.
No compartas PAN completo, CVV, PIN, PIN Block, pistas ni datos EMV sensibles.

Operación y recuperación

Revisa el algoritmo de consulta, idempotencia y concurrencia.

Certificación y producción

Ejecuta los casos antes de habilitar cobros reales.