PromptPay QR block
PromptPay is Thailand’s national real-time payment standard, run by ITMX and supported by every major Thai bank. A customer opens their banking app, scans your PromptPay QR, types the amount, and the money lands in your account in seconds — no middleman, no fees for standard retail transfers.
Abitlink’s PromptPay block generates a scannable QR from your registered phone number, Thai ID, or tax ID. Visitors pay you directly; Abitlink never touches the money.
Prerequisites
Section titled “Prerequisites”- A Pro (or Early Bird) Abitlink account (PromptPay is a Pro block).
- A PromptPay-registered identifier:
- A Thai mobile phone number registered with your bank, or
- Your 13-digit Thai national ID / tax ID registered with your bank.
- If you’re not sure whether a number is registered, open your bank’s app and check the PromptPay section under Transfer → PromptPay.
1. Add the block
Section titled “1. Add the block”-
Open the Abitlink editor for your bio page.
-
Click + Add block and pick PromptPay from the block gallery.
-
Enter your PromptPay ID in the block settings:
- Phone number format: 10 digits, no spaces or hyphens —
0812345678
- Thai ID / tax ID format: 13 digits —
1234567890123
- Phone number format: 10 digits, no spaces or hyphens —
-
(Optional) Set a default amount in THB. Leave blank if you want customers to type the amount themselves.
-
(Optional) Add a caption telling customers what they’re paying for (“ค่าเสื้อ M”, “Deposit for commission”, etc.).
-
Click Save.
2. How the QR generates
Section titled “2. How the QR generates”Abitlink builds the QR on the fly using the EMVCo QR specification that all Thai banking apps follow. The payload includes:
- Your PromptPay ID (phone or tax ID), padded to the right length per the spec.
- The amount in THB, if you set one. If not, customers type it in their app.
- A CRC16 checksum so malformed QRs are rejected before money moves.
The QR is rendered client-side when the bio page loads — nothing leaves your device.
3. Testing before you go live
Section titled “3. Testing before you go live”-
Open your bio page on a desktop browser — the PromptPay block shows the QR.
-
Open your own banking app on your phone and scan the QR.
-
Confirm the app shows your name (pulled from the national PromptPay registry) and the correct amount. Do not complete the payment — just verify the screen.
-
Hit cancel in the banking app. The QR works.
4. Practical tips
Section titled “4. Practical tips”- Small amounts only (for now). Thai banks cap PromptPay transfers per day and per transaction — usually ฿50,000 per transfer, but check your bank. For big-ticket sales, fall back to a Shopee/Lazada listing.
- Pair it with a caption. “ค่าสินค้า — โอนแล้วส่ง DM” is clearer than a bare QR.
- Keep a record. Abitlink does not confirm payments or notify you — PromptPay is bank-to-bank. You’ll see the transfer in your banking app’s history, not in Abitlink.
- Refunds. Since Abitlink never holds the money, refunds go back through your bank. Make sure customers understand this before sending anything non-trivial.
Troubleshooting
Section titled “Troubleshooting”The QR won’t scan. Most scanners struggle with small or low-contrast QRs. The block renders at a readable size by default — don’t override the CSS unless you know what you’re doing. On a phone with a small screen, tap the block to open the QR in fullscreen.
The banking app shows the wrong name. That means the ID you entered is registered to someone else (common for recycled phone numbers). Re-register PromptPay with your bank against the correct ID, then update the block.
I want to charge in a foreign currency. Not supported — PromptPay is THB-only by design. For foreign customers, use a Shopee link or external payment processor.