Skip to main content
Subscription operations are available under Sales → Subscriptions and through Change Subscription. The Customer Portal exposes only the actions allowed by your portal configuration.

Change the plan

A plan change points the subscription at another recurring catalog item. Before sending it, check four boundaries:
  1. Currency must match. The destination item must support the currency already locked to the subscription.
  2. Cancellation must be cleared. A canceled or pending-cancellation subscription cannot change plan until it is uncanceled.
  3. Custom prices are excluded. Pay-what-you-want items cannot be selected as the destination.
  4. Seat conversion is one-way. A non-seat subscription may become seat-based; a seat-based subscription cannot become non-seat. The billing customer becomes a team customer and claims a seat during that conversion.
The selected proration behavior decides timing. invoice and prorate change the product now; next_period schedules it for renewal. A non-seat to seat conversion must happen immediately. If the subscription is trialing, the trial start remains anchored to its original date while the end is recalculated from the destination item. A destination with no usable trial ends the trial and opens a paid billing period immediately.
Change product

Change the number of seats

For a member-priced subscription, send the quantity the customer should pay for. invoice and prorate apply it immediately; next_period leaves the current quantity in place until renewal.
Change seat quantity

Apply or change a discount

Set discount_id to attach another discount, or send null to remove the current one. The new discount state begins with the next billing cycle; Ruba does not recalculate the period already underway.
Subscription update

Manage the trial

The trial_end field controls both extension and conversion:
  • Send a future timestamp to add or extend trialing access. An active subscription moves to trialing, and its next payment waits for that timestamp.
  • Send "now" to close the trial. The subscription becomes active and begins a new paid billing period immediately.
Trial update

Reschedule the next renewal

Set current_billing_period_end to a future timestamp when the current paid period should run longer or renew on another date. Canceled subscriptions cannot be rescheduled.
Billing-period update

Cancel or revoke

Ruba separates stopping the next renewal from stopping access now.

Keep access through the paid term

Set cancel_at_period_end to true. Ruba records the pending cancellation, generates no order after the current period, and leaves benefits active until current_period_end.
Period-end cancellation
You may also store a customer-provided comment. The accepted reason values are too_expensive, missing_features, switched_service, unused, customer_service, low_quality, too_complex, and other.
A cancellation comment is visible in the customer’s purchase history. Store only words the customer actually supplied, never internal support notes.

Remove access immediately

Delete the subscription to revoke it. Ruba changes its state to canceled, records ended_at, and revokes benefits immediately. Revocation does not issue a refund; use the refund flow separately when money should also be returned.
Immediate revocation
This action cannot be undone.

Resume a pending cancellation

Before the paid term ends, send cancel_at_period_end: false. Ruba clears the cancellation timestamps and returns the subscription to normal renewal. An already-ended subscription cannot be resumed.

What customers can do

Immediate revocation, discount changes, trial editing, and renewal rescheduling remain merchant-only operations.