---
title: Value-Added Service Solution - Overview
summary: Tuya provides value-added service write-off capabilities for OEM apps. This covers NetEase Cloud Music write-off, including contract signing and procurement, OEM mall activation, inventory management, subscription product configuration, and consumer-side integration. Open APIs require ticket-based access. A Ray-based purchase and fulfillment template is available.
---

<h2 id="value-added-service-solution" class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400">Value-Added Service Solution<span className="tag_h2">Monetization</span></h2>

This topic explains how to implement **sales and fulfillment** for **value-added services** in an OEM app: who it is suitable for, what the platform provides, how write-off settlement works, and how to integrate templates and APIs.

For **OEM app integration with virtual services**, this topic provides a complete configuration path from commercial contract signing, OEM-owned mall activation, quota procurement, subscription product configuration in the mall, channel distribution, and consumer-side integration.

### Applicable scenarios

In smart miniapp and similar scenarios, consider this solution if you need to:

- Offer **paid capabilities or content** such as subscriptions or unlocks, with a relatively complete purchase and fulfillment process.
- Sell value-added services in an **OEM app** (using "NetEase Cloud Music" as the example below), collect payments through your own channels, purchase quotas from Tuya, and fulfill services by **write-off**.

You can use the platform-provided value-added service solution to reduce self-development costs.

### What the platform provides

The platform covers the full loop of **service creation -> user purchase -> fulfillment (activation / usage)**. You mainly focus on product configuration, payment / settlement model, and open API integration.

### Write-off settlement model

| Model         | In short                                                                                                                                                                          | Typical flow                                                                                                                                                      | Common distribution scenario                       |
| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| **Write-off** | The service seller (you) **purchases service quotas from Tuya**. Users pay through **your own payment channel**, and fulfillment is **written off against the quotas** with Tuya. | User-side payment goes through your channel. Settlement with Tuya is based on quotas, which must be purchased and written off according to commercial agreements. | **OEM app + OEM-owned mall**, **write-off** launch |

Product configuration, contract signing, and billing details are subject to Tuya value-added service and commercial / delivery documents. Align with your business contact before launch.

---

### Integration flow and configuration

Using **"NetEase Cloud Music"** as an example, OEM scenarios usually involve two layers of capabilities:

