HOME.en.md


RU EN
🏠 Home ❮ Back

RuStore Unreal Plugin for Accepting Payments

The RuStorePayClient plugin helps integrate a payment mechanism into your project. Unreal Engine versions 5.3 and higher are supported.

Installing the plugin into your project

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

  2. Download the following artifacts from the selected release:

    • RuStorePay.zip
    • RuStoreCore.zip
  3. Extract the downloaded archives into the Plugins folder inside your project, so that the following structure is obtained:

📁 your_project
└─ 📁 Plugins
   ├─ 📁 RuStorePay
   │  ├─ 📁 Resources
   │  ├─ 📁 Source
   │  └─ RuStorePay.uplugin
   └─ 📁 RuStoreCore
      ├─ 📁 Resources
      ├─ 📁 Source
      └─ RuStoreCore.uplugin
  1. Restart Unreal Engine.

  2. In the plugin list (Edit ➝ Plugins ➝ PROJECT ➝ Mobile), check the RuStore Pay and RuStore Core plugins.

  3. In the YourProject.Build.cs file, add the RuStoreCore and RuStorePay modules to the PublicDependencyModuleNames list.

  4. In the project settings (Edit ➝ Project Settings ➝ Android), set the following parameters:

  5. Minimum SDK Version — must be at least 24;
  6. Target SDK Version — must be at least 34.

Deeplink handling

A deeplink in the RuStore payment SDK is needed to work correctly with third-party payment applications. It helps users make purchases faster in a third-party application and return to your application.

The RuStore Pay plugin will automatically add the RuStorePayIntentFilterActivity activity with an intent-filter for handling the deeplink to AndroidManifest.xml. This behavior can be changed in the RuStorePay_Manifest_UPL.xml file.

For more details on deeplink configuration, see the online guide.

SDK initialization

Before calling library methods, you must initialize it.

URuStorePayClient::Instance()->Init();

For the SDK to work, the RuStore Pay plugin will add the console_app_id_value, internal_config_key, and sdk_pay_scheme_value data to AndroidManifest.xml via RuStorePay_Manifest_UPL.xml. All values are placed inside the <application> tag.

All values must be specified in a resource file, for example: rustore_pay_values.xml.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="rustore_PayClientSettings_consoleApplicationId">198332</string>
    <string name="rustore_PayClientSettings_internalConfigKey" translatable="false">unreal-engine</string>
    <string name="rustore_PayClientSettings_deeplinkScheme" translatable="false">yourappscheme</string>
</resources>

A resource file can be included in the project via your project’s UPL file:

<?xml version="1.0" encoding="utf-8"?>
<root xmlns:android="http://schemas.android.com/apk/res/android">
    <resourceCopies>
        <copyFile src="$S(PluginDir)/rustore_pay_values.xml" dst="$S(BuildDir)/res/values/rustore_pay_values.xml" />
    </resourceCopies>
</root>
  • consoleApplicationId — the identifier of your application in the RuStore Console.
  • sdk_pay_scheme_value — the deeplink scheme.
  • internal_config_key — always has the value unreal-engine.

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

For more details about initialization, see the online guide.

Working with the SDK

Start exploring the RuStore library documentation with the methods of the URuStorePayClient 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 code, binary libraries, and other files, is distributed under the MIT license. Licensing information is available in the MIT-LICENSE document.