Skip to main content

Subscription Price Management

The Subscription Price Management feature defines the cost, billing rules, and integration details for each subscription package.
Admins can manage prices across PayOS (Android/Web) and IAP (App Store).


Fields

FieldTypeRequiredNotes
StatusEnumYesActive (available) or Inactive (hidden).
CodeStringYesUnique identifier for the price (e.g., PRO_MONTHLY).
NameStringYesDisplay name (e.g., Pro Monthly Plan).
PayOS DescriptionTextOptionalPayment description for PayOS integration.
DescriptionTextOptionalInternal description of the price.
PriceNumberYesThe cost of the subscription (in local currency).
Subscription PackageSelectYesLinks price to a subscription package (Free, Pro, Premium).
Price TypeEnumYesOne-time or Recurring.
Billing PeriodStringOptionale.g., monthly, yearly. Required if recurring.
Trial DaysNumberOptionalFree trial days before billing starts.
Service IdStringOptionalReference ID for external services.

IAP (In-App Purchase) Fields

For iOS / App Store integration:

FieldTypeNotes
IAP BeforeNumberOriginal (pre-discount) price.
IAP PriceNumberCurrent App Store price.
IAP Percent DifferenceNumberDifference percentage between before & current price.
IAP Product IdStringUnique product ID in App Store.
IAP DescriptionTextDescription shown in App Store.
IAP Discount PercentageNumberDiscount percentage applied.

1. Create Subscription Price

Steps:

  1. Go to Backoffice → Subscription Prices.
  2. Click New Price.
  3. Fill in the required fields.
  4. Save to create.

Example Request (JSON):

{
"status": "active",
"code": "PRO_MONTHLY",
"name": "Pro Monthly Plan",
"payosDescription": "Pro Plan Subscription via PayOS",
"description": "Access premium courses and features monthly",
"price": 9.99,
"subscriptionPackage": "PRO",
"priceType": "recurring",
"billingPeriod": "monthly",
"trialDays": 7,
"serviceId": "svc-2025-pro-m1",
"iapBefore": 12.99,
"iapPrice": 9.99,
"iapPercentDifference": -23,
"iapProductId": "com.simzy.pro.monthly",
"iapDescription": "Monthly Pro Plan with trial",
"iapDiscountPercentage": 20
}
Response:

json
Copy code
{
"success": true,
"message": "Subscription price created successfully"
}
2. View Subscription Prices (Table)
Code Name Package Price Type Billing Status Actions
PRO_MONTHLY Pro Monthly Plan PRO 9.99 Recurring Monthly Active Edit / Delete
PRO_YEARLY Pro Yearly Plan PRO 99.99 Recurring Yearly Active Edit / Delete
FREE_TRIAL Free Trial Plan FREE 0.00 One-time — Inactive Edit / Delete

3. Update Subscription Price
Steps:

Go to Subscription Prices Table.

Find the price you want to update.

Click Edit ✏️.

Modify the fields.

Save changes.

Example Update Request:

json
Copy code
{
"priceId": "subp-101",
"status": "active",
"code": "PRO_YEARLY",
"name": "Pro Yearly Plan",
"price": 89.99,
"billingPeriod": "yearly",
"iapBefore": 120,
"iapPrice": 89.99,
"iapDiscountPercentage": 25
}
Response:

json
Copy code
{
"success": true,
"message": "Subscription price updated successfully"
}
4. Delete Subscription Price
Steps:

Go to Subscription Prices Table.

Click Delete 🗑️.

Confirm deletion in the dialog.

Delete Request Example:

json
Copy code
{
"priceId": "subp-101",
"action": "delete"
}
Response:

json
Copy code
{
"success": true,
"message": "Subscription price deleted successfully"
}
⚠️ Deletion is permanent. If unsure, use Inactive status instead.

Best Practices
Use recurring billing for sustainable revenue (monthly/yearly).

Always set trial days for first-time users to improve conversion.

Keep PayOS and IAP descriptions consistent across platforms.

Use Inactive status instead of deletion to avoid breaking linked subscriptions.

Validate IAP product IDs with App Store before publishing.