Reembolsos

Solicita una devolución sin confundirla con su confirmación.

Usa billete.payments desde tu servidor. Configura el cliente con el entorno y la clave de tu negocio.

Ejemplo

const refund = await billete.payments.refund(
  "pay_ejemplo",
  // Ya se lo devolviste por Pago Móvil: la referencia que te dio tu banco.
  { amount: 1000, reason: "Solicitud del cliente", reference: "00123456789" },
  { idempotencyKey: "refund-order-123" },
);
const refunds = await billete.payments.listRefunds("pay_ejemplo");

Métodos

MétodoQué hace
refund(id, input?, options?)Registrar (o, con un proveedor que devuelve solo, solicitar) la devolución de un pago.
listRefunds(id, options?)Consultar sus reembolsos.

Qué debes tener en cuenta

amount está en la moneda de liquidación. Omítelo para devolver el restante reembolsable. Conserva una clave estable por devolución. Una solicitud aceptada no significa que el dinero ya regresó: consulta el estado y atiende refund.failed.

Con Pago Móvil (mode: "manual") devuelves tú el dinero desde tu banco, antes de llamar a refund, y envías la referencia de tu banco en reference: tu cliente la recibe por correo.

Un reembolso manual que pidió Billete (un cambio de suscripción pagado fuera de plazo, un envío que no salió a tiempo o una entrega con problema resuelta a favor del cliente) o que se pidió en el dashboard queda pending hasta que devuelvas el dinero; tienes 7 días desde que se sabe a dónde enviarlo, o tus cobros se pausan. Regístralo con refund(id, { reference }) sin amount o con el importe completo pendiente (reembolsos pendientes).

Referencia HTTP y reglas de reembolsos.