Reembolsos
Devuelve el total o una parte de una transacción aprobada. El reembolso se procesa contra el procesador de tarjetas y queda registrado con su trazabilidad completa.
Ejecutar un reembolso
const refund = await wpay.refund({
id_transaction: 1042, // id numérico de la transacción (no la reference)
amount: 100.0, // total o parcial
currency: 'BOB', // default BOB
reason: 'Producto defectuoso',
}){
"msg": "REFUND_COMPLETED",
"cybersource_refund_id": "7364298471236458210433",
"amount": 100.0,
"currency": "BOB",
"status": "PENDING"
}status: "PENDING" es el estado del reembolso en el procesador (los reembolsos se liquidan
en batch, típicamente en 24–72 h). En WizPay el registro ya queda COMPLETED.
Reglas
- Solo transacciones en estado
APROBADO. - El monto debe ser
> 0y≤al monto original. - Puedes hacer varios reembolsos parciales: la suma nunca puede exceder el monto original — WizPay lo valida contra el historial.
Errores
| HTTP | Mensaje |
|---|---|
400 | id_transaction, amount y reason son requeridos |
404 | Transacción no encontrada |
400 | Solo se pueden reembolsar transacciones aprobadas |
400 | La transacción no tiene ID de CyberSource |
400 | El monto de reembolso debe ser entre 0.01 y {monto} |
400 | El monto excede el disponible para reembolso (ya reembolsado: {suma}) |
400 | Error al procesar el reembolso en CyberSource |
Webhooks relacionados
refund.requested, refund.completed.