PromptPay via Stripe
This feature is a Private Beta release. Contact Chargebee Support to enable PromptPay via Stripe for your live and test sites.
Chargebee supports PromptPay through the Stripe payment gateway, letting you offer Thai customers a familiar local payment experience at checkout.
PromptPay is Thailand's national electronic payment system that enables instant transfers using mobile numbers or a national ID.
When a customer selects PromptPay during checkout:
- They're shown a QR code and authenticate and authorize the payment through their banking app.
- After authorization, Stripe redirects the customer back to your Chargebee site.
Supported countries and currencies
| Country | Supported currency |
|---|---|
| Thailand | THB (Thai Baht) |
Key features
- QR-based payment method. The customer completes the payment by scanning a QR code with their banking app.
- Supports one-time payments (one-time charges) only.
- Supports THB (Thai Baht) as the payment currency.
- Available for customers with Thai bank accounts that support PromptPay only.
Prerequisites
Before you set up PromptPay in Chargebee:
- Stripe is configured as a payment gateway in Chargebee.
- PromptPay is enabled in your Stripe account.
- The customer has a mobile number or Thai national ID registered with PromptPay.
Integration options
You can integrate PromptPay via Stripe using the following methods.
| Integration method | Description |
|---|---|
| Chargebee Hosted Pages (in-app checkout) | Accept PromptPay payments using Chargebee's in-app hosted checkout with minimal integration effort. |
| Chargebee Hosted Pages (full-page checkout) | Accept PromptPay payments using Chargebee's full-page hosted checkout. |
| Chargebee.js | Embed PromptPay as a payment method in your custom checkout using Chargebee.js. |
| API (Payment Intent) | Process PromptPay payments using Chargebee APIs for a fully custom checkout and payment flow. |
Configure PromptPay via Stripe in Chargebee
To enable PromptPay payments through Stripe in Chargebee:
- Log in to your Chargebee Billing site.
- Go to Settings > Configure Chargebee > Payment Gateway.
- Select Stripe from the list of configured gateways.
- On the Configure Stripe page, turn on PromptPay.

- Click Apply to save your changes.

Configure Smart Routing
After you turn on PromptPay, follow these steps to configure Smart Routing for it:
- Go to Settings > Configure Chargebee > Payment Gateways.
- Click Manage Rules under Smart Routing.
- Under the For PromptPay section, set the rule to route THB payments to your Stripe account, then click Save.

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, such as refunds, occur.
For this integration to work correctly, enable the following event:
This event notifies Chargebee when a refund transaction is created, fails, or is updated in Stripe, so refunds are reflected accurately in your Chargebee account.
Payment workflow
Your customer completes the following steps at checkout when paying with PromptPay via Stripe:
- The customer reviews the order details on the Your order page and clicks Proceed To Checkout.

- On the Add your account details page, the customer enters their name, email, and phone number, then clicks Next.

- The customer enters their billing address on the Add your billing address page and clicks Next.

- On the Add your payment details page, the customer selects PromptPay and clicks Continue with PromptPay.

- The customer reviews the order summary on the Complete your order page and clicks Pay.

- The customer scans the displayed PromptPay QR code with their bank or payment app to complete the payment.

- The customer authorizes the payment through their banking app.

- Once the payment is authorized, the page automatically closes and the customer is redirected back to Chargebee.

