Subscription is a payment service that continuously collects payments from users. Unlike one-time payments, subscriptions support automatically charging users at set intervals, suitable for business scenarios that require ongoing service provision.
| Comparison Dimension | One-time Payment | Subscription Payment |
|---|---|---|
| Billing Frequency | One-time | Periodic (daily/monthly/yearly) |
| User Authorization | Requires user confirmation each time | Automatic billing after initial authorization |
| Applicable Scenarios | Product purchase, one-time services | Memberships, content subscriptions, ongoing services |
| Revenue Predictability | Low | High (stable recurring revenue) |
For Merchants:
For Users:
The core of subscription is automatic billing capability, supporting two modes:
| Mode | Description | Applicable Scenarios |
|---|---|---|
| Managed Subscription | Onerway automatically bills according to the cycle, merchants only need to handle billing result notifications | Merchants wanting to simplify operations |
| Self-managed Subscription | Merchants control billing timing themselves, manually trigger billing requests | Merchants needing flexible control over billing logic |
Supports multiple billing cycle configurations:
Manage each user's subscription status through Subscription Contract (contractId):
Subscription Status Description:
| Status | Description |
|---|---|
| trialing | In trial period |
| active | Subscription active |
| paymentdue | Payment due |
| pastdue | Payment overdue |
| paused | Paused |
| canceled | Canceled |
| ended | Ended (expired) |
Supports setting trial periods for subscriptions:
Notify merchants of billing results asynchronously via Webhook. Merchants need to:
Supports sending subscription-related email notifications to customers. Customers can view and manage their subscription services via email, including:
| Concept | Description | requestType |
|---|---|---|
| Initial Purchase | User's first subscription, creates subscription contract, completes first payment or signs only | 0 |
| Renewal | Subsequent recurring billing (managed subscription executes automatically, self-managed subscription initiated by merchant) | 1 |
| Upgrade/Downgrade | Change subscription plan, requires price difference amount (managed subscription only) | 2 |
Managed subscriptions require setting subscription validity, choose one:
| Parameter | Description | Example |
|---|---|---|
| cycleCount | Number of billing cycles (1-99) | 12 times |
| expireDate | Subscription end date | 2025-12-31 |
| Mode | mode Value | Description |
|---|---|---|
| Sign Only | 1 | User authorizes but no immediate billing, suitable for scenarios starting with trial period |
| Sign and Bill | 2 | User authorizes and completes first billing simultaneously (default) |
Subscription cycle determines the time interval for automatic billing, consisting of two parameters:
| Parameter | Description | Options |
|---|---|---|
| frequencyType | Cycle type | D (day), M (month), Y (year) |
| frequencyPoint | Cycle interval value | Number, e.g., 1, 7, 30 |
Cycle Examples:
| frequencyType | frequencyPoint | Meaning |
|---|---|---|
| D | 1 | Bill once per day |
| D | 7 | Bill every 7 days |
| M | 1 | Bill monthly |
| Y | 1 | Bill annually |
Cycle Restrictions:
| Subscription Type | Supported Cycle Types |
|---|---|
| Managed Subscription | D (day), M (month), Y (year) |
| Self-managed Subscription | D (day) only |
Billing Time Points:
Subscription updates allow customers to change subscription plans during the subscription period (e.g., upgrade from basic to premium).
Update Parameters:
| Parameter | Description | Options |
|---|---|---|
| requestType | Request type | 2 (indicates upgrade/downgrade) |
| changeMode | Effective method | 1 immediate effect, 2 effective next billing cycle |
| proration | Price difference amount | Upgrade requires additional payment, downgrade requires refund handling |
Effective Method Description:
| changeMode | Description | Applicable Scenarios |
|---|---|---|
1 | Immediate effect | Customer wants to use new plan benefits immediately |
2 | Effective next billing cycle | Continue using original plan for current cycle, switch next cycle |
Price Difference Handling:
| Scenario | Examples |
|---|---|
| SaaS Software Services | Monthly/annual software usage fees |
| Membership Subscriptions | E-commerce memberships, VIP privileges |
| Content Subscriptions | Streaming, knowledge payment, news subscriptions |
| Recurring Services | Insurance renewals, gym memberships, online education |
| Scheduled Purchases | Regular delivery of daily necessities, food |
| Integration Method | Description | Development Cost |
|---|---|---|
| Managed Subscription | Platform bills automatically, simple integration | Low |
| Self-managed Subscription | Merchant controls billing, high flexibility | Medium |
subProductType=SUBSCRIBE and subscription configurationcontractId, tokenId from sync return/async notification| Term | Description |
|---|---|
| contractId | Subscription contract ID, uniquely identifies a subscription |
| tokenId | Payment token, used for subsequent billing |
| selfExecute | Managed mode: 1=managed subscription, 2=self-managed subscription |
| requestType | Request type: 0=initial purchase, 1=renewal, 2=upgrade/downgrade |
| mode | Billing mode: 1=sign only, 2=sign and bill |
| frequencyType | Cycle type: D=day, M=month, Y=year |
| frequencyPoint | Cycle interval value |
Subscriptions support the following payment methods:
| Type | Payment Methods | Description |
|---|---|---|
| Card Payment | Visa, Mastercard, etc. | Supports managed and self-managed subscriptions |
| Local Payment | DANA, WeChat, GCash, Touch'n Go | Self-managed subscription only, requires zero-amount signing first |