Errores comunes

Soluciones a los problemas más frecuentes durante la integración.

El QR generado expira muy rápido

El tiempo de vida del QR es definido por Yappy y no es configurable desde la API. Si tus clientes no alcanzan a pagar, considera reducir el tiempo entre la generación del QR y mostrarlo al cliente. También puedes agregar un indicador de cuenta regresiva en tu interfaz.

El polling no detecta el pago

  • Verifica que estés consultando el endpoint con el transactionId correcto (del response de /qr/generate).
  • Asegúrate de enviar el authorization con el token activo de la sesión.
  • Si el cliente reporta haber pagado pero tu sistema sigue en PENDING, consulta directamente en Yappy Comercial Web la transacción para validar el estado real.

No puedo abrir sesión (YP-0002)

  • Verifica que el device.id exista en Yappy Comercial. Cópialo exactamente como aparece (es sensible a mayúsculas y guiones).
  • Confirma que el group_id sea correcto.

Error de cabeceras (YP-0008)

Todos los endpoints (excepto POST /session/device) requieren los tres headers: api-key, secret-key y authorization. Si falta cualquiera, recibirás YP-0008.

No puedo anular una venta (YP-0014)

La transacción ya fue liquidada. Las anulaciones solo son posibles antes de la liquidación (medianoche del mismo día). A partir de este punto, deberás gestionar el reembolso manualmente con tu cliente.

La transacción ya fue reversada (YP-0016)

La transaccion que se intenta reversar posee un estado reversado. No se requieren acciones adicionales.

El desglose no coincide con el total (YP-0405)

La fórmula es total = sub_total + tax + tip − discount. Asegúrate de redondear a 2 decimales antes de enviar y de no perder precisión por floats. Usa una librería de decimales precisos si tu lenguaje lo requiere.

// ❌ Incorrecto — puede acumular error de float
const total = 200.52 + 2.21 + 0 - 0; // 202.73000000000002

// ✅ Correcto — redondea a 2 decimales
const total = Math.round((200.52 + 2.21 + 0 - 0) * 100) / 100; // 202.73
¿Te fue útil esta página?