New in Chargebee: Explore Reveal and understand your payment performance end-to-end.Try Now
Docschargebee docs
HomeBillingCPQPaymentsRevRecGrowthReveal
Support

Product Updates


  • Release Notes

Payment Methods


  • Payment Methods Overview
  • Cards
  • Direct Debit
  • Bank Based Payments
  • Wallets
  • Vouchers
  • Articles and FAQ

Payment Gateways and Configuration


  • Payment Gateways Overview
  • Chargebee Test Gateway
  • Stripe
    • ACH Credit Transfer via Stripe
    • ACH Payments via Stripe
    • Alipay via Stripe
    • Amazon Pay via Stripe
    • Apple Pay via Stripe
    • Automated Bank Transfer via Stripe
    • BACS via Stripe
    • Bancontact via Stripe
    • BECS via Stripe
    • BECS NZ via Stripe
    • Boleto Payments via Stripe
    • Cartes Bancaires
    • Cash App Pay via Stripe
    • Google Pay via Stripe
    • iDEAL via Stripe
    • Kakao Pay via Stripe
    • Klarna via Stripe
    • Naver Pay via Stripe
    • Revolut Pay via Stripe
    • SEPA Payments via Stripe
    • Sofort via Stripe
    • Stablecoin via Stripe
    • Stripe RBI e-Mandate Impacts
    • Wechat Pay via Stripe
    • PayPay via Stripe
    • South Korean Cards via Stripe
    • UPI via Stripe
  • PayPal Payment Services
  • Chargebee Pay
  • Adyen
  • Authorize.net
  • Bambora (formerly Beanstream)
  • Bank of America
  • BluePay
  • BlueSnap
  • Braintree
  • Checkout.com
  • CyberSource
  • dLocal
  • EBANX
  • Ecentric
  • Elavon
  • E-xact Direct Integration
  • eWay Rapid
  • Global Payments
  • GoCardless
  • J.P. Morgan Mobility Payment Solutions
  • Metrics Global
  • Mollie
  • Moneris
  • Network Merchants Incorporated (NMI)
  • Nuvei
  • Orbital (Chase Paymentech)
  • Pay.com
  • Paymill
  • Paystack
  • Pin Payments
  • QuickBooks Payments
  • Razorpay
  • Sage Pay
  • Solidgate
  • Tempus
  • Twikey
  • Windcave
  • Worldline Online Payments(formerly Ingenico)
  • Worldpay
  • Articles and FAQ

Level 2/3 Data Support


  • Level 2/3 Data Support

Payment Optimization Engine


  • Overview
  • Defaults
  • Advanced Setup
  • Payment Method Display Rules
  • Verification Rules
  • Routing Rules

Dunning


  • Dunning
  • Articles and FAQ

Offline Checkout


  • Offline Checkout
  • Articles and FAQ

Transaction Sync & Invoice Mapping


  • Transaction Sync and Invoice Mapping

Fraud Management


  • Fraud Management

Error Handling


  • Errors with Root Cause and Troubleshooting

Payment Lifecycle Logs


  • Payment Intents
  • Transactions
  • Gateway Activity Logs
  • Gateway Webhook Logs
  • Articles and FAQ

Others


  • Reach (Merchant of Record)
  • Bulk Deletion of Payment Methods
  • Custom Payment Methods
  • Payment Initiator Parameter
  • PSD2 and Strong Customer Authentication
  • RBI e-Mandate
  • RBI Tokenization Regulations
  • Chargeback Management
  • Transaction Descriptors
  • Payment Preferences
  • Visa Trial Rules
  • Mastercard Trial Rules
  • Co-badged Card Compliance
  • Articles and FAQ
  1. Payments
  2. Payment Gateways and Configuration
  3. Stripe
  4. UPI via Stripe
  1. Payments
  2. Payment Gateways and Configuration
  3. Stripe
  4. UPI via Stripe

UPI via Stripe

This feature is a Private Beta release. Contact Chargebee Support to enable UPI via Stripe for your live and test sites.

Chargebee supports Unified Payments Interface (UPI) through the Stripe payment gateway, letting you offer Indian customers a familiar, bank-native payment experience at checkout.

UPI is a real-time payment system governed by the National Payments Corporation of India (NPCI). When a customer selects UPI during checkout:

  • On desktop, a QR code is displayed for the customer to scan using any UPI-enabled app (such as Google Pay, PhonePe, or Paytm).
  • On mobile, Stripe automatically hands off to an installed UPI app so the customer can authorize without scanning a QR code.
  • The customer authorizes the payment and mandate directly in their UPI app—no redirect to an external payment page.
  • On successful authorization, Chargebee sets up a recurring mandate so future subscription renewal charges can be collected automatically in the background.

