The Samsung IAP Unreal plugin comes with all the content necessary for your integration.
The guide explains how to use the Samsung In-App Purchase (IAP) functionality by integrating the Samsung IAP Unreal Engine Plugin.
Get Started
This section explains how to use the Samsung In-App Purchase(IAP) functionality by integrating the Samsung IAP Unreal Engine Plugin.
The Samsung IAP Unreal Engine Plugin supports Unreal Engine version 4.18 or higher.
Install the Plugin
Copy and enable the Unreal Engine Plugin.
If a <unreal_project_directory>/Plugins folder does not exist, create it.
From the Samsung IAP Unreal plugin, copy the SamsungIAP folder and its contents to <unreal_project_directory>/Plugins.
In the Edit->Plugins menu, enable the Samsung IAP Plugin.
Add Samsung IAP dependency
Modify the <unreal_project_name>.Buld.cs file by adding "SamsungIAP" to the PublicDependencyModuleNames section.
This section explains the fundamental aspects of integrating Samsung IAP functionality into your Android app by making plugin method calls to support the offering and sale of in-app items.
NoteFor details about Samsung IAP method calls, see the Programming Guide.
Include IAP Header File
Access the Samsung IAP API by including the IAP header file (IAP.h) in the related classes of your project.
Sample code:
#include "IAP.h"
Set IAP operating mode
Use the setOperationMode() method to set Samsung IAP to one of three operating modes:
SetOperationMode() Setting
Description
IAP_MODE_PRODUCTION
Mode for normal and beta release
Successful or failure results can be returned for all requests
Caution: Successful purchase requests and payment transactions result in financial billing of the user
IAP_MODE_TEST
Mode for app development and testing
Successful or failure results can be returned
Successful purchase requests for licensed testers do not result in payment transactions or financial billing
Purchase requests for users who are not licensed testers result in an error message displayed
For requests that succeed, successful results are returned
For requests that fail (for example, due to network issues), failure results are returned
IAP_MODE_TEST_FAILURE
Mode for app development and testing
Failure results are returned for all requests
Purchase requests do not result in in payment transactions or financial billing
During app development and testing:
Either test mode can be set.
IAP_MODE_PRODUCTION mode must not be set.
CautionIf production mode is set, all requests are blocked and an error is returned.
For beta release:
IAP_MODE_PRODUCTION mode must be set.
All beta testers download paid beta apps for free.
Beta testers who are not whitelisted will be financially billed for in-app items, and they can test in-app purchase functionality.
Beta testers who are whitelisted get in-app items for free, but they cannot test purchase functionality.
For validation testing and for normal release:
IAP_MODE_PRODUCTION mode must be set prior to submitting an app and its in-app items to validation testing.
CautionIf IAP_MODE_TEST mode is set, purchase requests for paid apps and in-app items will not result in financial billing of the whitelisted user.
If IAP_MODE_TEST_FAILURE is set, all requests will fail.
Sample code:
samsung::IAP::setOperationMode(IAP_MODE_TEST);
Query previously purchased items
Use the getOwnedList() method to get information about some or all of the items the user has already purchased:
GetOwnedList() Setting
Description
PRODUCT_TYPE_ITEM
Returns all purchased non-consumable items, and consumable items that have not been consumed
PRODUCT_TYPE_SUBSCRIPTION
Returns all purchased subscription items with active subscriptions
PRODUCT_TYPE_ALL
Returns all purchased non-consumable items, consumable items that have not been consumed, and subscription items with active subscriptions
NotePurchased consumable items that were previously reported as consumed are not returned. Purchased subscription items with expired subscriptions are not returned.
Sample code:
samsung::IAP::getOwnedList(PRODUCT_TYPE_ALL);
After processing is complete, the onGetOwnedProducts callback is triggered, containing information about the specified purchased items and API call processing.
Query Offered Samsung IAP Items
Use the getProductsDetails() method and the following parameter settings to get information (including, localized description, price, and currency symbol) about some or all of the registered in-app items that are available for user purchase:
Specify one or more unique in-app item ID values (comma delimited) get information about the specified items.
Specify an empty string ("") gets information about all registered items.
Sample code:
//Get information about three in-app items
samsung::IAP::getProductsDetails("com.mygame.product1, com.mygame.product2, com.mygame.product3");
//Get information about all in-app items
samsung::IAP::getProductsDetails("");
After processing is complete, the onGetProductsDetails callback is triggered, containing information about the specified registered items and API call processing.
Initiate a purchase and payment transaction
Use the startPayment() method to initiate a purchase and payment transaction for a specified in-app item.
You can specify your own pass-through parameter, and use it later to identify the purchase when verifying the purchase and payment transaction. You must specify whether or not a dialog box is to notify users when the transaction was successful.
Sample code:
//Start purchase and payment of an in-app item.
samsung::IAP::startPayment("com.mygame.product1", "pass_through_value", true);
After processing is complete, the onPayment callback is triggered,
which contains information about the purchased item, the transaction, and API call processing.
Enable a purchased consumable item to be purchased again
Use the consumePurchasedItems() method and the purchase ID of a consumable in-app item to enable it to be purchased again (whether or not the user has actually used the item).
Your app receives an item's purchase ID in the onPayment and onGetOwnedList callbacks. Sample code:
After processing is complete, the onConsumePurchasedItems callback is triggered, which contains information about the consumed item and API call processing.
Listen to callback events
Implement an IAP Listener class to receive information in all the Samsung IAP callback events.
We use cookies to improve your experience on our website and to show you relevant
advertising. Manage you settings for our cookies below.
Essential Cookies
These cookies are essential as they enable you to move around the website. This
category cannot be disabled.
Company
Domain
Samsung Electronics
.samsungdeveloperconference.com
Analytical/Performance Cookies
These cookies collect information about how you use our website. for example which
pages you visit most often. All information these cookies collect is used to improve
how the website works.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Functionality Cookies
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and
tailor the website to provide enhanced features and content for you.
Company
Domain
LinkedIn
.ads.linkedin.com, .linkedin.com
Advertising Cookies
These cookies gather information about your browser habits. They remember that
you've visited our website and share this information with other organizations such
as advertisers.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Preferences Submitted
You have successfully updated your cookie preferences.