Управление подпиской пользователя
Для управления подпиской пользователя реализуйте в приложении следующую логику:
- Запросите список имеющихся у пользователя подписок и отобразите их в приложении.
- Реализуйте управление подпиской — откройте личный кабинет подписчика или управляйте конкретными подписками из вашего приложения.
Упрощенный вариант реализации приведен в примере.
Покупка и управление подпиской доступны только авторизованным пользователям. Информация о способах аутентификации пользователей с помощью методов SDK приведена в разделе Аутентификация.
В примерах кода для упрощенной демонстрации работы с подписками используется аутентификация пользователя по имени пользователя и паролю (метод XsollaAuth.SignIn) с жестко заданными учетными данными. В реальном приложении вам потребуется реализовать полноценную логику аутентификации и проверки текущей сессии пользователя с помощью метода XsollaAuth.AuthBySavedToken.
Получение подписок пользователя
Чтобы получить все активные подписки пользователя, используйте метод XsollaSubscriptions.GetSubscriptions. Метод вернет подписки со статусами active, non_renewing и freeze, привязанные к аккаунту текущего пользователя.
Дополнительно вы можете запросить подробную информацию о каждой подписке с помощью метода XsollaSubscriptions.GetSubscriptionDetails.
Используйте полученные данные (объект SubscriptionItem) для отображения интерфейса управления подписками в приложении.
Основные поля для настройки UI-виджетов:
plan_name— название подписки.status— текущее состояние подписки (new,active,canceled,non_renewing,freeze).date_next_charge— дата и время следующего автоматического списания.charge— информация о регулярном платеже. Объект содержит цену (amount) и валюту (currency).
Управление подпиской
Переход в личный кабинет подписчика
Xsolla предоставляет готовый интерфейс — личный кабинет подписчика, с помощью которого пользователи могут получать информацию о своих подписках, и управлять ими. Это наиболее простой и рекомендуемый способ реализации управления подпиской.
Основные возможности:
- просмотр информации о подписке;
- управление подпиской — немедленная отмена, отключение автоматического продления или повторная активация (в зависимости от настроек проекта, заданных вами);
- изменение плана подписки;
- замена способа оплаты.
Чтобы отобразить пользователю его личный кабинет, вызовите метод XsollaSubscriptions.GetUserAccountUrl. После успешного выполнения запроса в функцию обратного вызова будет передан объект UserAccountLink со ссылкой на интерфейс личного кабинета. Чтобы открыть ссылку во внешнем браузере или встроенном WebView, используйте метод XsollaWebBrowser.Open.
Управление выбранной подпиской
Чтобы открыть интерфейс управления конкретной подпиской из вашего приложения, используйте метод XsollaSubscriptions.GetSubscriptionManagementUrl. После успешного выполнения запроса в функцию обратного вызова будет передан объект PaymentLink со ссылкой на интерфейс управления подпиской. Чтобы открыть ссылку во внешнем браузере или встроенном WebView, используйте метод XsollaWebBrowser.Open.
Отмена подписки
Чтобы реализовать отмену подписки из интерфейса вашего приложения, используйте метод XsollaSubscriptions.CancelSubscription. Метод отключает автопродление, при этом подписка переходит в статус non_renewing. Т. е. в следующем периоде не произойдет автоматическое списание средств, подписка остается активной до конца оплаченного периода.
Продление подписки
Чтобы реализовать переход к интерфейсу продления подписки из вашего приложения, используйте метод XsollaSubscriptions.GetSubscriptionRenewalUrl. После успешного выполнения запроса в функцию обратного вызова будет передан объект PaymentLink со ссылкой на интерфейс продления подписки. Чтобы открыть ссылку во внешнем браузере или встроенном WebView, используйте метод XsollaWebBrowser.Open.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.