Note
These screenshots show the PromptPay checkout flow in Stripe's test environment. In production, customers complete the payment by scanning the live QR code with their banking app.
Payment features
The following features are supported for PromptPay via Stripe.
| Feature | Description | Supported | Default state | Configuration or behavior |
|---|---|---|---|---|
| Integration sync mode | Defines how payment requests are processed and statuses are communicated between Chargebee and Stripe. | Yes (asynchronous) | Asynchronous | Stripe processes PromptPay payments asynchronously. Chargebee receives the final payment status through Stripe webhooks. Webhook configuration is mandatory and is used to receive refund updates through the charge.refund.updated event. |
| Capture settings | Payment processing involves two stages: authorization and capture. Capture settings determine when funds are collected after authorization. | Yes | Auto capture | Auto capture is the default and only supported capture setting for PromptPay via Stripe. No additional configuration is required. |
| Verification modes | Defines how payment methods are verified before processing. | Yes | Enabled | The customer authorizes the payment through their banking app. No separate verification configuration is required in Chargebee. |
| Statement descriptor | Displays the business name on the customer's bank statement, helping them recognize charges and reducing disputes. | No | Not applicable | Not applicable to PromptPay via Stripe. |
| Chargeback management | Handles chargeback events and applies configured actions on invoices and subscriptions. | No | Not applicable | Stripe does not provide a chargeback process for PromptPay. Issue refunds manually if needed. |
| Fraud management | Uses gateway fraud signals to identify and flag high-risk transactions. | No | Not applicable | No PromptPay-specific fraud configuration is available in Chargebee. |
| Transaction initiation type | Identifies whether a transaction is customer-initiated (CIT) or merchant-initiated (MIT). | No | Not applicable | PromptPay supports customer-initiated, one-time payments only. Merchant-initiated recurring charges aren't supported. |
| Error intelligence | Provides standardized categorization of payment failures. | Yes | Enabled | Available through Stripe payment responses. No configuration is required. |
| Gateway transaction details | Provides access to raw gateway responses for transactions. | Yes | Enabled | Available on the transaction page under Error details. No configuration is required. |
| Adding payment methods in the Chargebee dashboard | Allows a payment method to be added in Chargebee when details are collected outside checkout. | No | Not applicable | Customers must complete the PromptPay checkout flow. PromptPay can't be added from the Chargebee dashboard. |
Supported token formats
This section is relevant if you're building a custom checkout or migrating payment methods from another provider to Stripe.
| Token type | Description | Supported | Token field | Token format |
|---|---|---|---|---|
| Chargebee Payment Intent | Recommended token format when building a custom checkout using Chargebee.js. | Yes | payment_intent[id] | payment_intent_id |
| Chargebee token | Legacy token format supported for selected payment methods and gateways with Chargebee.js. Not recommended for new implementations. | No | token_id | Not applicable |
| Gateway permanent token | Permanent reference provided by the gateway. Not applicable to PromptPay because it doesn't support stored credentials. | No | payment_method[reference_id] | Not applicable |
| Gateway temporary token | Short-lived token format that can be converted to a permanent token. | No | Not applicable | Not applicable |
Testing
Sandbox testing
Refer to Stripe's PromptPay documentation for instructions on testing PromptPay in the Stripe test environment. Make sure webhooks are configured to receive the charge.refund.updated event for refund settlement updates.
Production testing
Before you go live:
- Make sure PromptPay is enabled in your Stripe live account.
- Verify that webhook configuration is complete (required for refund settlement updates).
- Run end-to-end testing using a real Thai bank account that supports PromptPay.
Reconciliation
For financial reconciliation between Chargebee and Stripe, use the Chargebee transaction field id_at_gateway, which maps to the Stripe PaymentIntent ID.
To reconcile transactions:
- Retrieve the
id_at_gatewayvalue from the Chargebee transaction details. - Locate the corresponding transaction in your Stripe Dashboard or reports.
- Match transactions using this reference to keep your records consistent.
Limitations and important points
- PromptPay can't be added as a payment method through the customer portal or the Chargebee app. Customers must complete the PromptPay checkout flow.
- PromptPay doesn't support storing payment methods for recurring billing. Each transaction requires explicit customer authentication.
- PromptPay isn't suitable for automatic subscription renewals. To collect subscription payments with PromptPay, send email notifications with a Pay Now link when a new invoice is generated.
- PromptPay is available only to customers with a Thai bank account that supports PromptPay.
- Stripe does not provide a chargeback process for PromptPay. Issue refunds manually if needed.
- Transaction amounts must be between 20.00 THB and 2,000,000.00 THB.
- PromptPay is available only for THB (Thai Baht) transactions.
Was this article helpful?