Возвраты
Оплаченные билеты можно вернуть через POST /orders/{id}/refund. Деньги покупателю возвращает партнёр. Шлюз аннулирует билеты и возвращает места в продажу.
Условия возврата
- Заказ в статусе
paid. - Сеанс ещё не начался: дата сеанса позже текущего момента.
- Возвращаемые билеты не использованы (не прошли контроль на входе).
Если условие не выполнено, весь возврат отклоняется — частично он не выполняется.
Полный возврат
Без тела запроса возвращаются все оплаченные билеты заказа:
bash
curl -X POST https://gateway.ticket.kg/api/v1/orders/3f6c2a1e-8b4d-4c7a-9e2f-1a2b3c4d5e6f/refund \
-H "X-API-Key: $KEY"Заказ переходит в статус refunded.
Частичный возврат
Передайте ID нужных билетов из tickets[].id:
bash
curl -X POST https://gateway.ticket.kg/api/v1/orders/3f6c2a1e-8b4d-4c7a-9e2f-1a2b3c4d5e6f/refund \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{"ticket_ids": [884512]}'Заказ остаётся в статусе paid. Возвращённые билеты исчезают из tickets и появляются в refunded_tickets. Оставшиеся билеты можно вернуть позже отдельным запросом.
Что происходит при возврате
- Билет аннулируется, его PIN перестаёт действовать на входе.
- Место (если билет был на место) снова становится доступным для продажи.
- Сумма возврата попадает в отчёт о продажах за дату возврата.
Ошибки
| HTTP | code | Причина |
|---|---|---|
409 | order_not_held | Заказ не в статусе paid (например, ещё held или уже refunded) |
409 | refund_not_allowed | Сеанс уже начался, билеты использованы или возвращать нечего |
422 | validation_error | В ticket_ids есть билеты не из этого заказа или неоплаченные. Их список — в details.ticket_ids |
Неоплаченный заказ
Для заказа в статусе held используйте не возврат, а отмену брони.