Продажа подписок
В Одноклассниках реализована возможность предлагать пользователю внутриигровые бонусы, товары и услуги не в формате разовой покупки, а в формате регулярной подписки на товар.
В таком случае ОКи за услугу будут списываться с пользователя не единожды, а каждый раз по истечению некоторого времени.
Продажа подписок отличается от продажи товаров. Одноклассники отправляют уведомление на сервер приложения только при оплате или отмене подписки.
Как реализовать продажу подписок
Шаг 1. Подготовьте подписку
Пришлите на адрес [email protected] данные о подписке:
Параметр | Описание | Единица измерения |
|---|---|---|
Триальный период | Длительность бесплатного периода подписки. Минимальная длительность — 1 день. Если триальная подписка не предусмотрена, укажите 0. | Дни, часы, минуты. |
Длительность | Длительность одного периода подписки. Минимальная длительность подписки — 1 неделя. | Дни, часы, минуты |
Стоимость | Цена подписки за один период. | ОКи |
Иконка подписки | Ссылка на иконку подписки с разрешением 256×256 px. | |
productId | Строковый идентификатор подписки в Одноклассниках. | |
Название | Название подписки (1-3 слова). В названии должна отражаться суть подписки. | |
Описание | Краткое описание подписки (1-2 предложения). В описании укажите, на какую услугу подписывается пользователь, что он покупает. |
Например, данные подписки могут выглядеть так:
- •Триальный период — 3 дня.
- •Длительность — 1 день.
- •Стоимость — 50 ОКов.
- •productId — apples.
- •Название — Три яблока.
- •Описание — Получайте три бонусных яблока каждый день!
Шаг 2. Подготовьте серверную часть приложения
- 1.
На сервере приложения определите URL, который будет использоваться для приёма уведомлений об оплате или отмене подписки.
- 2.
На стороне сервера реализуйте обработку уведомлений, которые отправляет площадка в виде GET-запроса. Это уведомление используется при покупке подписки.
Подробнее — в разделе Обработка запросов в Одноклассниках.
Шаг 3. Укажите адрес обратного вызова в настройках приложения
В настройках вашего приложения в панели управления укажите URL для платёжных уведомлений Одноклассников, заданный на Шаге 2.
Настройка URL для платёжного уведомления
Шаг 4. Вызовите событие VK Bridge для показа окна покупки
Для вызова окна продажи подписки на стороне пользователя используйте событие VKWebAppShowSubscriptionBox библиотеки VK Bridge, например:
bridge.send('VKWebAppShowSubscriptionBox', {
action: 'create',
item: 'sale_item_subscription_1', // Идентификатор подписки
})
.then( (data) => {
console.log('Покупка прошла успешно', data);
})
.catch( (e) => {
console.log('Ошибка!', e);
})
- •В Одноклассниках поддерживаются только значения
createиresumeпараметраaction. В обоих случаях создаётся новая подписка. - •В параметре
itemпередаётся значение, которые вы передавали вproductIdпри отправке данных о подписке.
Обмен данными
- 1.
Чтобы показать окно оформления подписки, вызовите событие
VKWebAppShowSubscriptionBoxбиблиотеки VK Bridge.- •
Библиотека VK Bridge отправляет запрос площадке, которая, предоставляет информацию о подписке для отображения в окне покупки. Информацию о подписке разработчик заранее отправляет на электронный адрес.
- •
Площадка проверяет, достаточно ли у пользователя ОКов на счёте.
Если виртуальной валюты достаточно, площадка покажет диалоговое окно для подтверждения платежа.
Если виртуальной валюты недостаточно, площадка предложит пользователю докупить их с помощью банковской карты или электронного кошелька. После покупки обмен данными между площадкой и сервером приложения проходит так же, как и в случае с достаточным количеством виртуальной валюты на счёте.
- •
- 2.
После того как пользователь нажмёт Оплатить в окне покупки:
- •
Площадка отправляет серверу приложения на URL платёжных уведомлений в Одноклассниках уведомление в виде GET-запроса, который сообщает, что пользователь оформил подписку.
При оформлении подписки в параметре
extra_attributesпередаются данные о подписке. Подробнее — в разделе Обработка платёжных уведомлений в Одноклассниках. - •
Сервер приложения предоставляет пользователю подписку и возвращает площадке ответ об успешной обработке заказа. После получения ответа площадка считает подписку оформленной.
Приложение, в свою очередь, может выполнить какие-либо действия, которые визуально покажут пользователю, что покупка состоялась.
- •
Важные замечания, касающиеся работы с подписками
- •
Площадка Одноклассники отправляет уведомления только при продаже или отмене подписки.
Уведомления не приходят про регулярном продлении подписки. В этом случае площадка просто списывает деньги со счёта пользователя на счёт вашего приложения.
- •
Для сообщения об изменении статуса подписки площадка отсылает GET-запрос. Это уведомление используется и для покупки, и для отмены подписки. Для определения конкретного действия нужно анализировать параметр
extra_attributesэтого уведомления.
Отмена и восстановление подписки
Отмена подписки возможна в следующих случаях:
- •
Если при очередном списании на счёте пользователя недостаточно ОКов.
Площадка сначала попытается пополнить счёт с банковской карты, электронного кошелька.
Если пополнить количество ОКов не удаётся, Одноклассники отменит подписку.
Если пользователь пополнит свой счёт в течение 5 дней, подписка восстановится автоматически.
- •
Если пользователь отменил подписку по собственной инициативе.
Пользователь может отменить подписку на странице странице управления платежами и подписками.
Тестовый режим
Важно протестировать работу приложения, связанную с покупками и платежами, перед тем, как сделать его доступным широкому кругу пользователей.
Подробнее о получении доступа к тестовому режиму платежей и рекламы в документации — API Одноклассники.
Материалы по теме
- •
- •