Pricing plans

DOCSCurrent

Last updated: Sept 23rd, 8:20pm

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 "PayPal-Auth-Assertion: AUTH-ASSERTION" \
    3 -H "Accept: application/json" \
    4 -H "Authorization: Bearer ACCESS-TOKEN" \
    5 -H "Content-Type: application/json" \
    6 -H "PayPal-Request-Id: PLAN-18062020-001" \
    7 -d '{
    8 "name": "Premium Music Plus",
    9 "description": "A premium plan with music download feature",
    10 "product_id": "PROD-5RN21878H3527870P",
    11 "billing_cycles": [{
    12 "frequency": {
    13 "interval_unit": "MONTH",
    14 "interval_count": 1
    15 },
    16 "tenure_type": "REGULAR",
    17 "sequence": 1,
    18 "total_cycles": 0,
    19 "pricing_scheme": {
    20 "fixed_price": {
    21 "value": "5",
    22 "currency_code": "USD"
    23 }
    24 }
    25 }],
    26 "payment_preferences": {
    27 "auto_bill_outstanding": true,
    28 "payment_failure_threshold": 1
    29 }
    30 }'

    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 "PayPal-Auth-Assertion: AUTH-ASSERTION" \
      3 -H "Accept: application/json" \
      4 -H "Authorization: Bearer ACCESS-TOKEN" \
      5 -H "Content-Type: application/json" \
      6 -H "PayPal-Request-Id: PLAN-18062020-001" \
      7 -d '{
      8 "name": "Classic treat",
      9 "description": "500gm dog food per bag",
      10 "product_id": "PROD-6DN21878H3529990P",
      11 "billing_cycles": [{
      12 "frequency": {
      13 "interval_unit": "WEEK",
      14 "interval_count": 1
      15 },
      16 "tenure_type": "REGULAR",
      17 "sequence": 1,
      18 "total_cycles": 0,
      19 "pricing_scheme": {
      20 "fixed_price": {
      21 "value": "9",
      22 "currency_code": "USD"
      23 }
      24 }
      25 }],
      26 "quantity_supported": true,
      27 "payment_preferences": {
      28 "auto_bill_outstanding": true,
      29 "payment_failure_threshold": 1
      30 }
      31 }'

      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 "PayPal-Auth-Assertion: AUTH-ASSERTION" \
        3 -H "Accept: application/json" \
        4 -H "Authorization: Bearer ACCESS-TOKEN" \
        5 -H "Content-Type: application/json" \
        6 -H "PayPal-Request-Id: PLAN-18062020-001" \
        7 -d '{
        8 "name": "Standard Plan",
        9 "description": "Volume based Software Licenses",
        10 "product_id": "PROD-6DN21878H3529990P",
        11 "billing_cycles": [{
        12 "frequency": {
        13 "interval_unit": "MONTH",
        14 "interval_count": 1
        15 },
        16 "tenure_type": "REGULAR",
        17 "sequence": 1,
        18 "total_cycles": 0,
        19 "pricing_scheme": {
        20 "pricing_model": "VOLUME",
        21 "tiers": [
        22 {
        23 "starting_quantity": "1",
        24 "ending_quantity": "5",
        25 "amount": {
        26 "value": "15",
        27 "currency_code": "USD"
        28 }
        29 },
        30 {
        31 "starting_quantity": "6",
        32 "ending_quantity": "10",
        33 "amount": {
        34 "value": "14",
        35 "currency_code": "USD"
        36 }
        37 },
        38 {
        39 "starting_quantity": "11",
        40 "ending_quantity": "15",
        41 "amount": {
        42 "value": "13",
        43 "currency_code": "USD"
        44 }
        45 },
        46 {
        47 "starting_quantity": "16",
        48 "ending_quantity": "20",
        49 "amount": {
        50 "value": "12",
        51 "currency_code": "USD"
        52 }
        53 },
        54 {
        55 "starting_quantity": "21",
        56 "amount": {
        57 "value": "11",
        58 "currency_code": "USD"
        59 }
        60 }
        61 ]
        62 }
        63 }],
        64 "quantity_supported": true,
        65 "payment_preferences": {
        66 "auto_bill_outstanding": true,
        67 "payment_failure_threshold": 1
        68 }
        69 }'

        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 "PayPal-Auth-Assertion: AUTH-ASSERTION" \
          3 -H "Accept: application/json" \
          4 -H "Authorization: Bearer ACCESS-TOKEN" \
          5 -H "Content-Type: application/json" \
          6 -H "PayPal-Request-Id: PLAN-18062020-001" \
          7 -d '{
          8 "name": "Platinum Plan",
          9 "description": "Tiered based pricing for technical support",
          10 "product_id": "PROD-6DN21878H3529990P",
          11 "billing_cycles": [{
          12 "frequency": {
          13 "interval_unit": "MONTH",
          14 "interval_count": 1
          15 },
          16 "tenure_type": "REGULAR",
          17 "sequence": 1,
          18 "total_cycles": 0,
          19 "pricing_scheme": {
          20 "pricing_model": "TIERED",
          21 "tiers": [
          22 {
          23 "starting_quantity": "1",
          24 "ending_quantity": "10",
          25 "amount": {
          26 "value": "30",
          27 "currency_code": "USD"
          28 }
          29 },
          30 {
          31 "starting_quantity": 11",
          32 "ending_quantity": "20",
          33 "amount": {
          34 "value": "29",
          35 "currency_code": "USD"
          36 }
          37 },
          38 {
          39 "starting_quantity": "21",
          40 "ending_quantity": "30",
          41 "amount": {
          42 "value": "28",
          43 "currency_code": "USD"
          44 }
          45 },
          46 {
          47 "starting_quantity": "31",
          48 "amount": {
          49 "value": "27.5",
          50 "currency_code": "USD"
          51 }
          52 }
          53 ]
          54 }
          55 }],
          56 "quantity_supported": true,
          57 "payment_preferences": {
          58 "auto_bill_outstanding": true,
          59 "payment_failure_threshold": 1
          60 }
          61 }'
          62
          63## See also
          64
          65* 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.
          66
          67
          68export 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