Unity Plugin for Samsung IAP 6.1

Released on June 9, 2020

SamsungIAP_unity_plugin_v6.1.unitypackage211KB

The Samsung IAP Unity plugin comes with all the content necessary for your integration.

Plugins folder contains all Samsung IAP related scripts and libraries.
Menu Scene is the Unity scene that demonstrates all the functionality of the Samsung IAP Unity plugin.


Get Started

This section explains how to use Samsung In-App Purchase (IAP) functionality by integrating the Samsung IAP Unity Engine Plugin methods.

System Requirements

To avoid compatibility issues, the plugin requires the following SDKs:

Plugin Installation

To import the Samsung IAP Unity plugin into your project, in Unity click Assets -> Import Package.

Plugin Package Overview

The Samsung IAP Unity plugin comes with all the content necessary for your integration.

  • Plugins folder contains all Samsung IAP related scripts and libraries.
  • Menu Scene is the Unity scene that demonstrates all the functionality of the Samsung IAP Unity plugin.

Integrate Samsung IAP Functionality

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.

Samsung IAP Script

Drag-and-drop the Samsung IAP script into the GameObject of your choice.

Set IAP Operating Mode

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 do not result in payment transactions or financial billing
    • 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.

    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.

    Sample code:

    SamsungIAP.Instance.SetOperationMode(OperationMode.OPERATION_MODE_TEST);
    

    Query Available Samsung IAP Items

    Use the GetProductDetails() method to get detailed information (for example, item ID, price, and description) about some or all of the in-app items registered to your app that are available for user purchase:

    • Specify one or more unique in-app item ID values (comma delimited) to get information about the specified items.
    • Specify an empty string ("") to get information about all registered items.

    Sample code:

    //Get information about three in-app items SamsungIAP.Instance.GetProductDetails("com.mygame.product1, com.mygame.product2,
    com.mygame.product3", OnGetProductsDetails);
    
    //Get information about all in-app items
    SamsungIAP.Instance.GetProductDetails("", OnProductsDetails);
    

    After processing is complete, the OnGetProductsDetails callback is triggered, which contains information about the specified 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 for purchase and payment verification.

    SamsungIAP.Instance.StartPayment("com.mygame.product1", "pass_through_value", OnPayment);
    

    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:

    SamsungIAP.Instance.ConsumePurchasedItems(purchase_id, OnConsume);
    

    After processing is complete, the OnConsume callback is triggered, which contains information about the consumed item and API call processing.

    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

    Note: Purchased consumable items that were previously reported as consumed are not returned. Purchased subscription items with expired subscriptions are not returned.

    Sample code:

    SamsungIAP.Instance.GetOwnedList(ItemType.all, OnGetOwnedList);
    

    After processing is complete, the OnGetOwnedList callback is triggered, which contains information about the specified purchased items and API call processing.