Subscriptions Module
Manage subscriptions for your platform
Subscriptions Module
The subscriptions module provides functionality for managing subscriptions, upgrades, downgrades, and subscription history.
Import
import { subscriptions } from 'cilantro-sdk';
Basic Operations
create(options)
Create a new subscription.
const subscription = await subscriptions.create({
platformId: 'platform-id',
planId: 'plan-id',
billingCycle: 'monthly',
trialDays: 7
});
findAll(options?)
Get all subscriptions with optional filters.
const allSubscriptions = await subscriptions.findAll({
status: 'active',
platformId: 'platform-id'
});
findOne(subscriptionId)
Get subscription by ID.
const subscription = await subscriptions.findOne('subscription-id');
getPlatformSubscription(platformId)
Get platform's active subscription.
const subscription = await subscriptions.getPlatformSubscription('platform-id');
Management Operations
upgrade(subscriptionId, options)
Upgrade subscription to a new plan.
await subscriptions.upgrade('subscription-id', {
newPlanId: 'premium-plan-id',
effectiveDate: '2024-01-01T00:00:00Z'
});
downgrade(subscriptionId, options)
Downgrade subscription to a new plan.
await subscriptions.downgrade('subscription-id', {
newPlanId: 'basic-plan-id'
});
cancel(subscriptionId, options)
Cancel subscription.
await subscriptions.cancel('subscription-id', {
cancelAtPeriodEnd: true
});
renew(subscriptionId, options)
Renew subscription.
await subscriptions.renew('subscription-id', {
extendByDays: 30
});
History
getHistory(subscriptionId)
Get subscription audit trail.
const history = await subscriptions.getHistory('subscription-id');