Skip to Content

Коллбеки

Когда статус подписки меняется, мок отправляет SubscriptionStatusNotification (XML, подпись HMAC-SHA256 — поля Now / Signature в теле) на callback URL проекта.

СобытиеКогда приходит
APPROVEDПодписка подтверждена: верный PIN в ApproveSubscription либо успешная оплата картой / СБП. SubscriptionStatus=Active
REJECTEDОплата картой отклонена (карты …0001……0005). SubscriptionStatus=ApprovingFailed
CANCELLEDПосле CancelSubscription. SubscriptionStatus=Cancelled
APPROVED_BILLINGОчередное списание прошло. BillingIteration растёт, PaidUntil сдвигается. Только при включённом цикле — см. «Хуки песочницы: Списания»
REJECTED_BILLING_ATTEMPTПопытка списания не прошла, будет повтор. SubscriptionStatus=Redelivering, BillingErrorCode=210
REJECTED_BILLINGПопытки исчерпаны (три подряд). SubscriptionStatus=RenewingFailed, подписка закрыта
FINISHEDВсе циклы тарификации пройдены. SubscriptionStatus=Closed

События цикла приходят, только если при создании подписки передан <TestInfo><BillingPeriodSeconds>. Без него списаний в песочнице нет — иначе демо-проект фонил бы уведомлениями по всем когда-либо созданным подпискам.

ПараметрЗначение
Задержка первого коллбека15 сек после смены статуса
Максимум попыток7 (минутное окно песочницы)
Backoff2s → 2s → 5s → 5s → 10s → 10s — начало боевого расписания, дальше песочница доставку прекращает
HTTP-таймаут60 сек
SubscriptionStatusNotification
<Request> <SubscriptionID>12345678</SubscriptionID> <SubscriptionProjectID>2001</SubscriptionProjectID> <SubscriberID>1234567</SubscriberID> <Subscriber_MSISDN>79001234567</Subscriber_MSISDN> <EventType>APPROVED</EventType> <SubscriptionStatus>Active</SubscriptionStatus> <BillingIteration>1</BillingIteration> <BillingAttempt>1</BillingAttempt> <Country>ru</Country> <OperatorID>22</OperatorID> <CustomerPrice currency="RUB" amount="0.00"/> <BillingOperationID>b4da05e2-...</BillingOperationID> <BillingErrorCode>0</BillingErrorCode> <PaidUntil>2026-07-25T12:00:00+03:00</PaidUntil> <Now>20260625120015</Now> <Signature>d2f36558ca5455be...</Signature> </Request>
ContentRequest — запрос текста SMS
<!-- приходит перед каждым успешным списанием --> <Request> <SubscriptionID>10000003</SubscriptionID> <EventType>Content_request</EventType> <BillingIteration>1</BillingIteration> <ContentMessage><Parameter Name="BODY"/></ContentMessage> </Request>