HOME.en.md


RU EN
🏠 Home ❮ Back

Unreal Plugin RuStore for Receiving Payments Through Third-Party Applications

The RuStoreBillingClient plugin helps integrate a payment mechanism through third-party applications (e.g., SberPay or SBP) into your project.
Unreal Engine versions 5.3 and higher are supported.

Installing the Plugin in Your Project

  1. Go to the Releases section of the project repository on GitFlic.

  2. Download the artifacts from the selected release:

    • RuStoreBilling.zip
    • RuStoreCore.zip
  3. Unpack the downloaded archives into the Plugins folder in the root of your Unreal project, so that the following structure is obtained:

📁 your_project
└─ 📁 Plugins
   ├─ 📁 RuStoreBilling
   │  ├─ 📁 Binaries
   │  ├─ 📁 Content
   │  ├─ 📁 Intermediate
   │  ├─ 📁 Resources
   │  ├─ 📁 Source
   │  └─ RuStoreBilling.uplugin
   └─ 📁 RuStoreCore
      ├─ 📁 Binaries
      ├─ 📁 Content
      ├─ 📁 Intermediate
      ├─ 📁 Resources
      ├─ 📁 Source
      └─ RuStoreCore.uplugin
  1. Restart Unreal Engine.

  2. In the plugin list (Edit → Plugins → Project → Mobile), check the plugins RuStoreBilling and RuStoreCore.

  3. Add the modules RuStoreCore and RuStoreBilling to the PublicDependencyModuleNames list in the YourProject.Build.cs file.

  4. In the project settings (Edit → Project Settings → Android), set Minimum SDK Version to at least 24 and Target SDK Version to at least 31.

Deeplink Handling

For the correct operation of payment through third-party applications (SBP, SberPay, etc.), it is necessary to correctly implement deeplink handling.

The RuStore Billing plugin will automatically modify AndroidManifest.xml: 1. Removes the launching intent-filter from GameActivity or SplashActivity. 2. Adds an additional activity RuStoreBillingIntentFilterActivity with an intent-filter for launching the application and handling deeplink.

You can change this behavior in the file RuStoreBilling_UPL_Android.xml.

Your project must implement the string resource @string/rustore_app_scheme. To do this:

  1. Create a string resource file with the required value, for example, rustore_billing_values.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="rustore_app_scheme">yourscheme</string>
</resources>
  1. Add file copying to your project’s UPL script:
<?xml version="1.0" encoding="utf-8"?>
<root xmlns:android="http://schemas.android.com/apk/res/android">
    <resourceCopies>
        <copyFile src="$S(PluginDir)/rustore_billing_values.xml" dst="$S(BuildDir)/res/values/rustore_billing_values.xml" />
    </resourceCopies>
</root>

The value @string/rustore_app_scheme is the scheme of your deeplink. This scheme must match the scheme specified when initializing the billing client.

For more details on setting up deeplink, see the online guide.

SDK Initialization

Before calling library methods, you must initialize it.

FURuStoreBillingClientConfig config;
config.consoleApplicationId = "123456";
config.deeplinkScheme = "yourscheme";
config.enableLogs = false;

URuStoreBillingClient::Instance()->Init(config);

All operations with the client are also available from Blueprints.

  • consoleApplicationId — the identifier of your application in the RuStore Console.
  • deeplinkScheme — the deeplink scheme, must match the value of @string/rustore_app_scheme.
  • enableLogs — enables logging (default false).

The Package Name of the application must match the Package Name of the APK file that you published in the RuStore Console system. The keystore signature must match the signature of the published application.

Calling Init() binds the object to the scene root, and if no further work with the object is planned, the Dispose() method must be called to free memory.

For more details about initialization, see the online guide.

Start studying the documentation of the RuStore library with the methods of the URuStoreBillingClient class. Or use the online guide.

Technical Support

Additional help and instructions are available in the RuStore documentation and by email at support@rustore.ru.

Distribution Terms

This software, including source codes, binary libraries, and other files, is distributed under the MIT license. Licensing information is available in the document MIT-LICENSE.