now, renewal, and none — which you can set globally in config or override on a per-call basis.
Set the global default
Addproration_strategy to config/subscribd.php:
swap() call that does not explicitly override it.
Override per swap
Pass aprorate key in the options array to override the global default for a single plan change:
Strategy behavior
| Strategy | Behavior |
|---|---|
now | Credit or charge the prorated difference immediately at the time of the swap |
renewal | Switch to the new plan price at the next renewal date; no immediate charge or credit |
none | No proration and no credit; the new price takes effect at the start of the next billing cycle |
The
now strategy is the most common choice for SaaS products because it aligns the customer’s charges with the value they receive from the moment of upgrade.How proration is calculated
Whennow is active, Subscribd calculates the unused days remaining in the current period and credits that amount against the new plan’s cost. The net charge (or credit) is applied immediately through the gateway. The subscription’s next renewal date stays the same — only the current period’s charge changes.
When renewal is active, Subscribd records the pending plan change internally and instructs the gateway to switch prices at the next renewal. The customer continues on their current plan until the period ends.
When none is active, the swap is recorded and the gateway is updated, but no financial adjustment is made. The customer pays the old price for the remainder of the current period and the new price from the next cycle onward.