Change the plan
A plan change points the subscription at another recurring catalog item. Before sending it, check four boundaries:- Currency must match. The destination item must support the currency already locked to the subscription.
- Cancellation must be cleared. A canceled or pending-cancellation subscription cannot change plan until it is uncanceled.
- Custom prices are excluded. Pay-what-you-want items cannot be selected as the destination.
- 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
teamcustomer and claims a seat during that conversion.
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
Setdiscount_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
Thetrial_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
Setcurrent_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
Setcancel_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
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 tocanceled, 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
Resume a pending cancellation
Before the paid term ends, sendcancel_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.