Перейти к основному содержимому

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

Теперь пользователи смогут оплачивать покупки и подписки в вашем приложении, даже если на их устройствах не установлен RuStore. При оплате подписок им нужно будет авторизоваться по VK ID, а при оплате покупок внутри приложения достаточно указать e-mail для отправки чека.

примечание

Функция доступна при использовании SDK платежей версии 6.1.0 и выше. Перед использованием SDK выполните рекомендации по доработке.

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

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

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

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

примечание

Функция доступна при использовании SDK платежей версии 7.0.0 и выше.

  • Оплата без авторизации по VK ID доступна только для покупки потребляемых и непотребляемых товаров внутри приложения. Оплата подписки без авторизации недоступна.
  • Покупателю нужно указать e-mail для отправки чека.
  • Способы оплаты не сохраняются, поэтому при каждой покупке необходимо заново указывать данные для оплаты. Чтобы способы оплаты сохранялись и были доступны при оплате, покупателю нужно быть авторизованным по VK ID.
  • Приложение не должно запрашивать список покупок, поскольку это невозможно сделать для неавторизованного пользователя. Чтобы исключить вызов этого метода SDK, cм. рекомендации по доработке перед использованием SDK.
  • Вернуть платёж неавторизованному покупателю можно только по чеку, который он получил на e-mail, указанный при покупке. См. возврат платежа неавторизованному пользователю.

Особенности покупок c авторизацией

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

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

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

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

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

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

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

    Также мотивируйте пользователя использовать учетную запись (например, Google Play) для сохранения игрового прогресса и покупок.

    Если исключить указанные обращения к SDK, пользователю нужно будет авторизоваться только при оплате покупок.

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

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

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

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

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

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

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

Начиная с версии SDK 7.0.0 покупка продукта работает без обязательной авторизации по VK ID пользователя (достаточно указать email для чека). Метод getPurchases всегда требует авторизации по VK ID от пользователя.

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

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

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

  • getPurchases
  • getProducts
  • purchaseProduct

Начиная с версии SDK 8.0.0 метод getProduct работает без авторизации для пользователя неавторизованного в RuStore. Также, начиная с версии 8.0.0 нет обязательной необходимости авторизовывать пользователя в RuStore. При вызове метода purchaseProduct внутренняя логика платежной SDK позволит пользователю купить товар, авторизовавшись по VK ID или указав email для чека на шторке оплат. При вызове метода getPurchases пользователю будет необходимо авторизоваться по VK ID на шторке оплат. Запрос авторизации также появится вновь, если прошло более 900 секунд после предыдущего вызова методов SDK.

Для версии SDK ниже 8.0.0 необходимо авторизовать пользователя в RuStore. После проверки наличия RuStore на устройстве, воспользуйтесь методом getAuthorizationStatus чтобы проверить, авторизован ли пользователь в Rustore. Используйте метод SDK RuStoreUtils.openRuStoreAuthorization(context: Context) чтобы открыть экран авторизации в RuStore. После успешной авторизации пользователь автоматически вернется в Ваше приложение. Повторная авторизация не потребуется до тех пор, пока пользователь не выйдет из профиля в приложении RuStore.

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

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

Читайте также: