События исходящих вебхуков
Ниже перечислены типы из ListeningEventList в коде API (строка, которую получает ваш обработчик в поле события / payload).
Подписка
subscription.createdsubscription.activatedsubscription.updatedsubscription.auto_renew.successsubscription.auto_renew.failuresubscription.cancelledsubscription.end.of.this.cyclesubscription.resume.end.of.this.cyclesubscription.track— напоминание (~за 3 дня до конца периода)subscription.track.willcancelsubscription.track.user.outofsubscribesubscription.latest_invoice.track— напоминание по неоплаченному счётуsubscription.expiredsubscription.failed
Отложенное изменение подписки (pending update)
subscription.pending_update.createsubscription.pending_update.successsubscription.pending_update.cancelled
Разовые аддоны подписки
subscription.onetime_addon.createdsubscription.onetime_addon.successsubscription.onetime_addon.cancelledsubscription.onetime_addon.expired
Пользователь и метрики
user.createduser.updateduser.metric.update
Платежи и возвраты
payment.createdpayment.authorised.needpayment.successpayment.cancelledpayment.failurerefund.createdrefund.successrefund.failurerefund.cancelledrefund.reversed
Счета
invoice.createdinvoice.paidinvoice.processinvoice.cancelledinvoice.failedinvoice.reversed
При настройке endpoint выберите подмножество событий, достаточное для вашей бизнес-логики, чтобы снизить нагрузку на ваш сервер.
Рекомендуемые действия интегратора
| Событие | Рекомендуемое действие |
|---|---|
subscription.activated | Включить доступ к продукту; сбросить кэш квот |
subscription.updated | Обновить planId/лимиты у себя; сбросить кэш квот |
subscription.cancelled | Отключить доступ; сбросить кэш |
subscription.expired | Отключить доступ по окончании периода |
invoice.paid | Подтвердить оплату; обновить статус подписки |
invoice.failed | Уведомить пользователя; dunning |
payment.success | Подтвердить платёж (часто в паре с invoice.paid) |
subscription.pending_update.success | Применить смену плана после оплаты апгрейда |
user.metric.update | Обновить отображение usage/лимитов (опционально) |
Для инвалидации кэша квот обычно достаточно: subscription.activated, subscription.updated, subscription.cancelled, invoice.paid.
Апгрейд подписки (платёж)
Типичный порядок при self-serve апгрейде free → paid через update_submit с редиректом:
- Пользователь возвращается на
returnUrl— обновите подписку через API. - Вебхуки могут прийти до или после return — проектируйте идемпотентную обработку.
planIdв подписке обновляется после успешной оплаты pending update (события выше).