Skip to main content

Приём платежей без установки RuStore

Теперь пользователи смогут оплачивать покупки и подписки в вашем приложении, даже если на их устройствах не установлен RuStore.

Преимущества

Вы сможете увеличить объём выручки и привлечь лояльную аудиторию, поскольку теперь:

  • пользователи могут оплачивать покупки, даже если они пока не установили RuStore;
  • вы можете продолжать принимать платежи, публикуя приложения на разных площадках.

Технические особенности

  • Функция доступна при использовании SDK платежей версии 6.0.0 и выше.
  • Пользователю необходимо авторизоваться по VK ID, когда SDK платежей получает запрос списка покупок (метод getPurchases) или списка доступных к покупке продуктов (метод getProducts).
  • Пользователю необходимо авторизоваться по VK ID, когда он оплачивает покупку.
  • При авторизации пользователь увидит предложение установить RuStore, чтобы оплачивать покупки без дополнительных авторизаций.

Шторка авторизации RuStore выглядит следующим образом:

img

Перед использованием SDK

Рекомендуем выполнить следующие доработки перед переходом на SDK платежей версии 6.0.0 и выше.

  • Сократите количество запросов на авторизацию

    Ваше приложение может запрашивать у SDK список покупок или доступных к покупке продуктов. Например, когда нужно показать пользователю игровой баланс, версию подписки или проверить, покупал ли он PRO-версию приложения.

    При таких запросах пользователю почти каждый раз нужно будет авторизоваться по VK ID. Это неудобно и может не понравиться пользователям.

    Чтобы сократить количество запросов на авторизацию, замените обращения к SDK платежей (методы getPurchases и getProducts) на обращения к внутренней логике приложения. Вы можете сохранить списки покупок и продуктов внутри приложения или на сервере, и обновлять эти данные с помощью RuStore API.

    В этом случае пользователю нужно будет авторизоваться только при оплате покупок.

  • Настройте аналитику

    Если вы опубликовали приложение на разных площадках и хотите разделить потоки платежей по источнику установки приложения, создайте разные варианты сборки на основе build flavors. Это позволит собирать аналитику в зависимости от канала дистрибуции.

Действия пользователя

Процедура оплаты покупок описана в пользовательской документации. В ней же можно найти подсказки о том, как упростить авторизацию по по VK ID.

Особенности запросов на авторизацию

В таблице описано, при каких условиях и как часто пользователь получает запрос на авторизацию.

УсловияЗапрос авторизацииОсобенности
RuStore не установлен на устройстве

Запрос авторизации появляется:

  • в каждой сессии работы с приложением при вызове методов SDK:
    • getPurchases
    • getProduct
    • purchaseProduct
  • если в течение одной сессии работы с приложение прошло более 900 секунд после предыдущего вызова методов SDK:
    • getPurchases
    • getProduct
    • purchaseProduct

При втором и последующем вызове авторизации в рамках одной сессии работы с приложением, авторизация выполняется в один клик.

Чтобы проверить наличие RuStore на устройстве, воспользуйтесь методом isRuStoreInstalled из набора утилит RuStoreUtils. Данный метод вернет true или false в зависимости от наличия RuStore

RuStore установлен на устройстве, но пользователь не авторизован

Запрос авторизации появляется при вызове методов SDK:

  • getPurchases
  • getProduct
  • purchaseProduct

Для авторизации пользователь направляется в приложение RuStore. Повторная авторизация не требуется, пока пользователь не выйдет из профиля в приложении RuStore.

Чтобы проверить доступность платежей, воспользуйтесь методом checkPurchasesAvailability. Если все необходимые условия выполняются, возвращается FeatureAvailabilityResult.Available. В противном случае возвращается FeatureAvailabilityResult.Unavailable(val cause: RuStoreException), где cause — это ошибка о невыполненном условии. Все возможные ошибки RuStoreException описаны в разделе Обработка ошибок

RuStore установлен на устройстве, пользователь авторизован

Авторизация проверяется бесшовно для пользователя