Webhooks
Повний перелік подій, на які можна підписатися, і що містить кожна.
Підписуйтесь лише на те, що обробляєте: зайві події створюють шум і витрачають ліміти вашого обробника. Перелік подій вказується при реєстрації адреси й змінюється через PATCH.
| Тип | Коли надсилається |
|---|---|
order.paid | Квиток оплачено. Саме тут зʼявляється учасник події |
order.failed | Оплата не пройшла або сплив час на неї |
order.refunded | Кошти повернено, квиток анульовано |
event.cancelled | Подію скасовано — усі квитки на неї недійсні |
event.updated | Змінено час або місце проведення |
attendee.registered | Реєстрація на безкоштовну подію (платежу немає) |
attendee.checked_in | Гість пройшов check-in на вході |
Головна подія грошового шляху. Приходить після підтвердження банку — тобто тоді, коли гроші справді списані, а не коли покупець натиснув «Оплатити».
{
"id": "3d9f7c21-…",
"type": "order.paid",
"createdAt": "2026-07-30T12:02:31.000Z",
"data": {
"paymentId": "d3f1a2b4-…",
"eventId": "a1b2c3",
"status": "SUCCESS",
"amountMinor": 90000,
"currency": "UAH",
"attendeeId": "clx9attendee01"
}
}amountMinor — копійки цілим числом. attendeeId зʼявляється разом із успішною оплатою; за ним можна звірятися зі списком гостей.
Подія, заради якої вебхуки й потрібні. Може прийти через тиждень після покупки — опитуванням статусу замовлення ви її не побачите.
{
"id": "7a2b9c14-…",
"type": "event.cancelled",
"createdAt": "2026-08-01T09:15:00.000Z",
"data": {
"eventId": "a1b2c3",
"title": "Джаз-вечір",
"startAt": "2026-08-15T18:00:00.000Z"
}
}Скасування не означає повернення
Це дві різні події. Скасування події позначає квитки недійсними, а кошти повертає організатор — кожен рефанд приходить окремимorder.refunded. Не вважайте гроші поверненими, доки не отримали саме його.{
"id": "b5e8d033-…",
"type": "order.refunded",
"createdAt": "2026-08-01T09:16:12.000Z",
"data": {
"paymentId": "d3f1a2b4-…",
"eventId": "a1b2c3",
"status": "REFUNDED",
"amountMinor": 90000,
"reason": "Подію скасовано"
}
}amountMinor — сума, яку реально повернуто. Вона може бути меншою за первісний платіж: якщо сервісний збір лягав на покупця, він не повертається.
Події не гарантовано приходять у тому порядку, в якому сталися: кожна доставка ретраїться незалежно, тож подія з повтору може прийти після пізнішої. Орієнтуйтесь на createdAt у тілі, а не на час отримання.
Практичний висновок: обробник має бути стійким до подій «не за чергою». Наприклад, order.refunded, що прийшов раніше за order.paid, не має створювати запис із нуля — перевіряйте поточний стан у себе.