Search...

Documentation

Design

Room Planning

Daily Use

Short description

Subscriptions let you charge customers on a recurring basis. You can configure flexible billing intervals, trials, and upgrade/downgrade options.

What is a Subscription

A subscription links a customer to a product with a specific pricing plan. It defines how often they’re billed and what features they get.

Creating a Subscription

You can create a subscription through the dashboard or API.

Dashboard steps:

  1. Go to Customers → Create Subscription

  2. Select a product and pricing plan

  3. Add coupon or trial if needed

  4. Confirm and activate

API example:

typescript

curl -X POST https://api.saasapp.com/v1/subscriptions \
  -H "Authorization: Bearer <API_KEY>" \
  -d customer_id=cus_123 \
  -d plan=pro_monthly \
  -d trial_period_days=14

Subscription Lifecycle

Subscriptions go through different states:

State

Description

Active

Customer is billed regularly

Trialing

Free trial before billing begins

Past Due

Payment failed but subscription is open

Canceled

Subscription ended manually or by system

Expired

Subscription ended after trial

Configure retry logic for failed payments to reduce churn.

Free Trials

You can add trial periods to subscriptions:

typescript

{
  "customer_id": "cus_123",
  "plan": "basic_monthly",
  "trial_period_days": 7
}

Trials automatically convert to paid subscriptions unless canceled before the trial ends.

Upgrades and Downgrades

Customers can switch between plans at any time.

  • Upgrades are prorated by default (only pay the difference).

  • Downgrades take effect at the next billing cycle.

Example:

typescript

curl -X POST https://api.saasapp.com/v1/subscriptions/sub_123/update \
  -H "Authorization: Bearer <API_KEY>" \
  -d plan=business_annual

Pausing and Resuming

You can temporarily pause subscriptions instead of canceling.

typescript

# Pause subscription
curl -X POST https://api.saasapp.com/v1/subscriptions/sub_123/pause \
  -H "Authorization: Bearer <API_KEY>"

Paused subscriptions stop billing but keep customer data intact.

Canceling a Subscription

Subscriptions can be canceled immediately or at the end of the billing period.

typescript

# Cancel at end of period
curl -X POST https://api.saasapp.com/v1/subscriptions/sub_123/cancel \
  -H "Authorization: Bearer <API_KEY>" \
  -d at_period_end=true

Summary

  • Subscriptions connect customers to recurring plans

  • Support trials, upgrades, downgrades, and pauses

  • Lifecycle states define how subscriptions behave

  • Always test subscription flows in Sandbox before launch

Need help? Contact Support

Questions? Contact Sales

On this page

Documentation

API Resources

Release Notes

Product

Solution

About

Partner

Support

Design a Room

Book a Demo

Become a Partner

Terms of Use [Web]

EULA [Pleneo Cloud]

Terms of Use [Pleneo Cloud]

Terms & Conditions of Sale

Terms of Warranty

Global Privacy Policy

Security Policy

Reference logos reflect clients of the Pleneo Group, including those served by Pleneo, Xilica or other group brands.

© 2026 Pleneo Holdings Pte Ltd