Pricing plans

DOCSCurrent

Last updated: Sept 24th, 5:29pm

When you set up your subscription plan, you can choose from four different pricing models:

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": 1
    14 },
    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": 1
    28 }
    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": 1
      14 },
      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": 1
      29 }
      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": 1
        14 },
        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": 1
        67 }
        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": 1
          14 },
          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": 1
          59 }
          60 }'
          61
          62## See also
          63
          64* 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.
          65
          66
          67export const _frontmatter = {"title":"Pricing plans","contentType":"Docs","keywords":"subscriptions, pricing plans","productStatus":"Current","apiVersion":"v1","date":"2022-04-06T23:06:12.000Z"}

          If you accept cookies, we'll use them to improve and customise your experience and enable our partners to show you personalised PayPal ads when you visit other sites. Manage cookies and learn more