Desarrollador 7 min de lectura

Webhooks y resultados asíncronos de la Verification of Payee

Una integración Verification of Payee robusta también prevé la solicitud que no vuelve en 300 milisegundos. Esto es cómo usar webhooks y callbacks para gestionar los resultados asíncronos sin congelar tu checkout.

Por Verification of Payee EU · con tecnología de RoxPay

Webhooks y resultados asíncronos de la Verification of Payee

Claves

  • Trata la VoP como habitualmente síncrona pero ocasionalmente asíncrona: diseña un estado «pendiente» desde el primer día.
  • Usa un webhook para recibir el resultado final cuando un PSP respondedor responde tarde.
  • Verifica siempre las firmas de los webhooks y haz los gestores idempotentes para sobrevivir a los reintentos.

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. 1 Envía la verificación y guarda su ID de solicitud asociado al pago que estás a punto de hacer.
  2. 2 Si no llega respuesta dentro de tu presupuesto síncrono, muestra al pagador un estado «pendiente» en lugar de un error.
  3. 3 Recibe el resultado final (coincidencia, parcial, sin coincidencia o no disponible) en tu endpoint de webhook.
  4. 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.

FAQ

Preguntas frecuentes

No estrictamente, pero es muy recomendable. Sin una ruta asíncrona, un PSP respondedor lento te obliga a bloquear al pagador o a descartar un resultado válido. Un webhook permite capturar limpiamente las respuestas tardías.

Haz tu gestor de webhook idempotente. Indexa el procesamiento por el ID de solicitud de verificación e ignora una carga útil ya aplicada, ya que el mismo resultado puede entregarse más de una vez.

Muestra un estado neutro «pendiente» en lugar de un fallo, y evita autoconfirmar una transferencia de alto riesgo hasta que llegue el resultado o se alcance el tiempo de espera de tu política.

Construye una integración VoP resiliente

Habla con RoxPay sobre resultados síncronos con un fallback de webhook para los PSP respondedores lentos.