The lifecycle actions
Once a subscription is live, you manage it through lifecycle actions: change the plan (upgrade/downgrade, with a proration preview first), pause it, resume it, and eventually cancel it. Each SDK exposes these as subscription-level operations.All proration amounts are integers in minor units. A plan change previews a
net credit/charge before you commit it.
1
Construct a client
2
Preview a plan change (proration)
Preview the proration for switching to a new plan before committing.
Nothing is charged or persisted — you get back the credit for unused time, the
charge for the new plan, the net, and whether it’s an upgrade.
previewChange was added to the Node SDK — make sure you’re on a release that
includes it (published after v1.5.0). All three SDKs now expose the preview.3
Apply the plan change
Committing the change updates the subscription to the new plan and prorates per
the preview.
4
Pause the subscription
Pausing halts billing without cancelling. The subscription can be resumed later.
5
Resume the subscription
Resume a paused subscription to restart billing on its schedule.
6
Cancel the subscription
Cancellation defaults to period end (the customer keeps access until the
current period closes). Pass
immediately: true to cancel now. A reason is
recorded; Python takes it as an enum.A canceled subscription can often be brought back with
recurso.subscriptions.reactivate(id) (Node) /
client.Subscriptions.Reactivate(ctx, id) (Go) /
reactivate_subscription.sync(id=..., client=client) (Python), subject to its
current status.