ONE Store

Prev Next

Available in Classic and VPC

This is a console user guide for ONE Store builds.
For instructions on using the console other than integrating with GAMEPOT, see the following:

Add in-app product in console

  1. Access ONE Store Developer Center > Click Apps > Select project > In-app information > Managed product > Click the [Register in-app product] button.
    gamepot-OneStore01.png

  2. Enter the in-app product information, and click the [Save] button.
    gamepot-OneStore02.png

    • In-app ID: unique in-app ID (product id) value
    • In-app product title: in-app product name (name displayed to users)
    • In-app product type: GAMEPOT SDK only supports the "Managed product" type, so you must select "Managed product."
    • In-app base price: Enter a price including VAT in KRW.

Apply additional payment test

  1. Access ONE Store Developer Center > Click Apps > Select project > In-app information > Click Test payment.

  2. View test ID: Enter the ONE Store account (email information) to test the payment and click the [View] button.

    • If your ONE Store account is retrieved, you'll see the "Test ID lookup results" section at the bottom.
  3. Select "Sandbox or production payment" as your payment environment from the retrieved results and register.

    • After adding an in-app product, you need to set it to a sandbox environment for initial testing.
      gamepot-OneStore03.png

Register store information on GAMEPOT dashboard

  1. Click the GAMEPOT dashboard > Project settings > Store > ONE Store menus, in that order.
    gamepot-OneStore04.png

  2. You can check the information required for store registration in In-App information > Managed product > Manage in-app API.
    gamepot-OneStore05.png

    • Server key: Enter the license key value
    • Client ID: Enter the client ID value of the OAuth authentication information.
    • Client secret: Enter the client secret value of the OAuth authentication information.

Add in-app product in GAMEPOT dashboard

Click the GAMEPOT dashboard > Purchase > In-app purchase > [Add] button.

gamepot-GooglePlayStore16.png

  • Status: Register as Active status. (Unused products are deactivated.)
  • Store: Select the store where you want to register the in-app
  • Product name: in-app's product name
  • Product ID: in-app ID (Product Id) that you entered in the store console

Set up app

Set Kotlin Gradle

  1. Add the following definitions to the project's settings.gradle.kts file.

    dependencyResolutionManagement {
        repositories {
            ...
            google()
            // onestore repo
            maven(url = "https://repo.onestore.co.kr/repository/onestore-sdk-public")
        }
    }
    
  2. Add the SDK dependencies to the build.gradle.kts file in (Module : app) of the project.

    dependencies {
    ...
        implementation("io.nbase:nbase-adapter-billing-one:3.0.1")
        implementation("com.onestorecorp.sdk:sdk-iap:21.01.00")
    }
    
  3. Add the following queries to the AndroidManifest.xml file.

    <manifest>
        <queries>
            <intent>
                <action android:name="com.onestore.ipc.iap.IapService.ACTION" />
            </intent>
            <intent>
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme="onestore" />
            </intent>
        </queries>
        ...
        <application>
            ...
        </application>
    </manifest>
    

Set Gradle for Java

  1. Add the following definition to the build.gradle file in (Module : project) of the project.

    allprojects {
        repositories {
            ...
            google()
            // onestore repo
            maven { url "https://repo.onestore.co.kr/repository/onestore-sdk-public"}
        }
    }
    
  2. Add the SDK dependencies to the build.gradle file in (Module : app) of the project.

    dependencies {
    ...
        implementation("io.nbase:nbase-adapter-billing-one:3.0.1")
        implementation("com.onestorecorp.sdk:sdk-iap:21.01.00")
    }
    
  3. Add the following queries to the AndroidManifest.xml file.

    <manifest>
        <queries>
            <intent>
                <action android:name="com.onestore.ipc.iap.IapService.ACTION" />
            </intent>
            <intent>
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme="onestore" />
            </intent>
        </queries>
        ...
        <application>
            ...
        </application>
    </manifest>
    

Set Gradle for Unity

  1. Add the following definition in the Assets/NBaseSDK/Editor/NBaseSDKDependencies.xml file.

    <!-- # ONE Store -->
    <androidPackage spec="com.onestorecorp.sdk:sdk-iap:21.01.00"/>
        <repositories>
            <repository>https://repo.onestore.co.kr/repository/onestore-sdk-public</repository>
        </repositories>
    </androidPackage>
    <androidPackage spec="io.nbase:nbase-adapter-billing-one:3.0.1" />
    
  2. Run Assets > External Dependency Manager > Android Resolver > Force Resolve once.

  3. Add the following queries to the AndroidManifest.xml file of the project.

    <manifest>
        <queries>
            <intent>
                <action android:name="com.onestore.ipc.iap.IapService.ACTION" />
            </intent>
            <intent>
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme="onestore" />
            </intent>
        </queries>
        ...
        <application>
            ...
        </application>
    </manifest>
    

Troubleshooting

Q. When trying to make a payment on ONE Store, I get an error that reads responseCode: 3, message: An error occurred during the purchase process.
A. Check if your ONE Store login account is added as a payment tester.

Q. The payment fails immediately after completion.
A. When making payments in the sandbox environment, register the IP address of the payment environment as the Purchase/Coupon type via the whitelist path in Dashboard > Project settings > General > Webhook.
When making payments in the production environment, make sure that the IP address of the payment environment is not registered as the Purchase/Coupon type.