For more information on how Stripe handles UPI, see Stripe's UPI documentation.

Key features

  • Supports subscription payments and one-time charges.
  • Supports INR (Indian Rupee) as the payment currency.
  • Saves the payment method as a mandate for automatic future collections (MIT).
  • Compatible with:
    • In-app checkout
    • Full-page checkout
    • Self-serve portal
    • Chargebee.js
    • APIs

Prerequisites

Before you set up UPI in Chargebee:

  • Stripe is configured as a payment gateway in Chargebee.
  • UPI is enabled in your Stripe account. Contact Stripe to activate UPI for your live account.
  • Your Chargebee site is configured to collect payments in INR.

Configure UPI via Stripe in Chargebee

To enable UPI payments through Stripe in Chargebee:

  1. Log in to your Chargebee Billing site.
  2. Go to Settings > Configure Chargebee > Payment Gateway.
  3. Select Stripe from the list of configured gateways.
  4. On the Configure Stripe page, turn on Unified Payments Interface (UPI).
    Configure Stripe page with the UPI payment method enabled
  5. Click Apply to save your changes.

Configure Smart Routing

To ensure INR payments route to the correct Stripe gateway for UPI:

  1. Go to Settings > Configure Chargebee > Payment Gateways.
  2. Select Smart Routing.
  3. Under the For UPI section, set the rule to route INR payments to your Stripe gateway.
    Smart Routing page showing INR routing to Stripe for UPI

Configuring webhooks

To keep your Chargebee–Stripe integration in sync, configure webhooks in Stripe. Webhooks let Chargebee receive real-time updates from Stripe when important events occur.

For this integration to work correctly, enable the following events:

  • charge.refund.updated

This event notifies Chargebee when a refund is updated in Stripe, so refund status is reflected accurately in your Chargebee account.

Checkout flow

Your customer completes the following steps at checkout when subscribing with UPI via Stripe:

  1. The customer reviews the order details on the Your order page and clicks Proceed To Checkout.
    Your order page showing the plan amount and Proceed To Checkout button
  2. The customer enters their email address and clicks Next.
    Your order page prompting the customer to enter email to proceed
  3. The customer enters their account details—name and phone number—and clicks Next.
    Add your account details page with name and phone fields for UPI
  4. The customer enters their billing address and clicks Next.
    Add your billing address page during UPI checkout
  5. The customer selects UPI on the Add your payment details page, enters the required payment details, and clicks Next.
    Add your payment details page with UPI selected as the payment method
  6. The customer reviews the full order summary on the Complete your order page—including account details, billing address, and UPI payment details—and clicks Pay & Subscribe.
    Complete your order page with UPI selected as payment method and Pay and Subscribe button
  7. The customer authorizes the payment and mandate in their UPI app. On desktop, a QR code is displayed to scan. On mobile, Stripe automatically hands off to an installed UPI app.
    QR code displayed for the customer to scan with their UPI app to complete payment
  8. After the customer scans and approves, the subscription is created. The payment and mandate setup complete automatically and the page shows a Close button.

Note

The screenshots above show the UPI checkout flow in Stripe's test environment. In production, customers scan the QR code in their real UPI app.

Recurring payments and mandate behavior

When a customer completes UPI checkout in Chargebee, a UPI mandate is automatically set up. This mandate authorizes Chargebee to collect future subscription renewal charges without requiring the customer to scan a QR code each time.

Mandate details

Mandate propertyValue
Amount typeMaximum (covers any charge up to the mandate cap)
Mandate cap₹15,000
Billing intervalDerived from the subscription plan frequency

Customer-initiated transactions (CIT)

For any customer-present charge—including first-time checkout, a new purchase with a saved UPI payment method, or adding UPI from the self-serve portal—the customer must authorize the payment in their UPI app. On desktop, they scan a QR code; on mobile, Stripe hands off to an installed UPI app. This is required by Stripe for all CIT UPI flows and cannot be bypassed.

Merchant-initiated transactions (MIT)

Once the mandate is set up, Chargebee collects subscription renewals automatically as off-session merchant-initiated transactions (MIT). No customer action is required.

Payment features

The following features are supported for UPI via Stripe.

