How does PromptPay work for online payments?
PromptPay is a QR payment from the shopper’s bank account. At checkout the shopper chooses PromptPay and the merchant’s provider shows a QR code for the exact amount. The shopper scans it with a Thai banking app, approves the payment and the money moves at once. Stripe describes it as a payment made with the shopper’s preferred app from participating banks, with confirmation as soon as the shopper completes it.
The merchant waits for confirmation. Opn Payments (Omise) calls PromptPay an offline flow: once the charge is created, it can only be authorised by the shopper in their banking app. The charge stays pending until it becomes successful, failed or expired, and Opn recommends waiting for its charge.complete webhook and then checking the charge status. Its QR codes expire 24 hours after creation by default, and a merchant can set a shorter expiry per charge.
Limits differ by provider. Opn accepts PromptPay charges from THB 20 to THB 150,000, while Xendit lists THB 1 to THB 700,000. The shopper’s own bank limits apply on top.
Where and how do shoppers use PromptPay?
It is registered at national scale. The Bank of Thailand says PromptPay was launched in 2016. People register through mobile banking, internet banking, ATMs or branches, linking an account to a citizen ID or a phone number; a phone number can be linked to only one account. National ITMX, which runs the system, reported 82.91 million registrations at the end of May 2026: 82.50 million individuals and 0.41 million businesses. In May 2026 PromptPay handled 2.38 billion transactions worth THB 4.45 trillion, up 15% in volume on a year earlier, with a peak of 68.51 million transactions on 1 May.
Thai shoppers pay online from their accounts. The Xendit and Cube Ecommerce Payments Momentum Report 2026 found that 61% of Thai shoppers use account-to-account transfers for at least half of their online purchases, and that security concerns are the top reason for abandoning a purchase, cited by 33%.
PromptPay now does much more than transfers. The Bank of Thailand lists Thai QR Payment, PromptPay for Corporate, cross-bank bill payment, e-wallet top-ups and e-donations among its services. It also links across borders: by April 2024 Thai QR payments were connected with Singapore, Malaysia, Indonesia, Laos, Cambodia, Vietnam, Hong Kong and Japan, and inbound cross-border QR payments reached THB 1.51 billion in May 2026.
What rules and costs should merchants know?
Shopper fees are low. Under the Bank of Thailand’s schedule, transfers up to THB 5,000 are free and larger ones carry a capped fee, and most banks have waived fees for digital payments such as mobile payments since 2018.
Refunds are the main gap. Opn says PromptPay charges cannot be voided or refunded through its platform, and Xendit lists refunds as not supported. Stripe does support full and partial refunds, but only after it emails the shopper for the number of the bank account the payment came from; without it, the refund might fail.
Repeat scans can take money twice. Stripe warns that scanning a completed QR code again can deduct funds from the shopper’s account a second time. Stripe returns any excess to the merchant’s balance, and the merchant must refund the shopper outside Stripe.
There are no card chargebacks. Stripe lists disputes as not applicable because the shopper authenticates in their banking app. It still reviews irregular, unexpected or repeated payments and may contact the merchant.
How would Omno handle PromptPay?
- One checkout: PromptPay would appear in the Omno hosted checkout next to cards, wallets, local methods and crypto, with the QR code shown on the page. Merchants with their own payment screens would use Direct Links on their own buttons.
- Routing rules: The merchant would set rules that send THB payments to a connected provider that supports PromptPay, for example by amount when providers have different limits. Omno connects through those providers; it is not an acquirer and does not hold funds.
- Cascading: In the hosted checkout, if the chosen provider is unavailable or rejects the request before the QR code is shown, the payment would move to the next provider in the rule until one accepts.
- Status: The order would stay pending until the provider confirms the scan, and the final result would reach the merchant by webhook.
What should merchants plan for?
Set a QR expiry that fits the order. A code that stays valid for 24 hours keeps stock reserved for a long time, so shorter expiry suits most online orders.
Plan refunds outside the scheme. With providers that do not refund PromptPay, returns need a separate bank transfer, so collect the shopper’s account details when a refund is due.
Guard against double payment. Show one QR code per order, hide it once paid and watch for repeated payments.
Check amount limits per provider. Large baskets may exceed one provider’s maximum and need another route or a card.