# In-app products

## Registering In-app products

An in-app product refers to an item that can be sold within the app. Product information is commonly used across all operating systems supported by ONE store.&#x20;

{% hint style="info" %}
The sales status of the same in-app product may differ depending on the OS.
{% endhint %}

### Registering Managed Products

* **In-App ID**: Enter a unique In-App ID within your app and check for duplicates.
* **In-App Product Title**: Enter the title of your in-app product.
  * The 'default' language for the In-App product title is the language used on ONE store in South Korea.
  * If you want to display the product title in countries other than Korea, you can add In-App product titles for each language by clicking the 'Add Language' button.
  * The In-App product title for each language will be displayed to users whose language information matches that language.\
    (For example, if you add an English In-App product title, users whose language is set to English will see the English title.)
* **In-App Default Price**: The default price is only used to generate local prices in the distribution countries/regions. The default price does not include tax, and the local price reflects the current exchange rate as well as country/region-specific pricing policies (regarding decimal points and tax inclusion).&#x20;
  * The currency for setting the default price can be changed in the default price currency setting menu.
  * The available currencies are KRW/SGD/TWD/USD, and when changed, the default price currency for all products will be changed together. (This does not affect the local prices.)
* **Local Prices**: This is the price of the in-app product to be sold in each distribution country/region according to the distribution settings.&#x20;
  * By clicking the 'Exchange rate update' button, the exchange rate is automatically calculated and updated based on the price entered for the In-App default price.
  * It is also possible to manually edit the updated price.
  * In cases like the United States, where different tax rates exist within a single country/region, the local price is entered based on the supply value.\
    (When updating the exchange rate, it will also be updated based on the supply value.)&#x20;

{% hint style="info" %}
For apps with ONE store In-App Payment SDK versions below V19, distribution to countries/regions other than South Korea is not possible. Therefore, the in-app default price is the price used in ONE store South Korea, and local prices are not provided.
{% endhint %}

* Once all inputs are complete, click the "Save" button at the bottom.

### Registering Subscription Products

* **Subscription Product Title**: Enter the title of the subscription product.
  * The ‘default’ language for the subscription product title is the language used in ONE store in South Korea.
  * If you want the product title to appear in countries other than South Korea, you can click the ‘Add Language’ button to add subscription product titles for each language.
  * The subscription product title for each language will be displayed if it matches the user’s language information.\
    (e.g. If an English subscription product title is added, users whose language is set to English will see the English subscription product title.)
* **Subscription Product Default Price**: The subscription product default price is used only to generate local prices for the subscription product in the distributed countries/regions.\
  The default price does not include tax, and the local price reflects the current day’s exchange rate and each country/region’s pricing policy (including rules on decimals and taxes).
  * The currency for setting the default price can be changed in the default price currency setting menu.
  * Available currencies are KRW/SGD/TWD/USD, and changing it will also change the default price currency for all products. (This does not affect local prices.)
* **Subscription Product Local Price**: This is the price of the subscription product sold in each distributed country/region.
  * By clicking the ‘Update Exchange Rate’ button, the price entered for the subscription product default price will automatically be converted using the current exchange rate and updated.
  * You can also manually modify the updated price.
  * In countries and regions like the United States where there are various tax rates within a single country/region, the local price should be entered based on the supply price. (Exchange rate updates will also be based on the supply price.)\\
  * When a user makes a payment, the price will be charged including tax based on the user’s place of residence.

{% hint style="danger" %}
- Subscription products are not yet available in Singapore and Taiwan.
- While you can pre-enter local prices, the product information will not be distributed, and it will automatically be distributed when subscription services become available in the future.
{% endhint %}

* **Subscription Billing Period**: Select how long users can access this subscription product. Billing recurs according to your selected period:
  * Weekly / Monthly / 3 Months / 6 Months / Yearly
  * For monthly subscriptions, billing occurs on the same date each subsequent month (this also applies to 3-month and 6-month subscriptions).
  * Example: If billing starts on January 15th, the next billing will occur on February 15th.\
    If there is no matching date in a month, billing occurs on that month's last day.
  * Example: If billing starts on January 31st, subsequent billing occurs on February 28th (or 29th), then March 28th (or 29th), and so forth.
* **Free Trial Period**: Offering a free trial allows customers to experience your subscription before deciding whether to continue subscribing. A free trial cannot be provided more than once per subscription product per customer.
* **Introductory Promotional Pricing**: You can set promotional pricing and duration for new subscribers. The promotional price cannot exceed the regular subscription base price.\
  The promotional billing duration follows your selected subscription billing period.\
  Example: For a monthly subscription with a promotional period of three billing cycles, customers pay discounted rates for three consecutive billings (three months).
* **Local introductory Price**: This is the new discount promotion price for sales in each distributed country/region.

{% hint style="warning" %}
For subscriptions started after August 25, 2025 in South Korea, if the user does not agree before the free trial or new discount period ends, the subscription will be canceled.

* ONE store requests consent from users via email and ONE store notifications starting 30 days before the promotion period ends.
* Also, consent is obtained in the ONE store subscription management screen, and developers can request consent from customers within the app by using the [Opening Subscription Management Screen](https://onestore-dev.gitbook.io/dev/eng/tools/billing/v21/sdk#id-04.-sdk-10).
{% endhint %}

* **Grace Period**: Decide whether to provide a grace period when payment issues occur. If provided, customers can continue accessing content normally during this period. Even without setting a grace period, subscriptions won't immediately cancel when payment issues occur. Instead, user accounts enter a suspended state; resolving payment issues during suspension resumes regular billing.
* Once all inputs are complete, click the "Save" button at the bottom.

### Managing Subscription Product Settings

* Click "Manage Subscription Settings" from the Subscription Products menu.
* In this menu, you can configure pause settings and enable or disable free trials per subscription.
* Pause settings and free trial availability apply universally across all subscription products.