1. **Device-side playback authorization**: Enable the advanced feature "AI Playback of NetEase Cloud Music" for the product, and include the authorization when purchasing deliverables. For details, see the agent [Music Story Skill](https://developer.tuya.com/en/docs/iot/music_tool?id=Keziqxnjdvn6c).
2. **Consumer-side value-added service sales and write-off**: Configure subscription / trial products in the OEM mall. After users pay in the OEM app, fulfill the service credential and write off quotas with Tuya.

The following sections describe the complete chain in configuration order. **Make sure the service and quota are ready before channel distribution**, otherwise the service might not be found during fulfillment.

#### Service code reference

Using **"NetEase Cloud Music"** write-off integration as an example, use the following codes when configuring mall products, associating product services, and obtaining products and service credentials on the consumer side:

| Code type                 | Field          | Example value                                         | Where it is used                                                                           |
| ------------------------- | -------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| **Service category code** | `catalogCode`  | `AI_COMPANION` (AI Companion)                         | Signing, mall "Product Service" association, and consumer-side product and service queries |
| **Capability code**       | `externalCode` | `vas_ai_companion_fgv5zu5v2csg` (NetEase Cloud Music) | Fulfillment service item bound to each package in mall "Product Service"                   |

Notes:

- The contract signing entry is consistent with the service category: [`https://www.tuya.com/vas/commodity/AI_COMPANION`](https://www.tuya.com/vas/commodity/AI_COMPANION).
- Pass **`catalogCode: "AI_COMPANION"`** when querying products or credentials on the consumer side. Align the credential / capability details with the capability code **`vas_ai_companion_fgv5zu5v2csg`**.
- For other value-added services, replace the category and capability codes with the codes issued by the integration party. Do not reuse the example values in this table.

```mermaid
flowchart TD
  A[1. Commercial signing and material preparation] --> B[2. Activate OEM mall and shop]
  B --> C[3. Write-off signing and quota procurement]
  C --> D[4. Configure virtual products and subscription plans]
  D --> E[5. Associate products with fulfillment services]
  E --> F[6. Channel distribution in write-off mode]
  F --> G[7. OEM app / miniapp sales integration]
  G --> H[8. Device-side capability and member binding]
  H --> I[9. Credential query and reconciliation]
```

#### 1. Commercial signing and material preparation

Align with Tuya business / delivery contacts and complete the following:

- Confirm that the settlement model is **write-off** (sales through the OEM-owned mall).
- Complete value-added service signing / procurement for write-off through the [AI Companion value-added service product page](https://www.tuya.com/vas/commodity/AI_COMPANION) (service category code: `AI_COMPANION`; follow the page guide to complete signing and capability procurement. Specific SKUs and billing are subject to the page and business confirmation).
- Confirm the NetEase Cloud Music **service category `AI_COMPANION`**, **capability `vas_ai_companion_fgv5zu5v2csg`** (see the code reference above), and billing and fulfillment rules. Periodic subscriptions are the common model.
- Apply for the **material number** required for transaction revenue posting, and join the revenue posting collaboration process as required by delivery, such as monthly bill confirmation at the beginning of each month.
- Confirm the data center scope: NetEase Cloud Music capabilities are currently mainly in the **China Data Center**. Mall sites must be configured according to the data center where the target users are located. Each data center's corresponding country site serves all users under that data center, not only users in that country.

If you have questions about codes or API authorization, confirm through **[Technical Support / Ticket](https://service.console.tuya.com/8/3/list?source=support_center)**.

#### 2. Activate the OEM mall and shop

OEM customers need to purchase and activate their own mall, and then prepare the shop and site in the merchant backend:

1. Activate the OEM mall on the mall package page: [Mall activation / package pricing](https://mall.tuya.com/?#packagesPricing).
2. After activation, log in to the merchant backend (Tuya Smart Developer Center / mall merchant backend).
3. Enter the activated **OEM mall** space.
4. Switch to the target **data center** based on the business, and select the corresponding **country site / shop** for configuration.
5. Confirm the shop payment capabilities. Enable WeChat Pay, Alipay, Apple IAP, Google IAP, and other payment methods as needed, subject to the actual OEM app listing and business activation results.

#### 3. Write-off signing and quota procurement

The write-off model requires the customer to have service inventory quotas that can be deducted. The inventory dimension is usually merchant IoT account + service category + service item. The quota must be topped up before the OEM app can sell the service.

1. If signing is not complete, first complete write-off signing / procurement through the [AI Companion value-added service product page](https://www.tuya.com/vas/commodity/AI_COMPANION). You can select service SKUs, purchase quantities, and submit a quote request as needed:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/17857578863b4908812fd.jpg" />

2. Purchase **write-off inventory quotas** for NetEase Cloud Music or the corresponding service category according to the commercial contract.
3. Tuya completes quota management and top-up. During top-up, the customer service credential / contract information must be marked for reconciliation.
4. If the quota is insufficient, orders or fulfillment on the user side might fail. Before launch, align with operations on quota level and alerts.

After procurement and top-up, you can view inventory and change details from the following entries:

| Entry path                                   | Description                                                                                                                         |
| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| VAS -> My Orders -> **Inventory Management** | View inventory. Clicking it redirects to an IoT-related page. [Inventory management entry](https://www.tuya.com/vas/user/bulkStock) |
| IoT Platform -> **VAS Inventory Management** | View inventory and change records. [Inventory change records](https://platform.tuya.com/cost/bulkStockRecords)                      |

VAS-side entry example (Personal Center -> My Orders -> Inventory Management -> click to redirect):

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886491a680dd9a.jpg" />

IoT Platform "VAS Inventory Management" example. You can query purchase / usage details and inventory levels:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886efef15c273d.jpg" />

Use the entries above for daily checks of procurement, top-up, and deduction details. Before launch, align the inventory level. When fulfillment is abnormal, first check whether inventory is insufficient or whether the quota has not been topped up to the corresponding service category / service item.

#### 4. Configure virtual products and subscription plans

Configure sellable virtual products in the OEM mall shop, such as NetEase Cloud Music monthly cards, yearly cards, or trial packages. The following screenshots come from the mall merchant backend configuration flow. Operate in your **own OEM mall**.

##### 4.1 Create a virtual product

1. Go to Products -> Product Library, and click **Create Product**.

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/17857578864bc57c39da3.jpg" />

2. If there are multiple specifications such as monthly and yearly packages, it is recommended to select **Multiple specifications**. **Clear** "This is a physical product" because selecting it will require a shipping address at checkout.

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886520a80403df.png" />

3. It is recommended to select "Continue selling when inventory is 0" to avoid transaction failures in the app due to insufficient inventory.

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785758107e9c3e660ff6.png" />

4. Configure multiple specifications, such as monthly subscription / yearly subscription. **Single specification and multiple specifications cannot be converted into each other**. If multiple specifications are needed later, you can only create a new product.

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/17857578864bd3ed25dca.png" />

5. Complete the description, save, and publish the product.

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886740a1e010b8.png" />

##### 4.2 Configure product plans

| Payment type             | Meaning                                                                                                            | Common NetEase Cloud Music usage                                   |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------ |
| **One-time payment**     | One-time payment. Entitlement is granted immediately after payment, with no automatic renewal                      | 7-day trial, top-up package, non-renewing membership               |
| **Subscription payment** | Periodic payment. Available during the period, automatically renews at expiration, and can be canceled at any time | Monthly package, yearly package, and other recurring subscriptions |

In Subscription Recharge -> Product Plans, add plans for the product. For one-time purchase only, you do not need to enable "Sell your product as a subscription". Fill in prices for each specification, and enter Apple IAP / Google IAP Product IDs as needed:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/17857578860899e977d4c.jpg" />

For automatic renewal, enable "Sell your product as a subscription" and create periodic plans, including plan type, order cycle, trial / discount, and similar settings:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886aba5e2dd902.jpg" />

Monthly package example: Keep the order cycle and fulfillment cycle consistent, such as 30 days. Keep first-purchase discounts / trials consistent with Apple and Google offers:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886146e4102f48.jpg" />

Plan list example, such as monthly package + yearly package:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886354924ac036.png" />

Other configuration notes:

- To "automatically charge and renew after the trial ends", use **Offer trial** in the subscription plan. Do not use one-time payment as a "fake trial".
- Subscription billing usually happens **1 to 2 calendar days in advance** to avoid service interruption.
- If the target object is a **device or home**, make sure to select the corresponding information in the plan. During checkout, users will select a home / device. If you do not want users to select manually, append parameters such as `uuid` and `devId` to the product detail URL. The system preferentially uses link parameters.
- In scenarios where IAP is mandatory, options without Apple / Google IAP configured might be filtered out on the client and become invisible. Complete IAP configuration or adjust according to delivery requirements:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/178575788691264098dae.png" />

- Sync pricing to the required payment channels, such as PayPal, Stripe, Apple IAP, and Google IAP, before publishing and verification:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/17857578866438e9cd0e3.png" />

Configuration result examples. You can tailor them to your business:

- One-time payment "7-day trial": Grants 7 days of entitlement after payment and closes on expiration, with no automatic renewal.
- Subscription "Monthly package": 30-day cycle. Payment is automatically charged before expiration and a new service order is generated.
- Subscription "Yearly package": 365-day cycle. Payment is automatically charged before expiration and a new service order is generated.

##### 4.3 Apple / Google IAP

If the OEM app sells subscriptions in iOS / Android app stores:

- **Apple**: Create subscription groups and subscription items (or non-renewing subscriptions) in App Store Connect. Fill the Product ID back into the mall plan. The current Tuya AM product process does not support upgrade / downgrade within the same subscription group. Do not configure upgrade / downgrade strategies. Purchase items must be in the "Approved" state.
- **Google**: Configure by the "Subscription -> Base plan -> Offer" structure. Align and activate the subscription ID / base plan cycle with the mall plan.

Apple-side key interface examples:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886dcf60dd28e8.png" />

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/17857578861e35af7a398.jpg" />

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886103f4c6fba9.jpg" />

Store-side details are subject to Apple / Google official documentation and the delivery checklist.

#### 5. Associate products with fulfillment services

After product display and payment configuration are complete, you must configure "Product Service"; otherwise, the platform will not know which capability to activate after the user pays:

1. In Subscription Recharge -> Product Services, click **Manage Service** for the target product.

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886ffaf78e228f.jpg" />

2. Select the **service category** associated with the product, which corresponds to the NetEase Cloud Music category / catalogCode, and configure the **fulfillment service** and **single period** for each package.

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886d922a09c11b.png" />

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785757886ea3733dade8.png" />

3. **Confirm again**: fulfillment period = plan billing period, such as monthly subscription -> 30 days and yearly subscription -> 365 days.

#### 6. Channel distribution

The order is fixed: **associate services first, and then distribute channels**.

| Item                 | OEM write-off recommendation                                                                                      |
| -------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Distribution mode    | Select **write-off mode** (customer-owned OEM mall sells in the OEM app)                                          |
| Distribution channel | Supports miniapps, panels, and similar channels, subject to current platform capability                           |
| User scope           | Segment some users in the app as needed                                                                           |
| Product tags         | Add tags to products so APIs such as `getVasSpuList` can filter products under the same category by `bindingTags` |

OEM write-off distribution entry: Sales Channel -> **OEM App Channel** -> miniapp / device panel, and add the product effective scope:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/178575788647131c8c961.jpg" />

For device panel distribution, you can bind PID, product, and tags, and specify the effective app:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/17857578868eb77b50014.png" />

Product tag configuration example:

<Image style={{ margin: '20px 0', width: '100%', maxWidth: '1000px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/17857578869697ea1e340.jpg" />

#### 7. Sales integration

After the mall and distribution are ready, integrate sales and entitlement checks in the OEM app, panel, or business miniapp.

##### Option 1: Redirect to the generic purchase page

Call [`getVasSpuList`](https://developer.tuya.com/en/miniapp/develop/ray/api/vas/getVasSpuList) to get basic product information and `commodityUrl`, and redirect to the generic purchase page to complete checkout.

Key parameters: `catalogCode`, `bindingObjectType` (APP / PID / miniapp), `bindingObjectCode`, `bindingTags` (if any), `needSkuList`, and `clientInfo.appScheme`.

##### Option 2: Custom purchase flow

1. **Query mall information** - [`getMallInfoV2`](https://developer.tuya.com/en/miniapp/develop/ray/api/vas/getMallInfoV2)
2. **Query SKU list** - [`getSkuListV2`](https://developer.tuya.com/en/miniapp/develop/ray/api/vas/getSkuListV2)
3. **Query payment information** - [`getSkuPayment`](https://developer.tuya.com/en/miniapp/develop/ray/api/vas/getSkuPayment)
4. **Create order** - [`createOrderV2`](https://developer.tuya.com/en/miniapp/develop/ray/api/vas/createOrderV2)
5. **Initiate prepayment** - [`getPrepay`](https://developer.tuya.com/en/miniapp/develop/ray/api/vas/getPrepay)

For `getPrepay`, pass contact information according to the fulfillment object: home-level `code: '3'` (such as groupId) and device-level `code: '4'` (such as devId / uuid).

##### Query user credentials

Call [`getCredentialList`](https://developer.tuya.com/en/miniapp/develop/ray/api/vas/getCredentialList). Use `catalogCode` to determine whether the service has been activated, and pay attention to `effectiveEndDate`, `quotaUsage.leftQuantity`, and similar fields.

> In write-off mode, after users pay through your channel, you need to complete quota deduction and credential activation through the fulfillment / write-off open capabilities provided by the integration party. Some open APIs are not publicly self-service. Apply through a ticket before joint debugging, and do not guess production APIs.

#### 9. Device-side capability and member content

Completing mall sales alone is not enough. To let devices use this capability, you also need to:

1. Enable **AI Playback of NetEase Cloud Music** during product development, and purchase deliverables while the feature is enabled. The authorization follows the device. If deliverables are purchased before the feature is enabled, the device will not have authorization.
2. Add the "Music Story Skill" to the agent and distribute it to the PID.
3. The panel can call [`getPanelAgentConfigNetEaseCloudMusic`](https://developer.tuya.com/en/miniapp/develop/ray/api/ai/panelAgent/getPanelAgentConfigNetEaseCloudMusic) to query `supportEnableNetEaseCloudMusic` / `enableNetEaseCloudMusic`.
4. To play the member library: the device owner binds a NetEase account in "Third-Party Content Authorization" in the China-region panel. The manufacturer must have purchased the advanced capability.

#### 10. Launch checklist

| No. | Check item                                                                                                                                                                              | Pass criteria                                                                    |
| --- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| 1   | Write-off signing ([AI Companion](https://www.tuya.com/vas/commodity/AI_COMPANION)), material number, catalogCode                                                                       | Confirmed by business / operations                                               |
| 2   | OEM mall activated ([package pricing](https://mall.tuya.com/?#packagesPricing)), with correct data center, site, and shop                                                               | Can log in and create products                                                   |
| 3   | Write-off quotas topped up; can check in [VAS Inventory Management](https://www.tuya.com/vas/user/bulkStock) / [IoT inventory records](https://platform.tuya.com/cost/bulkStockRecords) | Sufficient quota level and queryable records                                     |
| 4   | Service category / capability configured                                                                                                                                                | Consistent with product fulfillment                                              |
| 5   | Virtual product + plan (subscription period / IAP ID)                                                                                                                                   | Consistent with app store configuration; non-physical product                    |
| 6   | Product service associated and period matched                                                                                                                                           | Service first, then distribution                                                 |
| 7   | Channel distribution is write-off and bound to OEM app / miniapp / panel                                                                                                                | APIs can retrieve products by binding object                                     |
| 8   | App / miniapp cloud capability authorized, CATEGORY_CODE replaced                                                                                                                       | Real device can retrieve products and place orders, or redirect to purchase page |
| 9   | PID advanced feature + deliverable authorization + agent music tool                                                                                                                     | Device can play non-member resources                                             |
| 10  | Credential query / expiration reminders / reconciliation flow                                                                                                                           | Available to operations and finance                                              |

---

### Custom purchase flow development template

The template helps you quickly build **paywall / in-app purchase** pages. Capabilities include:

- Product and SKU display
- Apple / Google in-app purchase (IAP)
- PayPal, Stripe, Alipay, WeChat Pay, and other third-party payments depending on actual activation
- Built-in **Mock** mode: When no backend is available or copy has not been delivered, you can simulate the purchase flow locally for development and demos

**Template entry**: [Service Purchase Template (ServicePurchase)](https://developer.tuya.com/material/library_hKiOVClc/component?code=ServicePurchase)

**UI examples**:

<Image style={{ margin: '20px 0', width: '300px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/1785810286b43c227648e.jpg" />
<Image style={{ margin: '20px 0', width: '300px' }} src="https://images.tuyaus.com/smart/miniapp/static/bay1601296104948oVog/178581028512a4a14c859.jpg" />

#### Before you start

- You have registered a Tuya developer account, created a miniapp application, and obtained the **miniAppId**.
- You have completed **OEM mall product creation / write-off distribution** as described above, or the integration party has provided test products.
- You have enabled **in-app purchase** and other related capabilities on the platform.
- To debug real-device payments, you need to understand Apple IAP and Google Play listing and payment configurations. Store rules are subject to official requirements.

#### Required changes before connecting to the real environment

In `src/constants/index.ts`:

| Constant        | Description                                                                                                                                                                               |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CATEGORY_CODE` | Product category code. The default value `"MOCK_CATEGORY_CODE"` means **Mock** mode and uses local fake data. For the NetEase Cloud Music real environment, set it to **`AI_COMPANION`**. |
| `miniAppId`     | Your miniapp ID                                                                                                                                                                           |

If you do not yet have a **CATEGORY_CODE**, apply through **[Technical Support / Ticket](https://service.console.tuya.com/8/3/list?source=support_center)**.

#### Main pages in the template

| Path                      | Purpose                                                           |
| ------------------------- | ----------------------------------------------------------------- |
| `/pages/home/index`       | Entitlement or landing page that can navigate to the product page |
| `/pages/product-v1/index` | Product page style 1, focused on service information display      |
| `/pages/product-v2/index` | Product page style 2, focused on SKU and purchase                 |
| `/pages/payment/index`    | Payment WebView or mock payment page                              |

### Case

See the case page for details: [Top-Up Subscription](../case#4-top-up-subscription)
