SkipDocumentación Skipdocs
AAPDÓrdenes

Reembolsar una orden

PUT /orders/{hash}/refund — total o parcial.

PUT /orders/{order_hash}/refund
Authorization: Bearer {client_secret}
Content-Type: application/json

Emite un reembolso sobre una orden AAPD pagada. Solo server-side — usa client_secret.

Cuerpo de la request

{
  "reason": "Patient canceled appointment",
  "amount": "30000"
}
CampoObligatorioNotas
reasonTexto libre. Se registra en la fila de refund.
amountnoSi lo omites, reembolsa el monto pagado total. Si va presente, debe ser ≤ monto pagado.

Qué pasa

  • Lado Skip: estado de orden → refunded (total) o partially_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.refunded se emite a tu endpoint con el nuevo paid_amount y un payload de refund.

Errores

StatusCausa
401client_secret faltante o inválida.
404Orden no encontrada.
409La orden no está en estado reembolsable (ej. todavía pending, o ya completamente reembolsada).
422amount 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.

On this page