Most Thai customers don't use credit cards for online shopping. They use PromptPay QR (national instant transfer), TrueMoney Wallet, SCB Easy QR, KBank QR, or cash-on-delivery. A WooCommerce store accepting only Visa/Mastercard locks out 60-70% of Thai buyers at the checkout step.
This is the actual integration we set up for Thai e-commerce clients.
What "a Thai-ready WooCommerce checkout" looks like
Minimum viable Thai payment stack:
- PromptPay QR — national instant transfer, supported by every Thai bank app. Zero processing fee. Should be the default.
- Credit card (Visa / Mastercard / JCB) via Omise, 2C2P, or Stripe — for international buyers and the Thai customers who prefer cards
- TrueMoney Wallet — popular with younger demographic and unbanked customers
- SCB Easy QR / KBank QR — for customers tied to those specific banks
- Cash on Delivery (COD) — still a major channel in Tier 2 cities and rural areas
Missing any of those, you'll see cart abandonment at the payment step. Adding them all properly typically lifts checkout conversion 30-50%.
Why most setups fail
The usual problem isn't that the merchant doesn't want PromptPay. It's that the WooCommerce integration is half-built:
- PromptPay shown but no automatic confirmation — the customer pays, then has to email a screenshot of the receipt to the merchant. 40%+ never bother and the order sits as "pending" forever
- Cash on Delivery shown nationwide but the merchant only delivers in Bangkok — wasted orders + customer complaints
- Credit card via international gateway (Stripe US, not Omise) — Thai cards get declined at 30%+ rate because of cross-border fraud rules
- Currency display in USD by default — Thai buyers see USD prices and assume the store doesn't ship to Thailand
- No Thai-language checkout — every label in English on the most decision-critical page of the funnel
The correct integration sequence
### 1. Pick the right payment gateway
For Thai-focused stores: Omise is the strongest default. Native Thai company, integrates PromptPay + credit cards + Internet Banking through one API. Settlement to Thai bank account in 1-2 business days.
Alternatives: 2C2P (multi-currency, good for cross-border), GBPrimePay, Pay Solutions. Each has different fee structures — Omise is competitive at 2.95% per credit card transaction, 1.5% for PromptPay.
Avoid: trying to use Stripe US as your primary gateway for Thai customers. Stripe is fine for international orders but mishandles Thai card rules.
### 2. Enable PromptPay with auto-confirmation
The single most important fix: automatic PromptPay confirmation. Manual receipt-screenshot confirmation kills 40% of would-be PromptPay orders.
Omise's PromptPay integration handles this: when the customer scans the QR and pays, Omise polls the transfer system and marks the order "completed" automatically within seconds. No screenshot required.
Without this, PromptPay is more friction than credit card, defeating the purpose.
### 3. Currency + language
Default store currency: THB (฿). Default language: Thai for Thai-IP visitors, English for others. WooCommerce supports both with the WPML or Polylang plugin (we generally use Polylang — lighter weight).
### 4. Cash on Delivery — only where you actually deliver
COD is a major channel in Thailand but only for areas where your courier supports it. Don't enable COD nationwide if your real delivery network is Bangkok-only. Use the WooCommerce shipping zone restriction to limit COD to specific zones.
### 5. TrueMoney Wallet
TrueMoney is popular with younger demographics (18-30) and unbanked customers (notable share of Pattaya tourism workers, gig economy). Integration via TrueMoney's merchant API or through Omise's TrueMoney passthrough.
Not every store needs this — if your customer demographic is 35+ Bangkok professional, PromptPay + credit card covers 95%. If your demographic skews younger or includes Pattaya tourism workers, add TrueMoney.
### 6. Shipping integration
Not a payment but the same conversion issue: Thai customers expect to see shipping cost calculated at checkout before paying, and they expect carrier choice (Kerry, Flash, J&T, Thailand Post).
Use a shipping plugin like WooCommerce Multi-Carrier Shipping or Flash Express's official integration. Customers who see the carrier they trust convert 15-20% better than customers who get a generic "Standard Shipping ฿80" rate.
Mobile checkout
Separate but related: 70%+ of Thai e-commerce traffic is mobile. The default WooCommerce checkout has 12+ fields and breaks at the QR-payment step on iOS Safari.
Fixes that matter for Thai mobile:
- One-page checkout (not multi-step)
- Auto-fill address from Thailand Post API
- Click-to-call phone field if the customer needs delivery support
- PromptPay QR displayed full-screen so it scans in one tap
- WhatsApp / LINE confirmation as an optional alternative to email
Realistic conversion impact
We've migrated 8-10 WooCommerce stores from the default "Stripe + credit card only" setup to the full Thai payment stack. Typical results:
- Checkout conversion: from 22-28% (industry default for Thai e-com) to 40-55% (top quartile for properly-localised Thai stores)
- Average order completion time: from 4-6 minutes to 90 seconds (PromptPay scan + auto-confirm)
- Customer support tickets about "how do I pay": dropped 70%+
- Refund / chargeback rate: roughly halved (PromptPay is bank-confirmed, not card-disputable)
What this costs
Omise charges 2.95% per credit card + 1.5% per PromptPay. For a ฿1,000 order on PromptPay you pay Omise ฿15. The conversion lift far exceeds the gateway fees.
Our engagement to set up this stack on an existing WooCommerce store is typically a one-time ฿35,000-50,000 depending on complexity (number of products, custom shipping zones, multilingual setup). Saves the merchant 30-50% in lost-conversion revenue from month one.