Our subscriptions support quantity, both for the initial purchase and recurring payments thereafter. This allows for an improved checkout experience for scenarios like per-seat billing and bulk discounts for bulk license purchases.
How to enable subscription quantity for a plan
If you wish to make use of this feature you will have to tick the ”quantity” tick box when creating a new subscription using the dashboard.
In order to allow users to change the quantity within Paddle’s checkout, you’ll need to set
true for paddle.js or
1 if implementing the checkout with the custom checkout API
In the below example, we are allowing the user to select the quantity within Paddle’s checkout of a quantity enabled subscription, by setting
<button class="js-buy">Upgrade to Pro</button>
Amending Quantity & Reducing Recurring Price
After the initial purchase has taken place (example above), a customer may want to increase the quantity of their subscription. Below you can find a curl and JSON payload example of a request to update the quantity for the user subscription 12345 from 5 to 7 and recurring price to $11. This would be a common way to offer a user a discount, as they increase the number of seats (quantity) of their subscription.
You can set a different price for all future payments by setting the new
recurring_price per unit. This can also be used to revert a discount when the user reduces the number of seats.
When calling https://vendors.paddle.com/api/2.0/subscription/users/update you will need to set the
recurring_price per unit,
If you don’t know the currency for the specific user’s subscription then this can be retrieved via https://vendors.paddle.com/api/2.0/subscription/users using the user’s
curl -X POST \
-d 'vendor_id=123' \
-d 'vendor_auth_code=456bd...' \
-d 'subscription_id=12345' \
-d 'quantity=7' \
-d 'recurring_price=11.00' \
-d 'currency=USD' \
"quantity" : "7",
"vendor_auth_code" : "456bd...",
"vendor_id" : "123",
"recurring_price" : 11,
"currency" : "USD",
"subscription_id" : "12345"
- We hold the quantity numerically only, any association to users or accounts needs to be implemented on your end.
- You can now enable quantity support when setting up your subscription plans, as mentioned above.
- You cannot enable quantity on a non-quantity subscription plan with active users.
- Users on non-quantity plans can move to quantity plans but not the inverse.
- You will be able to pass quantity into the checkout for a subscription.
- User’s subscriptions’ quantity can be amended via the API.
- Subscription alert webhooks of quantity enabled plans will contain quantity.
bill_immediately defaults to true if moving to a subscription with a different interval, e.g. monthly -> yearly and will fail if set to false.
- The existing /users/move endpoint is limited to upgrading/downgrading the plan.
- The new /users/update can be used to upgrade/downgrade a user’s plan but also quantity and bulk discount.
If your subscription plan has quantity enabled, the
subscription_updated webhook alerts you receive will include additional fields.