Skip to content
The Devil’s Dev

Thailand · 7 min read

How PromptPay works online, which providers support it, what foreign-owned businesses need, and how to handle deposits, confirmations and refunds properly.

By Chris ·

Bangkok at night, seen from above, with expressways of light running through the city

Thai customers pay with PromptPay the way UK customers tap a card: without thinking about it. If your website only takes cards, Thai customers either abandon the booking or message you to ask for your bank details, and you spend the afternoon matching transfer slips to names. Here is how to take PromptPay properly instead.

How PromptPay works on a website

At checkout the customer chooses PromptPay and is shown a QR code. They scan it with their Thai banking app, approve the payment there, and the payment provider tells your website it has been paid. There is no card number, and the customer authenticates in their own bank’s app, so fraud risk is low.

It is a Thai baht, Thai bank payment method. Visitors from abroad without a Thai bank account cannot use it, so keep card payments alongside it.

Which providers support it

  • Stripe supports PromptPay for Stripe accounts registered in Thailand, with payments in THB. You enable it in the Stripe Dashboard, and it works with Stripe Checkout, Payment Links, Elements and invoices.
  • Omise (now Opn Payments) offers PromptPay in Thailand. Its documentation says you enable it by contacting its support team and accepting additional terms.
  • Several Thai banks and local gateways offer PromptPay QR acceptance directly, which can suit businesses that already bank with them.

Fees, settlement times and terms change, so compare current pricing directly with each provider before choosing.

What foreign-owned businesses need to know

Because providers such as Stripe only offer PromptPay to accounts registered in Thailand, you need a Thai-registered business and a Thai bank account to receive the funds. A UK or Singapore company taking bookings for a Thai villa cannot simply switch PromptPay on. If your structure is unusual, settle the question of which entity takes the money with your accountant first; the website can then be built around it.

Designing the payment step

  • Offer both, clearly. Card for international customers, PromptPay for Thai ones, labelled so each knows which is theirs.
  • Make the QR work on a phone. Most customers are already on the phone they would scan with. A good flow lets them save the QR image or switch to their banking app without losing the page.
  • Show what is being paid. Amount in baht, what it covers (deposit or full payment), and what happens next.
  • Confirm immediately. When the provider confirms payment, show a confirmation page and send an email, and notify your team, on LINE if that is how you work.

Deposits, balances and bookings

For bookings, a common pattern is a deposit online and the balance before arrival. Payment links (one-off links tied to an amount) work well for the balance: you send one by email, LINE or WhatsApp, and the customer pays by PromptPay or card. Keep the booking record and the payment record linked, so nobody is reconciling bank slips by hand.

Refunds work differently

A card refund goes back to the card. A PromptPay refund needs to know where to send the money. Stripe’s documentation explains that it emails the customer to collect the bank account details for the refund, and that the refund can fail without the account the payment came from. Tell customers this in your cancellation terms, and allow a little longer for PromptPay refunds than for card ones.

Stripe also notes that a PromptPay QR code should only be paid once: if a customer scans and pays the same code again, the extra payment has to be returned outside Stripe. A good checkout makes each QR code clearly single-use and expires it.

What customers see on their statement

With Stripe, customers see Stripe’s Thai company name in their banking app and on their statement, not your business name. Say so on the payment page (“You will see STRIPE PAYMENTS (THAILAND) LTD in your banking app”), or you will get messages from customers who think something has gone wrong.

Data protection

A hosted checkout keeps payment details with the provider, which is where you want them. You still collect names, emails and booking details, and Thailand’s PDPA applies to those: say why you collect them, keep only what the booking needs, and ask separately before adding anyone to marketing.

Checklist

  1. A Thai-registered business and bank account for the provider
  2. PromptPay and cards both offered, clearly labelled
  3. A phone-friendly QR step with the amount shown in baht
  4. Instant confirmation by page, email and team notification
  5. Cancellation terms that explain PromptPay refunds
  6. A note about the name customers will see in their banking app

We build booking and payment flows for businesses in Thailand, from a single payment link to a full booking system. See bookings and systems, or tell us what you need.

Sources

Markets

What matters in each market, from messaging apps and payments to language and data protection.

Next step

Send a short note about your business, your customers and what needs to change. You will get a considered, written reply within one working day, on Bangkok time.