Skip to content

Возвраты ​

Оплаченные билеты можно вернуть через 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 перестаёт действовать на входе.
  • Место (если билет был на место) снова становится доступным для продажи.
  • Сумма возврата попадает в отчёт о продажах за дату возврата.

Ошибки ​

HTTPcodeПричина
409order_not_heldЗаказ не в статусе paid (например, ещё held или уже refunded)
409refund_not_allowedСеанс уже начался, билеты использованы или возвращать нечего
422validation_errorВ ticket_ids есть билеты не из этого заказа или неоплаченные. Их список — в details.ticket_ids

Неоплаченный заказ

Для заказа в статусе held используйте не возврат, а отмену брони.