Una solicitud de Verification of Payee normalmente devuelve un resultado en tiempo real, lo bastante rápido para mostrarlo antes de que el pagador autorice una transferencia. Pero la VoP es una llamada de red a otro banco, y las redes no son perfectamente fiables. Un PSP respondedor puede ser lento, una conexión puede caerse, o una solicitud puede acabar en una cola. Una integración de nivel productivo necesita un plan para la respuesta que llega unos segundos — o unos minutos — tarde.
Por qué una llamada VoP puede volverse asíncrona
El esquema define una ventana de respuesta ajustada, pero el tráfico real produce de todas formas casos límite que debes gestionar con elegancia en lugar de tratarlos como errores graves:
- El PSP respondedor está temporalmente sobrecargado y responde justo fuera de tu tiempo de espera síncrono.
- Un fallo de red transitorio dispara un reintento que se completa después de que tu solicitud inicial ya volvió.
- Envías muchas comprobaciones en bloque (por ejemplo una remesa de pagos) y recoges los resultados según van llegando.
Diseñar el flujo de webhook
El patrón más limpio es dar a cada comprobación un identificador estable, devolver un estado «pendiente» cuando la ventana síncrona expira, y dejar que un webhook entregue el resultado final.
- 1 Envía la verificación y guarda su ID de solicitud asociado al pago que estás a punto de hacer.
- 2 Si no llega respuesta dentro de tu presupuesto síncrono, muestra al pagador un estado «pendiente» en lugar de un error.
- 3 Recibe el resultado final (coincidencia, parcial, sin coincidencia o no disponible) en tu endpoint de webhook.
- 4 Reconcilia la carga útil del webhook con el ID de solicitud guardado y actualiza la decisión de pago.
Seguro e idempotente por defecto
Verifica la firma de cada webhook antes de confiar en él, y haz tu gestor idempotente: el mismo resultado puede entregarse más de una vez. Indexa tu procesamiento por el ID de solicitud para que una entrega duplicada nunca actúe dos veces sobre un pago.
RoxPay devuelve un resultado síncrono siempre que puede y recurre a un webhook firmado cuando un PSP respondedor es lento, para que tu checkout siga siendo ágil y tus registros sigan completos.