Resolver cobro (Testing)
Aprueba o rechaza un cobro de prueba como si el cliente hubiera pagado o el banco hubiera rechazado el pago.
POST
Simula el resultado del pago de un cobro sin abrir el link ni pagar en el checkout. Sirve para probar cómo reacciona tu integración cuando un cobro se aprueba o se rechaza, incluidos los webhooks
payment.approved y payment.rejected.
¿Cómo funciona?
El cobro recorre el mismo camino que un pago real:- Si el cliente ya empezó a pagar (por ejemplo, un PSE que quedó en
processing), se resuelve ese intento. - Si nadie ha intentado pagar, OnePay crea un intento de prueba (método
Sandbox) por el valor del cobro y lo resuelve. - El cobro cambia de estado y OnePay envía el webhook correspondiente:
El intento queda registrado y lo puedes consultar en Intentos de pago.
La respuesta trae el intento ya resuelto. El cobro cambia de estado unos segundos después, de forma asíncrona, igual que con un pago real. Confirma el resultado con el webhook o con Ver cobro.
Estados que se pueden resolver
Solo los cobros enpending, in_progress o declined. Resolver un cobro en declined simula que el cliente reintentó el pago: con approve el cobro pasa a approved.
string
required
ID del cobro a resolver. Crear cobro.
Body
string
required
Resultado que quieres simular. Valores válidos:
approve: el cliente pagó. El cobro pasa aapproved.reject: el banco o el procesador rechazó el pago. El cobro pasa adeclined.
string
Motivo del rechazo. Requerido cuando
action es reject.Acepta los mismos códigos de los escenarios de prueba, por ejemplo:INSUFFICIENT_FUNDS: fondos insuficientesTRANSACTION_REJECTED: rechazado por el bancoRISK_CONTROL: bloqueado por control de riesgoCARD_EXPIRED: tarjeta expirada
remarks del intento y del cobro.Aprobar un cobro
Escenario: rechazo y reintento exitoso
Para probar de punta a punta el camino de un cobro rechazado:- Crea un cobro de prueba sin
phonecon Crear cobro. - Recházalo con
"action": "reject"y unremarks. El cobro queda endeclinedy, si tienes un webhook suscrito, recibespayment.rejected. - Apruébalo con
"action": "approve", como si el cliente hubiera reintentado. El cobro queda enapprovedy recibespayment.approved. - Consulta los dos intentos en Intentos de pago.
Respuesta
Devuelve el intento resuelto, con el mismo formato de Intentos de pago.string
ID del intento de pago resuelto.
string
Estado del intento:
paid si se aprobó, failed si se rechazó.object | null
Motivo del rechazo, con
code, description, customer_description y retry. Es null cuando se aprueba.string
Sandbox si OnePay creó el intento, o el método que eligió el cliente si ya había empezado a pagar.string | null
Fecha de pago del intento. Es
null cuando se rechaza.