Además de los pagos exitosos, Forpay notifica al paymentWebhook cuando un cobro queda en estado intermedio (en proceso, en validación, reversado, etc.).
Pago en proceso de cobro
Cuando la transacción fue enviada al banco o al procesador de pagos pero aún no se confirma el resultado, installment.state.id = 9.
El siguiente bloque muestra solo los campos de estado y descripción de la cuota. El webhook completo incluye también el contexto, los identificadores y signature. Ver el ejemplo completo de webhook de pago.
{
"installment": {
"state": {
"id": 9,
"name": "EN PROCESO DE COBRO"
},
"description": "En confirmacion banco."
}
}Importante: Si recibes un estado
EN PROCESO DE COBRO, consulta el estado por API y procesa los eventos habilitados de confirmación con estadoPAGADA(id: 2) oRECHAZADA(id: -99). No marques la cuota como pagada hasta recibir la confirmación final.
Tabla de estados de cuota
installment.state.id | Nombre | Descripción |
|---|---|---|
| 1 | PENDIENTE | Cuota generada, a la espera de su fecha de cobro |
| 2 | PAGADA | Cobro realizado con éxito. Incluye payment con authorizationCode |
| 6 | ANULADA | La cuota fue invalidada |
| 9 | EN PROCESO DE COBRO | Transacción enviada al procesador, sin confirmación aún |
| 10 | REPACTADA | La deuda fue movida a un nuevo compromiso |
| 11 | FINALIZADA | Proceso de cobro concluido |
| 12 | REVERSADA | El pago fue devuelto al cliente |
| 15 | EN VALIDACIÓN | Esperando confirmación externa de éxito |
| -99 | RECHAZADA | Cobro fallido. No se incluye el objeto payment |
Nota HMAC para pagos no exitosos
Cuando el objeto payment esté presente, concatena payment.id, payment.authorizationCode, payment.amount y payment.dateTime después de los campos base. Esto también aplica a una notificación REVERSADA (12) que incluya payment. Cuando el objeto esté ausente, utiliza solo los campos base. Elimina todos los caracteres de espacio en blanco del texto concatenado antes de calcular el HMAC. Ver Verificación HMAC.
El estado -99 expresa el rechazo de un intento de cobro en el webhook. Una consulta posterior puede mostrar la cuota en PENDIENTE. Para consultar cuotas en Search utiliza los estados persistidos admitidos por esa operación.

