¿Cómo funcionan?
OnePay envía el evento
Cada vez que ocurra un evento seleccionado, OnePay enviará un
POST a tu URL con el payload del evento en formato JSON.Responde con 200
Tu servidor debe responder con un código HTTP
200 en menos de 30 segundos. Si no, OnePay reintentará la entrega.Verificación de firma
Cada webhook incluye el headerx-onepay-signature con un HMAC-SHA256 del body usando tu secret. Así puedes verificar que el evento es auténtico:
JavaScript
Python
Eventos disponibles
Pagos
| Evento | Descripción |
|---|---|
payment.created | Pago creado |
payment.approved | Pago aprobado |
payment.rejected | Pago rechazado |
payment.refunded | Pago devuelto |
payment.expired | Pago expirado |
payment.partially_paid | Pago parcialmente completado |
payment.partial_expired | Pago parcial expirado |
payment.issue | Incidencia en el pago |
payment.disputed | Pago disputado |
payment.message.delivered | Mensaje de pago entregado |
payment.message.failed | Mensaje de pago fallido |
payment.message.replied | Mensaje de pago con respuesta |
payment.deleted | Pago eliminado |
Cargos
| Evento | Descripción |
|---|---|
charge.created | Cargo creado |
charge.processing | Cargo en procesamiento |
charge.paid | Cargo pagado exitosamente |
charge.failed | Cargo fallido |
charge.refunded | Cargo devuelto |
charge.disputed | Cargo disputado |
Dispersiones
| Evento | Descripción |
|---|---|
cashout.created | Dispersión creada |
cashout.processing | Dispersión en procesamiento |
cashout.completed | Dispersión completada |
cashout.rejected | Dispersión rechazada |
cashout.cancelled | Dispersión cancelada |
cashout.require_approval | Dispersión requiere aprobación |
cashout.turbo_onboarding | Onboarding de dispersión turbo |
Suscripciones
| Evento | Descripción |
|---|---|
subscription.created | Suscripción creada |
subscription.active | Suscripción activada |
subscription.paid | Cuota de suscripción pagada |
subscription.pass_due | Suscripción vencida |
subscription.unpaid | Suscripción sin pagar |
subscription.canceled | Suscripción cancelada |
subscription.finished | Suscripción finalizada |
subscription.frozen | Suscripción congelada |
Cuentas bancarias
| Evento | Descripción |
|---|---|
account.pending | Cuenta pendiente de validación |
account.connected | Cuenta conectada exitosamente |
account.disconnected | Cuenta desconectada |
account.validated | Cuenta validada |
account.uncompleted | Cuenta incompleta |
Otros
| Evento | Descripción |
|---|---|
invoice.created | Factura creada |
invoice.paid | Factura pagada |
invoice.canceled | Factura cancelada |
utility.paid | Pago de servicio público aprobado |
utility.rejected | Pago de servicio público rechazado |
connect_link.completed | Link de conexión completado |
balance.updated | Saldo actualizado |
wallet.transaction.created | Transacción de wallet creada |
Endpoints
Listar webhooks
Consulta todos los webhooks registrados en tu cuenta.
Ver webhook
Obtén el detalle de un webhook específico.
Crear webhook
Registra una nueva URL y selecciona los eventos a escuchar.
Actualizar webhook
Modifica la URL, nombre o eventos de un webhook existente.
Eliminar webhook
Elimina un webhook de tu cuenta.
Ejemplos de payloads
Revisa la estructura de cada evento que recibirás.