> For the complete documentation index, see [llms.txt](https://onestore-dev.gitbook.io/dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://onestore-dev.gitbook.io/dev/cht/webshop/overview.md).

# Webshop Overview

ONEshop (Web Shop) is a web-based storefront that enables game developers to sell in-app products through their own payment channel. Developers can configure products, themes, and sections in the Cons

## What is a Web Shop? <a href="#id" id="id"></a>

* A Web Shop is a separate payment channel from in-app purchases, allowing game developers to directly configure and manage products, prices, and promotions.
* Web Shops are managed on a project (title) basis, with one Web Shop available for each project.
* Players can browse products without logging in. When making a purchase, they need to provide their game account information, such as their UID.

***

## ONEshop Player Flow <a href="#id" id="id"></a>

{% stepper %}
{% step %}

### Access the Web Shop

Players can access the Web Shop through an in-game link or by entering the Web Shop URL directly. By using [User information integration](broken://pages/EypKAdTiJXLpqs6gwAIn), the player's game ID and server information can be automatically passed to the Web Shop. On mobile devices where the ONE store app is installed and the user is already signed in, ONE store account integration allows players to purchase items immediately without a separate login.

<figure><img src="https://750271784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcs8LWlkAbJnzCUmymYwc%2Fuploads%2FQ1KlO4eipaTAn9dVLPLw%2Fimage.png?alt=media&amp;token=ff681759-aa5e-4d76-90f1-8ea55702bce2" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Browse Items

Players can browse products and bundles displayed in each section. The displayed currency and prices may vary depending on the player's country.
{% endstep %}

{% step %}

### Purchase Items

After selecting a product, players enter their identification information, such as UID, and proceed with payment. If the sales country is South Korea, players can also sign in with their ONE store account. When signed in to ONE store, the email entry and Terms and Conditions agreement steps are skipped, and players can use the payment methods already registered with their ONE store account.

Once payment is completed, a verification request is sent to the registered validation server. After verification, the game server processes the item delivery.

<figure><img src="https://750271784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcs8LWlkAbJnzCUmymYwc%2Fuploads%2Fc5kIxPYnXFxpHIKCMKhx%2Fimage.png?alt=media&amp;token=e2f0ebc8-e5e0-4f96-9f33-703763d9742b" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### View Purchase History

Players can view their purchase history directly within the Web Shop.
{% endstep %}
{% endstepper %}

## ONEshop Developer Onboarding Flow <a href="#id" id="id"></a>

{% hint style="info" %}
Just like with mobile apps, game developers can register items to sell in their Web Shop and start selling them through the [ONE store Developer Center](https://dev.onestore.net/).
{% endhint %}

{% stepper %}
{% step %}

### Register a Title

Create a new project (title) by searching the store or entering the information manually. For detailed instructions, see \[[Register New Title](broken://pages/iTgm6P9UamBp2ph2AK4Q)].
{% endstep %}

{% step %}

### Manage a Title

Configure basic information, icons, featured images, sales countries, and other settings.
{% endstep %}

{% step %}

### Register Items

Register in-app products for sale individually or in bulk using a CSV file.
{% endstep %}

{% step %}

### Manage Storefront

Configure sections, themes, and hero banners using the Web Shop Builder.
{% endstep %}

{% step %}

### Manage Integrations

Configure integration information between ONEshop and your game server, including license keys, Payment Notification Service (PNS), validation, and server lists.
{% endstep %}

{% step %}

### Test the Web Shop

Use a test account to verify the actual payment flow before launch.
{% endstep %}

{% step %}

### Request Review and Start Selling

Submit your Web Shop for review. Once approved, you can publish it immediately or schedule it to go live at a later time.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Note**

* When creating a new project, you can use the AI Auto Setup feature to automatically preconfigure Steps 3–4 above (item registration and storefront configuration) as a mockup based on the game's information. When you open the Web Shop Builder, you can immediately preview the preconfigured storefront and modify it at any time.
* Once AI Auto Setup is complete, a guidance screen appears with an onboarding checklist that walks you through the next steps in order: Open Web Shop Builder → Manage Products → Configure Webhooks → Configure Service Countries → Publish Web Shop.
  {% endhint %}

## ONEshop Payment Flow <a href="#id" id="id"></a>

When a player moves from the game to the Web Shop, the player's game ID and server information are passed to ONEshop and linked with their ONE store account, providing a seamless payment experience.

When the player purchases an item, ONEshop validates the game ID and server information provided by the player. Once payment is completed, the purchase result is sent to the game developer's server so that the item can be delivered.

```mermaid
sequenceDiagram
    autonumber
    actor User
    participant GameApp as Game App
    participant Webshop as ONE webshop
    participant GameServer as Game Server

    Note over User,GameServer: 1. User Information Integration
    User->>GameApp: Go to ONE webshop<br/>(In-Game to Webshop)
    GameApp->>Webshop: Game ID / Server Transfer<br/>(serviceUserId, serviceServerId)

    Note over User,GameServer: 2. Server List Integration
    Webshop->>GameServer: Server List Request<br/>(clientId)
    GameServer-->>Webshop: Server List Response<br/>(serverList[])

    User->>Webshop: Purchase Item

    Note over User,GameServer: 3. User Validation
    Webshop->>GameServer: Validation Request<br/>(serviceUserId, serviceServerId, clientId, prodId)
    GameServer-->>Webshop: Validation Response<br/>(result.code, result.message)
    Webshop->>Webshop: Call ONE store Payment UI

    User->>Webshop: Payment Request
    Webshop->>Webshop: Payment Completed

    Note over User,GameServer: 4. PNS
    Webshop->>GameServer: Payment Result Notification
    GameServer-->>User: Item Grant

    Note over User,GameServer: 5. Confirm Purchases
    GameServer-->>Webshop: consumePurchase<br/>(responseCode, purchaseToken)
    GameServer-->>Webshop: acknowledgePurchase<br/>(responseCode, purchaseToken)

```

### Required API Integrations

API integration is required to validate the game ID and server information of players purchasing items and to verify purchase results from the Web Shop.

For detailed instructions, see the Web [Shop Integration Guide](broken://pages/JnXzWfyrWbcbuEGL6PX8).

<table><thead><tr><th width="142.46875">API</th><th width="126.2421875">Data Flow</th><th width="110.0234375">Required</th><th>Description</th></tr></thead><tbody><tr><td><a href="broken://pages/yX7iD7S2vZnTZu1nkUv4">Server List Integration</a></td><td>Game Server → ONEshop</td><td>Required</td><td>When a player enters the Web Shop details page, ONEshop retrieves and displays the game server list in real time.</td></tr><tr><td><a href="broken://pages/EXLmyhStUcOzoGSTYXyg">User Validation</a></td><td>Game Server → ONEshop</td><td>Required</td><td>Validates the player's game ID and server information, as well as whether the selected item is available for purchase.</td></tr><tr><td><a href="broken://pages/u29Jg9NxUBBLSLdlIn1T#pns">PNS</a></td><td>Game Server → ONEshop</td><td>Required</td><td>When payment is completed, ONEshop sends the payment result and related payment information to the game server through a PNS notification. PNS supports both Production and Sandbox payment environments.</td></tr><tr><td><a href="broken://pages/u29Jg9NxUBBLSLdlIn1T#purchase">Confirm Purchases</a></td><td>Game Server → ONEshop</td><td>Required</td><td><strong>Purchase confirmation must be completed to confirm that the item has been successfully delivered.</strong> Depending on your implementation, you can use either the <code>consume</code> or <code>acknowledge</code> API.</td></tr><tr><td><a href="broken://pages/EypKAdTiJXLpqs6gwAIn">User Information Integration</a></td><td>Game App → ONEshop</td><td>Optional</td><td>You can provide a path from your game to the Web Shop. By including the player's game ID and server information in the Web Shop URL, the player's ONE store login status and purchase information are automatically applied when entering the Web Shop, allowing the player to proceed directly to purchase. <strong>We recommend this integration to provide a more convenient payment experience.</strong></td></tr></tbody></table>

### Test the Web Shop

Before officially launching your Web Shop, you can verify the Web Shop UI and payment flow in advance.

For detailed instructions, see the Web [Webshop Test Guide](broken://pages/BnIwf3H7VAjkcBWiamBG).

{% hint style="warning" %}
To start selling through the Web Shop, you must complete at least one test payment using a registered test ID. The test can be performed in either the Sandbox or Production environment.
{% endhint %}

### Request Review and Start Selling

After completing Web Shop testing, submit a review request through the ONE store Developer Center. Once the review is approved, you can start selling on your preferred launch date.

For detailed instructions, see the [Request for Review giude](broken://pages/vXGbkPvmvmh5V7mgZpUA).

<figure><img src="https://750271784-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fcs8LWlkAbJnzCUmymYwc%2Fuploads%2FSuL2MM6DwMG8qC4q7u3J%2Fimage.png?alt=media&amp;token=75988b80-5429-4b2f-8742-e966907691f5" alt=""><figcaption></figcaption></figure>
