IPN — Notificación instantánea
Tu backend debe exponer un endpoint GET que Yappy invocará al ejecutarse, cancelarse o expirar una orden. Es la única manera oficial de saber el resultado final de la transacción.
Yappy envía los datos como query parameters. Asegúrate de que tu endpoint esté expuesto a internet (no localhost, no detrás de firewall) y devuelva HTTP 200 en menos de 5 segundos.
Query parameters
| Parámetro | Descripción |
|---|---|
orderId | El orderId que enviaste al crear la orden. |
hash | Firma HMAC-SHA256 que tu backend debe validar (ver siguiente sección). |
status | Estado final: E, C o X (ver tabla abajo). |
domain | Dominio que registraste en Yappy Comercial WEB. |
confirmationNumber | ID de la transacción del lado de Yappy (úsalo para conciliación). |
Estados posibles
| Estado | Significado | Acción recomendada |
|---|---|---|
| E | Ejecutado. El cliente confirmó el pago y se completó la compra. | Marca la orden como pagada, dispara entrega/fulfillment. |
| C | Cancelado. El cliente inició el proceso pero canceló desde la app de Yappy o de su banco. | Marca la orden como cancelada. El cliente puede reintentar. |
| X | Expirado. El cliente nunca inició el pago y se venció el window de 5 minutos. | Marca la orden como expirada. Permite reintento si aplica. |
Si tu modelo de negocio necesita más estados, modélalos del lado de tu plataforma a partir de estos tres.
Ejemplo de llamada IPN
GET https://www.tudominio.com/api/yappy/ipn
?orderId=ORD12345
&hash=a3c1f8...e9d4
&status=E
&domain=https://www.tudominio.com
&confirmationNumber=8f3e2c91-...