
內容簡介
PromptPay for WooCommerce 外掛為泰國商家提供一個簡單的 QR 碼支付解決方案,讓顧客能夠透過銀行應用程式掃描 QR 碼進行付款,無需支付處理商的介入,直接將資金轉入商家的帳戶。
【主要功能】
• 支援泰國 QR 碼支付,無需第三方支付處理商
• 生成的 QR 碼包含精確的訂單金額
• 訂單狀態需由商家手動確認
• 提供經過驗證的 PromptPay ID,避免錯誤
• 支援經典結帳及 Cart 和 Checkout Blocks
• QR 碼可在多個位置重複顯示,便於顧客查找
外掛標籤
開發者團隊
原文外掛簡介
Thai shoppers expect to pay by scanning a QR code in their banking app. This plugin adds that option to WooCommerce checkout without putting a payment processor between you and your money.
When a customer picks PromptPay, the plugin builds a spec-correct EMVCo and Bank of Thailand QR payload on your own server, encoding the exact order total. The customer scans it with any Thai banking app and pays. You watch the transfer land in your account and confirm the order by hand.
This is an offline gateway, in the same sense as WooCommerce’s built-in Direct Bank Transfer (BACS). It is the manual-reconciliation option, for stores that already watch their bank account and would rather do that than pay per transaction.
What you get
No processor, no fees, no account to open. The plugin talks to nobody. Money moves directly between your customer’s bank and yours, on your bank’s own PromptPay terms.
Nothing leaves your site. The QR payload and the QR image are both generated locally by bundled libraries. The plugin makes no external HTTP requests of any kind.
A QR the customer can always find again. It appears on the order-received page, attached to the on-hold email, and under My Account for as long as the order awaits payment. You can resend it from the order screen.
An ID you cannot get wrong. Your PromptPay ID is validated before it is saved, so you cannot ship a broken QR code and find out from a customer.
Confirmation only a merchant can give. The order moves to a paid status only when someone with the manage_woocommerce capability confirms it. There is no customer-facing control and no public endpoint that changes order status.
Both checkouts and both storage engines. Classic checkout and the Cart and Checkout Blocks are supported, and the gateway declares compatibility with High-Performance Order Storage (HPOS).
How it works
Enter your PromptPay ID once. A Thai mobile number, a 13-digit national or tax ID, or a 15-digit e-wallet ID. It is checked before it is saved.
At checkout the customer picks PromptPay and places the order. The order goes on hold.
The order-received page shows a QR code encoding the exact total, plus the payment details as text. The on-hold email repeats those details and carries the same QR code as an attached image. Customers with an account can re-open the QR from My Account, then Orders, for as long as the order awaits payment.
The customer pays in their banking app.
You see the transfer arrive, open the order, and click Mark PromptPay payment received. The same QR and details are shown on the order screen so you can check the amount. The order moves to processing, or completed for downloads, and the customer is emailed.
Who it is for
Stores selling in Thailand that take Thai baht and would rather reconcile by hand than hand a percentage to a processor. It suits low-volume and mid-volume stores, stores whose margins do not survive card fees, and merchants who already check their banking app several times a day.
It does not suit high-volume stores or anyone who needs orders to clear without a human looking at them.
What it is not
This plugin does not talk to any bank or payment processor and cannot confirm a payment on its own. Every order waits for you. If you need automatic confirmation, use a payment processor such as Stripe instead.
Only Thai baht (THB) is supported, because PromptPay settles in baht. The gateway does not appear at checkout for any other store currency.
Privacy
The plugin makes no external HTTP requests and sends nothing to any third party. The QR image is drawn by a bundled encoder that ships with its source.
The QR attached to awaiting-payment emails is stored as a small image file in the plugin’s own folder inside your uploads directory, under an unguessable name and behind guard files that refuse web access. Each file is deleted as soon as its order stops awaiting payment, stale files are swept automatically, and deleting the plugin removes the folder entirely.
Requirements
WooCommerce, with the store currency set to Thai baht (THB).
PHP 8.2 or later, with the iconv extension, which is compiled into PHP by default.
The gd extension is used to draw a PNG QR code. Without it the plugin falls back to SVG. If that also fails it shows your PromptPay ID and the amount as text so the customer can enter them by hand. It never fails silently and never leaves a blank space where a QR should be.
Bundled libraries
The QR image is drawn on your own server by these libraries, bundled with full source under a plugin-specific namespace so they cannot collide with another plugin’s copy:
endroid/qr-code (MIT)
bacon/bacon-qr-code (BSD-2-Clause)
dasprid/enum (BSD-2-Clause)
Disclaimer
This plugin is not affiliated with, endorsed by, or sponsored by the Bank of Thailand, National ITMX, any Thai bank, or WooCommerce. “PromptPay” is referenced solely to describe the payment scheme whose QR format this plugin generates.
