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');
Subscriptions Module | Cilantro Smart Wallet Docs | Cilantro Smart Wallet