Docschargebeedocs

HomeBillingPaymentsRevRecGrowthReveal
Support

Product Updates


  • Release Notes

Getting Started


  • Overview
  • Chargebee Billing Data Centers
  • Object Relationship Model
  • Understanding Sites
  • Chargebee Tech Glossary
  • Articles and FAQ

Implementing Chargebee


  • Implementation Guide
  • Go-live Checklist
  • Articles and FAQ

AI in Chargebee


  • Chargebee Agents
  • Chargebee Copilot
  • Chargebee MCP Server (Model Context Protocol)

Developer Resources


  • Developer Resources Overview
  • Articles and FAQ

Product Catalog


  • Product Catalog Overview
  • Coupons
  • Articles and FAQ

Subscriptions


  • Working with Subscriptions
  • Billing
  • Orders
  • Articles and FAQ

Customers


  • Managing Customers
  • Account Hierarchy
  • Email Notifications
  • Branding
  • Configure Multiple Languages
  • Articles and FAQ

Entitlements


  • Entitlements Overview
  • Features Overview
  • Feature Management
  • Managing Product Entitlements
  • Subscription Entitlements
  • Customer Entitlements
  • Grandfathering Entitlements
  • Articles and FAQ

Usage Based Billing


  • Understanding Usages
  • Setting up Usage Based Billing
  • Usage Alerts
  • Metered Billing
  • Articles and FAQ

Chargebee CPQ


  • Chargebee CPQ
  • Chargebee CPQ for Salesforce
  • Chargebee CPQ for HubSpot

Invoices, Credit Notes, and Quotes


  • Invoices
  • Credit Notes
  • Quotes [Legacy]
  • Transactions
  • Articles and FAQ

Taxes


  • Overview
  • Configuring Taxes
  • Country-specific Taxes
  • Articles and FAQ

Hosted Capabilities


  • Overview
  • Hosted Checkout
  • Hosted Self-Serve Portal
  • Hosted Pages Features
  • Additional Hosted Pages
  • Payment Components
  • Pricing Table
  • Managing Payments with Chargebee.js
  • Mobile-Optimized Hosted Pages
  • Articles and FAQ

Site Configuration


  • Users & Roles
  • Custom Fields & Metadata
  • Approvals
  • Mandatory Fields
  • File Attachments & Comments
  • Advanced Filter Options
  • Multicurrency Pricing
  • Multi-decimal Support
  • Configuring Reason Codes
  • Events and Webhooks
  • API Keys
  • Time Zone
  • Time Machine
  • Transfer Configurations
  • Articles and FAQ

Multi Business Entity


  • Multi Business Entity Overview
  • Customer Transfer Overview
  • Articles and FAQ

Mobile Subscriptions


  • Overview
  • Omnichannel Subscriptions
  • Omnichannel One-Time Orders
  • Mobile Subscriptions (Legacy)

Reports and Analytics


  • RevenueStory
  • Home Dashboard
  • Frequently Asked Questions
  • FAQs for Classic Reports Sunset
  • Articles and FAQ

Integrations


  • Sales
  • Customer Support and Success
  • Finance
  • Tax
  • Marketing
  • Stitch
  • Collaboration
  • Contract Management
  • Ecommerce Management
  • Articles and FAQ

Data Privacy & Security


  • Two Factor Authentication
  • SAML Single Sign-On
  • System for Cross-Domain Identity Management (SCIM)
  • EU-GDPR
  • Consent Management
  • Personal Data Management
  • Compliance Certificates
  • HIPAA Guidelines
  • PCI Recommendations and Integration Types
  • Articles and FAQ

Data Operations


  • Bulk Operations
  • Migration
  • Articles and FAQ
  1. Billing
  2. Hosted Capabilities
  3. Articles and FAQ
  4. Subscriptions API
  1. Billing
  2. Hosted Capabilities
  3. Articles and FAQ
  4. Subscriptions API

Error while using Hosted Pages for Checkout API in case of tier-based pricing

Problem Statement

How do I pass the tiered plan when generating checkout using the Hosted Pages API?

Solution

When you pass quantity and tier prices to the Hosted Pages checkout API, you may see the error: "Subscription Item Tiers does not match with the original item price".

This occurs when you pass only one tier in the parameters. The API expects all tiers defined for the plan. If you pass a single tier, the tiers do not match the item price configuration.

Steps to Set It Up

Incorrect example (single tier – causes error):

curl --location --request POST 'https://{site_name}.chargebee.com/api/v2/hosted_pages/checkout_new_for_items'
--header 'Authorization: Basic site_key='
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'subscription_items[item_price_id][0]=test-INR-Every-6-months'
--data-urlencode 'item_tiers[item_price_id][0]=test-INR-Every-6-months'
--data-urlencode 'subscription_items[quantity][0]=25'
--data-urlencode 'item_tiers[starting_unit][0]=1'
--data-urlencode 'item_tiers[ending_unit][0]=20'
--data-urlencode 'item_tiers[price][0]=20000'

Correct example (all tiers):

curl --location --request POST 'https://{site_name}.chargebee.com/api/v2/hosted_pages/checkout_new_for_items'
--header 'Authorization: Basic site_key='
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'subscription_items[item_price_id][0]=test-INR-Every-6-months'
--data-urlencode 'subscription_items[quantity][0]=25'
--data-urlencode 'item_tiers[starting_unit][0]=1'
--data-urlencode 'item_tiers[ending_unit][0]=20'
--data-urlencode 'item_tiers[price][0]=20000'
--data-urlencode 'item_tiers[starting_unit][1]=21'
--data-urlencode 'item_tiers[ending_unit][1]=50'
--data-urlencode 'item_tiers[price][1]=50000'
--data-urlencode 'item_tiers[starting_unit][2]=51'
--data-urlencode 'item_tiers[price][2]=70000'
--data-urlencode 'item_tiers[item_price_id][0]=test-INR-Every-6-months'
--data-urlencode 'item_tiers[item_price_id][1]=test-INR-Every-6-months'
--data-urlencode 'item_tiers[item_price_id][2]=test-INR-Every-6-months'

Related Articles

How to setup Google Analytics 4 in Chargebee?
Retrieve Subscription details on custom thank you page.

Was this article helpful?