Pricing models
Each currency can have one unit-based price and, optionally, a fixed recurring base price. A unit-based price cannot be combined with a seat-based or pay-what-you-want price.
For tiers of 1–10 units at 8, a quantity of 14 costs:
- Volume: 14 × 112
- Graduated: 10 × 8 = $132
1000 means
$10.00. The final tier may have a null bound for an unlimited maximum. When the final tier has a
numeric bound, that value is the maximum quantity customers can buy.
Create a unit-based product
In the dashboard, create a Subscription product and select Units as the pricing type. Then:- Enter singular and plural labels, such as
deviceanddevices. - Choose fixed, volume, or graduated pricing.
- Enter the unit rate for each tier.
- Optionally set a minimum quantity. The default is one.
Choose the quantity at checkout
By default, checkout starts at the product’s minimum and lets the customer choose an allowed quantity. You can constrain or lock that value when creating a Checkout Session:unitspreselects the quantity.min_unitsandmax_unitsnarrow the range for that session, but cannot exceed the product price’s own bounds.- A Checkout Link can save a fixed
unitsvalue. Sessions created from that link are locked to the saved quantity.
Change subscription units
An organization can change the declared quantity through the subscription API. OurPay validates the new value against the price bounds and applies the organization’s default proration behavior unless one is supplied explicitly.invoice, an increase creates an immediate prorated charge and a decrease creates the
corresponding prorated credit. With prorate, the adjustment is recorded for the next invoice.
The next renewal uses the new full-period quantity.
Unit changes are organization-controlled. The customer portal displays the current quantity but
does not currently let customers edit it themselves.
Switching an existing unit-based subscription to a product without unit-based pricing is not
supported. Migrate the customer to a compatible unit-based product or create a new subscription.
Events and reconciliation
Listen forsubscription.updated to detect quantity changes and order.created / order.paid to
reconcile prorations and renewals. Billing entries retain the increase or decrease that produced
each invoice amount, so integrations should use the resulting order rather than recomputing a
charge from the current quantity.