Изменение статуса подписки

Присылается в момент изменения статуса подписки. Обратите внимание, что статус подписки не меняется при продлении (списании нового платежа у пользователя). Вы не получите платёжное уведомление о продлении подписки — оно придёт лишь в том случае, если пользователь откажется её продлевать и отменит подписку.

Важно! В случае получения повторного уведомления типа Изменения статуса подписки (с тем же 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Идентификатор заказа в приложении. Должен быть уникальным для каждого заказа.

Пример ответа

JSON{ "response": { "subscription_id":1111, "app_order_id":6492 } }

Пример ответа в случае ошибки

JSON{ "error": { "error_code":21, "error_msg":"Нет в наличии", "critical":1 } }