Изменение статуса подписки
Присылается в момент изменения статуса подписки. Обратите внимание, что статус подписки не меняется при продлении (списании нового платежа у пользователя). Вы не получите платёжное уведомление о продлении подписки — оно придёт лишь в том случае, если пользователь откажется её продлевать и отменит подписку.
Важно! В случае получения повторного уведомления типа Изменения статуса подписки (с тем же
subscription_id
) ответ должен в точности повторять ответ для исходного уведомления.
Например, если было отправлено это уведомление, и был получен положительный ответ, но он не дошел до сервера ВКонтакте, или по каким-то временным причинам не удалось перевести заблокированные средства на счет приложения сразу после получения ответа, такое же уведомление будет отправлено повторно. При этом не нужно выполнять новый заказ, достаточно просто прислать тот же ответ, что и в предыдущий раз (сохранив у себя subscription_id
и проверив по нему, что такое уведомление уже приходило).
Обратите внимание — если подписка отменена по причине отсутствия средств на балансе пользователя, она может быть возобновлена в течение пяти дней (если в течение этих пяти дней пользователь пополнил баланс). В таком случае необходимо возобновлять именно существующую подписку, новую создавать не нужно.
Параметры уведомления
Название параметра | Примечание |
---|---|
app_id integer , обязательный | Идентификатор приложения. |
cancel_reason string | Причина отмены. Возможные значения: user_decision — подписка отменена по инициативе пользователя; app_decision — подписка отменена по инициативе приложения (orders.cancelSubscription ); payment_fail — подписка отменена в результате ошибки платежа; unknown — отменена по другой причине. |
item_id string , обязательный | Идентификатор товара в приложении. |
item_price integer , обязательный | Стоимость. |
notification_type string , обязательный | Тип уведомления. Равен subscription_status_change или subscription_status_change_test . |
status string , обязательный | Новый статус подписки. Возможные значения: chargeable — подписка готова к оплате. Необходимо оформить заказ пользователю внутри приложения. В случае ответа об успехе платёжная система зачислит голоса на счёт приложения. Если в ответ будет получено сообщение об ошибке, заказ отменяется; active — подписка оформлена и активна; cancelled — подписка отменена. |
next_bill_time integer | Дата следующего платежа. |
pending_cancel integer | Подписка действует до конца платежного периода (status = active ). |
subscription_id integer , обязательный | Идентификатор подписки. |
user_id integer , обязательный | Идентификатор пользователя. |
sig string , обязательный | Подпись уведомления (см. Проверка подписи). |
Параметры ответа
Название параметра | Примечание |
---|---|
subscription_id integer , обязательный | Глобальный идентификатор подписки. |
app_order_id integer | Идентификатор заказа в приложении. Должен быть уникальным для каждого заказа. |
Пример ответа
{
"response": {
"subscription_id":1111,
"app_order_id":6492
}
}
Пример ответа в случае ошибки
{
"error": {
"error_code":21,
"error_msg":"Нет в наличии",
"critical":1
}
}