Accepting Payments Without RuStore Installed
Users can now make payments and subscribe in your app, even if RuStore is not installed on their devices.
When making subscription payments, users will need to log in with their VK ID, but for in-app purchases, just providing an email for the receipt will be enough.
This feature is available when using the Payments SDK v.6.1.0 or higher. Please follow the recommended SDK adjustments before implementing the SDK.
Advantages
Boost your revenue and build a loyal audience with the following benefits:
- Users can make purchases without having to install RuStore.
- You can keep accepting payments while publishing your apps across multiple platforms.
Purchases For Unauthorized Users
-
Payments without VK ID authorization are only available for consumable and non-consumable in-app purchases. Subscription payments still require authorization.
-
The buyer must provide an email address to receive a receipt for the purchase.
-
During payment, the buyer will be prompted to install RuStore to view their purchase history.
-
Payment methods are not saved, so the buyer will need to enter their payment details each time. To save payment methods for future purchases, the buyer must be logged in with VK ID.
-
The app should not request a list of purchases or available products, as this is not possible for unauthorized users. Refer to the recommended SDK adjustments for details on how to avoid these SDK calls.
-
Refunds for unauthorized buyers can only be processed using the receipt sent to the email provided at the time of purchase. See the Refund Process for Users Without Authorization for details.
Purchases For Authorized Users
-
Authorization via VK ID is required for subscription payments. However, buyers can choose to authorize when making in-app purchases as well.
-
During payment, buyers will be prompted to install RuStore, allowing them to skip authorization for future in-app payments.
-
Users must be logged in with VK ID when the Payments SDK requests the list of purchases (
getPurchases method
) or the list of available products (getProducts
method). To minimize the number of authorization requests, refer to the recommended SDK adjustments.
User Actions
The steps for making purchases are outlined in the user documentation. You'll also find tips there on how to streamline VK ID authorization.
Before you start
We recommend making the following improvements before upgrading to Payments SDK version 6.0.0 or higher.
Minimize Authorization Requests
Your app may need to retrieve a list of purchases or available products from the SDK, for instance, to show a user’s game balance, subscription status, or to verify if they’ve bought the PRO version.
These requests will often require the user to log in with their VK ID, which can be inconvenient and potentially frustrating for them.
To reduce the number of authorization prompts, replace calls to the Payment SDK (getPurchases and getProducts methods) with internal logic within your app. You can store purchase and product data locally or on a server and update it via the RuStore API.
Additionally, encourage users to link their account (such as Google Play) to save their game progress and purchases.
By minimizing these SDK requests, the user will only need to log in when making a purchase.
Set up Analytics
If your app is available on multiple platforms and you want to track payment flows based on the app's installation source, consider creating different build variants using build flavors. This will help you gather analytics specific to each distribution channel.
Authorization Request Features
This table specifies the conditions and frequency for which users receive authorization requests.
Context | Authorization request | Features |
---|---|---|
RuStore is not installed on the device | Authorization request looks like:
| Subsequent authorization requests within the same application session are completed with a single click. To verify if RuStore is installed on the device, use the |
RuStore is installed on the device, but the user is not authorized | An authorization request is triggered when calling SDK methods:
| To authorize, users are redirected to the RuStore application. Re-authorization is only required if the user logs out of their profile in RuStore. To check if payments are available, use the |
RuStore is installed on the device, and the user is authorized | Authorization is verified seamlessly for the user. |