Pricing plans
Last updated: Sept 24th, 5:29pm
When you set up your subscription plan, you can choose from four different pricing models:
- Fixed
- Quantity, also known as user or seat-based
- Volume-based
- Tiered-based
Fixed-pricing plan
A fixed-pricing plan is a frequency-based subscription plan that charges customers a fixed amount at a fixed frequency.
Sample use cases:
- Video or music streaming services that charge a monthly or yearly fee.
- Gym or club membership.
- Box subscriptions, such as grooming, clothing, beauty, and food.
Examples
- Plan 1: $5 per month for a music streaming service
- Plan 2: $100 per year for a gym membership
Sample request
The following sample request shows how to create a fixed pricing plan. Use this sample to adjust your code when you create a plan.
API endpoint used: Create plan
1curl -v –X POST https://api-m.sandbox.paypal.com/v1/billing/plans \2 -H "Accept: application/json" \3 -H "Authorization: Bearer ACCESS-TOKEN" \4 -H "Content-Type: application/json" \5 -H "PayPal-Request-Id: PLAN-18062020-001" \6 -d '{7 "name": "Premium Music Plus",8 "description": "A premium plan with music download feature",9 "product_id": "PROD-5RN21878H3527870P",10 "billing_cycles": [{11 "frequency": {12 "interval_unit": "MONTH",13 "interval_count": 114 },15 "tenure_type": "REGULAR",16 "sequence": 1,17 "total_cycles": 0,18 "pricing_scheme": {19 "fixed_price": {20 "value": "5",21 "currency_code": "USD"22 }23 }24 }],25 "payment_preferences": {26 "auto_bill_outstanding": true,27 "payment_failure_threshold": 128 }29 }'
Quantity-based plan
A quantity-based pricing plan charges subscribers by the quantity of goods or services to which they subscribed.
Sample use cases:
- Service company offers remote tech support to small companies.
- A software company charges for the number of software licenses.
- Pet store offers a dog food subscription that charges customers based on the number of bags.
Examples
- Plan 1: $5 per software license per month
- Plan 2: $9 per dog food bag per week
During subscription creation, the subscriber chooses a quantity. That quantity determines the amount charged every regular billing cycle.
- Subscription 1:
- A subscriber signs up for a plan of $5 per software license per month
- A subscriber requests 10 licenses when they sign up
- The net subscription price is 10 x 5 = $50 per month
- Subscription 2:
- A subscriber signs up for a plan of $9 per food bag per week
- A subscriber requests 5 food bags when they sign up
- The net subscription price is 9 x 5 = $45 per week
Sample request
The following sample request shows how to create a quantity-based pricing plan. Use this sample to adjust your code when you create a plan.
In this sample, the quantity_supported
parameter indicates that this plan is a quantity-based plan.
API endpoint used: Create plan
1curl -v –X POST https://api-m.sandbox.paypal.com/v1/billing/plans \2 -H "Accept: application/json" \3 -H "Authorization: Bearer ACCESS-TOKEN" \4 -H "Content-Type: application/json" \5 -H "PayPal-Request-Id: PLAN-18062020-001" \6 -d '{7 "name": "Classic treat",8 "description": "500gm dog food per bag",9 "product_id": "PROD-6DN21878H3529990P",10 "billing_cycles": [{11 "frequency": {12 "interval_unit": "WEEK",13 "interval_count": 114 },15 "tenure_type": "REGULAR",16 "sequence": 1,17 "total_cycles": 0,18 "pricing_scheme": {19 "fixed_price": {20 "value": "9",21 "currency_code": "USD"22 }23 }24 }],25 "quantity_supported": true,26 "payment_preferences": {27 "auto_bill_outstanding": true,28 "payment_failure_threshold": 129 }30 }'
Volume-based plan
A volume-based pricing model defines the subscription's price based on the price per unit of the number of product units within a specified range.
Sample use cases:
- Bulk SMS, email, and voice services
- Bulk SAAS based platform charges for a given number of product licenses
- Cloud based service platform charges for data storage based on volume
Examples
Plan 1
A merchant offers a volume-based monthly plan that provides software licenses to businesses using these defined fees:
Number of software licenses | Price per license (per month) |
---|---|
1-5 | $15 |
6-10 | $14 |
11-15 | $13 |
16-20 | $12 |
21 and beyond | $11 |
During subscription creation, the subscriber chooses a quantity. That quantity determines the amount charged every regular billing cycle.
-
Subscription 1
- A subscriber signs up for plan 1
- A subscriber requests 14 licenses when they sign up. The price is calculated based on 3rd tier (11-15)
- The net subscription price is 14 x 13 = $182 per month
-
Subscription 2
- A subscriber signs up for plan 1
- A subscriber requests 25 licenses when they sign up. The price is calculated based on 5th tier (21 and beyond)
- The net subscription price is 25 x 11 = $275 per month
Plan 2
A merchant offers a volume-based monthly plan that provides tech support and assistance to relevant businesses with the using these defined fees:
Number of technicians (Tech Support) | Price per technician (per month) |
---|---|
1-10 | $30 |
11-20 | $29 |
21-30 | $28 |
31 and beyond | $27.5 |
-
Subscription 1
- A subscriber signs up for plan 2
- A subscriber requests 8 licenses when they sign up. The price is calculated based on 1st tier (1-10)
- The net subscription price is 8 x 30 = $240 per month
-
Subscription 2
- A subscriber signs up for plan 2
- A subscriber requests 25 licenses when they sign up. The price will be calculated based on 3rd tier (21-30)
- The net subscription price is 25 x 28 = $700 per month
Sample request
The following sample request shows how to create a volume-based pricing plan. Use this sample to adjust your code when you create a plan.
In this sample, the pricing_model
and quantity_supported
parameters indicate that this plan is a volume-based plan.
API endpoint used: Create plan
1curl -v –X POST https://api-m.sandbox.paypal.com/v1/billing/plans \2 -H "Accept: application/json" \3 -H "Authorization: Bearer ACCESS-TOKEN" \4 -H "Content-Type: application/json" \5 -H "PayPal-Request-Id: PLAN-18062020-001" \6 -d '{7 "name": "Standard Plan",8 "description": "Volume based Software Licenses",9 "product_id": "PROD-6DN21878H3529990P",10 "billing_cycles": [{11 "frequency": {12 "interval_unit": "MONTH",13 "interval_count": 114 },15 "tenure_type": "REGULAR",16 "sequence": 1,17 "total_cycles": 0,18 "pricing_scheme": {19 "pricing_model": "VOLUME",20 "tiers": [21 {22 "starting_quantity": "1",23 "ending_quantity": "5",24 "amount": {25 "value": "15",26 "currency_code": "USD"27 }28 },29 {30 "starting_quantity": "6",31 "ending_quantity": "10",32 "amount": {33 "value": "14",34 "currency_code": "USD"35 }36 },37 {38 "starting_quantity": "11",39 "ending_quantity": "15",40 "amount": {41 "value": "13",42 "currency_code": "USD"43 }44 },45 {46 "starting_quantity": "16",47 "ending_quantity": "20",48 "amount": {49 "value": "12",50 "currency_code": "USD"51 }52 },53 {54 "starting_quantity": "21",55 "amount": {56 "value": "11",57 "currency_code": "USD"58 }59 }60 ]61 }62 }],63 "quantity_supported": true,64 "payment_preferences": {65 "auto_bill_outstanding": true,66 "payment_failure_threshold": 167 }68 }'
Tiered-based plan
A tier-based pricing model defines the subscription's price and any price changes based on the quantity of product units within a tier.
Sample use cases:
- Bulk SMS, email, and voice services
- SAAS charges for a given number of product licenses priced differently across tiers
- Cloud based service platform changes for data storage priced differently across tiers
Examples
Plan 1
A merchant offers a tiered-based monthly plan that provides software licenses to businesses using these defined fees:
Number of software licenses | Price per license (per month) |
---|---|
1-5 | $15 |
6-10 | $14 |
11-15 | $13 |
16-20 | $12 |
21 and beyond | $11 |
During subscription creation, the subscriber chooses a quantity. That quantity determines the amount charged every regular billing cycle.
-
Subscription 1
- A subscriber signs up for plan 1
- A subscriber requests 14 licenses when they sign up
- The net subscription price is 5 x 15 + 5 x 14 + 4 x 13 = $197 per month
-
Subscription 2
- A subscriber signs up for Plan 1
- A subscriber requests 25 licenses when they sign up
- The net subscription price is 5 x 15 + 5 x 14 + 5 x 13 + 5 x 12 + 5 x 11 = $325 per month
Plan 2
A merchant offers a tiered-based monthly plan that provides tech support and assistance to relevant businesses with the following fee schedule:
Number of technicians (Tech Support) | Price per technician (per month) |
---|---|
1-10 | $30 |
11-20 | $29 |
21-30 | $28 |
31 and beyond | $27.5 |
During subscription creation, the subscriber chooses a quantity. That quantity determines the amount charged every regular billing cycle.
-
Subscription 1
- A subscriber signs up for Plan 2
- A subscriber requests 14 licenses when they sign up
- The net subscription price is 10 x 30 + 4 x 29 = $416 per month
-
Subscription 2
- A subscriber signs up for Plan 2
- A subscriber requests 25 licenses when they sign up
- The net subscription price is 10 x 30 + 10 x 29 + 5 x 28 = $730 per month
Sample request
The following sample request shows how to create a tiered-based pricing plan. Use this sample to adjust your code when you create a plan.
In this sample, the pricing_model
and quantity_supported
parameters indicate that this plan is a tiered-based plan.
API endpoint used: Create plan
1curl -v –X POST https://api-m.sandbox.paypal.com/v1/billing/plans \2 -H "Accept: application/json" \3 -H "Authorization: Bearer ACCESS-TOKEN" \4 -H "Content-Type: application/json" \5 -H "PayPal-Request-Id: PLAN-18062020-001" \6 -d '{7 "name": "Platinum Plan",8 "description": "Tiered based pricing for technical support",9 "product_id": "PROD-6DN21878H3529990P",10 "billing_cycles": [{11 "frequency": {12 "interval_unit": "MONTH",13 "interval_count": 114 },15 "tenure_type": "REGULAR",16 "sequence": 1,17 "total_cycles": 0,18 "pricing_scheme": {19 "pricing_model": "TIERED",20 "tiers": [21 {22 "starting_quantity": "1",23 "ending_quantity": "10",24 "amount": {25 "value": "30",26 "currency_code": "USD"27 }28 },29 {30 "starting_quantity": 11",31 "ending_quantity": "20",32 "amount": {33 "value": "29",34 "currency_code": "USD"35 }36 },37 {38 "starting_quantity": "21",39 "ending_quantity": "30",40 "amount": {41 "value": "28",42 "currency_code": "USD"43 }44 },45 {46 "starting_quantity": "31",47 "amount": {48 "value": "27.5",49 "currency_code": "USD"50 }51 }52 ]53 }54 }],55 "quantity_supported": true,56 "payment_preferences": {57 "auto_bill_outstanding": true,58 "payment_failure_threshold": 159 }60 }'6162## See also6364* Use the [Plans resource group](/docs/api/subscriptions/v1/#plans) of the Subscriptions REST API to manage plans, including updating pricing, updating the plan, and deactivating the plan.656667export const _frontmatter = {"title":"Pricing plans","contentType":"Docs","keywords":"subscriptions, pricing plans","productStatus":"Current","apiVersion":"v1","date":"2022-04-06T23:06:12.000Z"}