FeatureDescriptionSupportedDefault stateConfiguration or behavior
Integration sync modeDefines how payment requests are processed and statuses are communicated between Chargebee and Stripe.Yes (synchronous)SynchronousChargebee waits for the customer to authorize the payment in their UPI app in-session (QR code on desktop, app handoff on mobile). The subscription is created only after the customer completes authorization.
Capture settingsPayment processing involves two stages: authorization and capture. Capture settings determine when funds are collected after authorization.YesAuto captureAuto capture is the default and only supported capture setting for UPI via Stripe. Funds are collected immediately after the customer approves the QR code.
Recurring billing (MIT)Automatic off-session collection for subscription renewals using a saved mandate.YesEnabled after initial CIT mandate setupChargebee collects renewals automatically using the UPI mandate set up during checkout.
Statement descriptorDisplays the business name on the customer's bank statement, helping them recognize charges and reducing disputes.YesDisabledConfigure this under Settings > Configure Chargebee > Transaction Descriptor.
RefundsReversal of a collected payment back to the customer.YesAvailableFull and partial refunds are supported. Configure Stripe webhooks with the charge.refund.updated event to ensure refund status is reflected accurately in Chargebee.
Chargeback managementHandles chargeback events and applies configured actions on invoices and subscriptions.NoNot applicableUPI dispute handling is not supported in Chargebee. If a customer raises a dispute, issue a refund manually through your Stripe dashboard.
Fraud managementUses gateway fraud signals to identify and flag high-risk transactions.NoNot applicableNo UPI-specific fraud configuration is available in Chargebee.
Error intelligenceProvides standardized categorization of payment failures.YesEnabledAvailable through Stripe payment responses. No configuration is required.
Gateway transaction detailsProvides access to raw gateway responses for transactions.YesEnabledAvailable on the transaction page under Error details. No configuration is required.
Adding payment methods in the Chargebee dashboardAllows a payment method to be added in Chargebee when details are collected outside checkout.NoNot applicableUPI payment methods cannot be added from the Chargebee dashboard. Customers must complete the UPI checkout or portal flow to set up a mandate.

Supported token formats

This section is relevant if you're building a custom checkout or migrating payment methods from another provider to Stripe.

Token typeDescriptionSupportedToken fieldToken format
Chargebee Payment IntentRecommended token format when building a custom checkout using Chargebee.js.Yespayment_intent[id]payment_intent_id
Chargebee tokenLegacy token format supported for selected payment methods and gateways with Chargebee.js. Not recommended for new implementations.Notoken_idNot applicable
Gateway permanent tokenPermanent reference provided by the gateway for saved payment methods.Yespayment_method[reference_id]Stripe Payment Method ID (pm_...)
Gateway temporary tokenShort-lived token format that can be converted to a permanent token.NoNot applicableNot applicable

Testing

Sandbox testing

Refer to Stripe's UPI documentation for instructions on testing UPI in the Stripe test environment. In test mode, QR code scanning is simulated automatically without requiring a real UPI app.

Production testing

Before you go live:

  • Make sure UPI is enabled in your Stripe live account.
  • Verify Smart Routing routes INR payments to your Stripe gateway under the For UPI section.
  • Verify that webhook configuration is complete with the charge.refund.updated event.
  • Run end-to-end testing using a real UPI-enabled bank account and a mobile device with a UPI app installed.
  • Test both new checkout (CIT with QR flow) and a renewal scenario (MIT off-session) to confirm mandate collection works correctly.

Reconciliation

For financial reconciliation between Chargebee and Stripe, use the Chargebee transaction field id_at_gateway, which maps to the Stripe PaymentIntent ID. Retrieve that value from the Chargebee transaction details, then locate the matching transaction in your Stripe Dashboard or reports.

Limitations and important points

  • Currency: UPI via Stripe supports INR only.
  • Geography: UPI is available for customers with Indian bank accounts that have UPI enabled, and a UPI-supported bank app (such as Google Pay, PhonePe, or Paytm).
  • QR code expiry: The QR code expires after approximately 5 minutes. If it is not scanned in time, the customer must restart checkout.
  • No UPI ID entry: Chargebee's UPI integration uses Stripe's QR code flow. Customers do not enter their UPI Virtual Payment Address (VPA/UPI ID) during checkout.
  • Portal add payment method: When a customer adds a UPI payment method from the self-serve portal and has a small pending invoice (below ₹1), the portal may fail to collect the pending balance during payment-method setup. Enable asynchronous payment collection in your Stripe gateway settings in Chargebee so invoice collection happens in the background and does not block adding the payment method.

Was this article helpful?