Чек-лист интеграции
Проверьте эти пункты перед запуском продаж.
Безопасность
- [ ] API-ключ хранится только на сервере и не попадает в браузер, мобильное приложение или репозиторий.
- [ ] Менеджеру Ticket.kg переданы IP-адреса серверов для whitelist.
- [ ] PIN билетов не пишется в общедоступные логи.
Каталог
- [ ] Каталог (
/events) загружается с учётом пагинации. - [ ] Схема зала (
/event-items/{id}/seats) запрашивается заново перед бронированием, а не берётся из кэша. - [ ] Обрабатывается сеанс без мест (
type = 6): продажа поprices. - [ ] Обрабатываются зоны: количество не больше
available. - [ ] Для доступности мест используется
is_available, а неstatus. - [ ] Поддерживаются многоуровневые схемы (
constructor_child_map_id→?child_map_id=), если вы работаете с крупными площадками.
Бронирование и оплата
- [ ] На каждую попытку покупки генерируется новый уникальный
partner_order_id. - [ ] При таймауте
POST /ordersповторяется с тем жеpartner_order_id. - [ ] Время оплаты у вас заканчивается раньше
expires_at, с запасом. - [ ]
confirmвызывается сразу после успешной оплаты и повторяется при сетевых ошибках. - [ ] Обработан
409 order_expiredнаconfirm: деньги возвращаются покупателю или создаётся новый заказ. - [ ] Если покупатель ушёл со страницы оплаты, бронь снимается через
DELETE.
Ошибки
- [ ]
409 seat_unavailable: покупателю предлагается выбрать другие места. - [ ]
409 limit_exceeded: показывается доступное количество изdetails. - [ ]
422 event_item_not_available: покупателю сообщается, что продажи закрыты. - [ ]
request_idиз ответа сохраняется в ваших логах.
Билеты
- [ ] PIN кодируется в QR,
pin_formattedвыводится текстом. - [ ] На билете указаны мероприятие, площадка, дата, секция, ряд, место и цена.
Возвраты и сверка
- [ ] Поддержан полный и частичный возврат.
- [ ] Возврат блокируется после начала сеанса (
409 refund_not_allowed). - [ ] Настроена регулярная сверка через
/reports/sales.