AAPDÓrdenes
Reembolsar una orden
PUT /orders/{hash}/refund — total o parcial.
PUT /orders/{order_hash}/refund
Authorization: Bearer {client_secret}
Content-Type: application/jsonEmite un reembolso sobre una orden AAPD pagada. Solo server-side — usa client_secret.
Cuerpo de la request
{
"reason": "Patient canceled appointment",
"amount": "30000"
}| Campo | Obligatorio | Notas |
|---|---|---|
reason | sí | Texto libre. Se registra en la fila de refund. |
amount | no | Si lo omites, reembolsa el monto pagado total. Si va presente, debe ser ≤ monto pagado. |
Qué pasa
- Lado Skip: estado de orden →
refunded(total) opartially_refunded(parcial). El paciente recibe notificación. - Lado Ventipay: el préstamo y cuotas capturadas se reversan. La tarjeta del paciente se acredita.
- Webhook:
order.refundedse emite a tu endpoint con el nuevopaid_amounty un payload derefund.
Errores
| Status | Causa |
|---|---|
| 401 | client_secret faltante o inválida. |
| 404 | Orden no encontrada. |
| 409 | La orden no está en estado reembolsable (ej. todavía pending, o ya completamente reembolsada). |
| 422 | amount excede el monto pagado o el reverso en Ventipay falló. |
Cuando la ISAPRE ya reembolsó
Si Skip ya presentó y cobró el reembolso ISAPRE en nombre del paciente, reembolsar vía este endpoint refunde la porción del paciente (el 30% efectivamente pagado + cualquier 70% que Skip ya haya cobrado anticipado). El monto del lado ISAPRE lo reconcilia el equipo contable de Skip — no hay superficie expuesta al paciente.