HOME.en.md
Unreal Plugin RuStore for Payment Acceptance
The RuStorePayClient plugin helps integrate the payment mechanism into your project. Unreal Engine versions 5.3 and above are supported.
Installing the plugin in your project
-
Go to the Releases section of the project repository on GitFlic.
-
Download the artifacts from the selected release:
RuStorePay.zipRuStoreCore.zip
-
Unpack the downloaded archives into the
Pluginsfolder inside your project to get the following structure:
📁 your_project
└─ 📁 Plugins
├─ 📁 RuStorePay
│ ├─ 📁 Resources
│ ├─ 📁 Source
│ └─ RuStorePay.uplugin
└─ 📁 RuStoreCore
├─ 📁 Resources
├─ 📁 Source
└─ RuStoreCore.uplugin
-
Restart Unreal Engine.
-
In the plugin list (Edit ➝ Plugins ➝ PROJECT ➝ Mobile), check the RuStore Pay and RuStore Core plugins.
-
In the
YourProject.Build.csfile, in thePublicDependencyModuleNameslist, add theRuStoreCoreandRuStorePaymodules. -
In the project settings (Edit ➝ Project Settings ➝ Android), set the parameters:
- Minimum SDK Version — not lower than 24;
- Target SDK Version — not lower than 34.
Handling deeplink
Deeplink in the RuStore payment SDK is needed for correct operation with third-party payment applications. It helps users make purchases in a third-party application faster and return to your application.
The RuStore Pay plugin will automatically add the RuStorePayIntentFilterActivity activity with an intent-filter to AndroidManifest.xml for handling deeplink. You can change this behavior in the RuStorePay_Manifest_UPL.xml file.
For more details on setting up deeplink, see the online guide.
Initializing the SDK
Before calling the library methods, you must initialize it.
URuStorePayClient::Instance()->Init();
For the SDK to work, the RuStore Pay plugin will add 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 defined 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>
The 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 valueunreal-engine.
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.
For more details on initialization, see the online guide.
Working with the SDK
Start studying 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 document MIT-LICENSE.