Flujo de un paso: compra
UsaPOST /payment/purchase cuando puedas cumplir el pedido de inmediato — descargas digitales, suscripciones SaaS y cualquier producto que entregues en el momento en que se completa el pago. Un solo viaje de ida y vuelta reserva los fondos y los liquida de una vez. La respuesta lleva status: "captured" y un id — el identificador del pago.
Flujo de dos pasos: autorizar → capturar
UsaPOST /payment/authorization para reservar fondos sin liquidarlos. Es el flujo correcto cuando necesitas confirmar la disponibilidad antes de cumplir — por ejemplo, bienes físicos que pueden agotarse, o reservas de hotel donde confirmas la habitación antes de cobrar.
id (un UUID). Ese id es cómo diriges
el pago en cada operación de seguimiento — pásalo como el segmento de ruta {id}.
Aplican algunas reglas:
- La ventana de autorización suele ser de 7 días, aunque algunos adquirentes permiten ventanas más cortas o más largas. Si no capturas dentro de la ventana, la autorización expira y los fondos se liberan automáticamente.
- La captura parcial está disponible. Puedes capturar cualquier monto hasta el monto autorizado. Por ejemplo, autoriza 80 si un artículo está agotado.
- Una vez que un pago se captura no puedes capturar de nuevo — usa el reembolso para cualquier ajuste.
Reembolso
Llama aPOST /payment/{id}/refund para devolver fondos de un pago capturado. Los reembolsos pueden ser totales o parciales, y puedes emitir varios reembolsos parciales mientras el total acumulado no supere el monto capturado originalmente.
refunded una vez que se procesa un reembolso total.
Cancelar
Llama aPOST /payment/{id}/cancel para anular un pago autorizado antes de que se capture. Los fondos se liberan de inmediato y nunca se le cobra al cliente. No puedes cancelar un pago que ya se capturó — llama a POST /payment/{id}/refund en su lugar.
Cancelación o reembolso automático
Si no estás seguro de si un pago está en estadoauthorized o captured, llama a POST /payment/{id}/cancel_or_refund. Therius verifica el estado actual y realiza la operación correcta automáticamente — una cancelación si el pago está autorizado, un reembolso total si está capturado.
Estados del pago
Máquina de estados
id, paymentCode y orderCode
orderCode y paymentCode son campos de referencia únicamente — se devuelven en las respuestas y los webhooks. Consulta acepta el id o el paymentCode en su ruta. Pero capture, refund, cancel y cancel_or_refund toman solo el id. Guarda siempre el id de la respuesta de autorizar/comprar y úsalo para esas llamadas.
