Package
Sell units in fixed blocks and charge per block, rounding partial blocks up.
Package pricing sells units in fixed-size blocks. You set a block size and a price per block. The quantity is divided by the block size and rounded up, so a partial block costs a full block. At least one block is always charged.
Use it for things sold in bundles: "$25 for every 100 credits," "email sends in blocks of 1,000."
Worked example
You sell credits at $25.00 per block of 100.
A customer uses 250 credits. That is 2.5 blocks, rounded up to 3:
blocks = ceil(250 / 100) = 3
total = 3 x $25.00 = $75.00
A customer who uses 1 credit still pays for one full block, $25.00. A customer who uses exactly 200 pays for 2 blocks, $50.00.
Settings
| Field | What it does |
|---|---|
| Package size | How many units are in one block. |
| Flat amount | The price for one block. |
Edge cases
- Partial blocks round up. 101 units is 2 blocks. Any amount over a block boundary pulls in a whole new block.
- A minimum of one block is charged. Even zero usage bills one block. If you need "no usage, no charge," package pricing is not the right model.
- The price is per block, not per unit. To charge per single unit, use per unit pricing.
In the API
{
"pricing_model": "package",
"pricing_config": { "package_size": 100, "flat_amount": 2500 },
"currency": "USD"
}