Коллбеки
Когда статус подписки меняется, мок отправляет 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 |
Sandbox
События цикла приходят, только если при создании подписки передан <TestInfo><BillingPeriodSeconds>. Без него списаний в песочнице нет — иначе демо-проект фонил бы уведомлениями по всем когда-либо созданным подпискам.
| Параметр | Значение |
|---|---|
| Задержка первого коллбека | 15 сек после смены статуса |
| Максимум попыток | 7 (минутное окно песочницы) |
| Backoff | 2s → 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>