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"}

          We use cookies to improve your experience on our site. May we use marketing cookies to show you personalized ads? Manage all cookies