ข้ามไปยังเนื้อหา

ทดลองใช้งาน

ครอบคลุมทุก wire format และทุกตัวเลือก — playground เต็มรูปแบบของ public API ทั้งหมด ทำงานในเบราว์เซอร์ของคุณ

หน้า demo ด้านล่าง import thai-qr-payment มาจาก bundle ของเว็บนี้โดยตรง และ render SVG ใหม่ทุกครั้งที่กดแป้นพิมพ์ กรอกเบอร์ PromptPay ลงในฟอร์ม กำหนดยอดเงิน แล้ว สแกนด้วยแอปธนาคารของคุณ

Merchant info
Additional data
VAT TQRC (Thai e-tax receipt)
Tip policy
Acme Coffee฿ 50.00
↓ SVG
EMVCo wire payload (98 chars)00020101021229370016A000000677010111011300668123456785303764540550.005802TH5911Acme Coffee63048A44
Parsed
{
  "payloadFormat": "01",
  "pointOfInitiation": "dynamic",
  "merchant": {
    "kind": "promptpay",
    "recipientType": "mobile",
    "recipient": "0812345678"
  },
  "amount": 50,
  "currency": "764",
  "country": "TH",
  "merchantName": "Acme Coffee",
  "crc": {
    "value": "8A44",
    "valid": true,
    "truncated": false
  },
  "rawTags": [
    {
      "tag": "00",
      "value": "01"
    },
    {
      "tag": "01",
      "value": "12"
    },
    {
      "tag": "29",
      "value": "0016A00000067701011101130066812345678"
    },
    {
      "tag": "53",
      "value": "764"
    },
    {
      "tag": "54",
      "value": "50.00"
    },
    {
      "tag": "58",
      "value": "TH"
    },
    {
      "tag": "59",
      "value": "Acme Coffee"
    },
    {
      "tag": "63",
      "value": "8A44"
    }
  ]
}
  1. payloadFor() สร้าง wire string ตามมาตรฐาน EMVCo MPM จาก input ที่ระบุ
  2. parsePayload() ทำ round-trip กลับเพื่อตรวจสอบ CRC และถอด merchant template
  3. encodeQR() ดำเนินการ Reed-Solomon ECC ตาม ISO/IEC 18004 และเลือก mask
  4. renderThaiQRPayment() ประกอบ SVG สุดท้าย (โหมด card) ส่วน renderThaiQRPaymentMatrix() ส่งออกเฉพาะ QR matrix

ทุกขั้นตอนทำงานฝั่ง client โดยไม่มีการเรียก network และไม่มี server — ใช้ code path เดียวกับแอปใน production

  • เบอร์ตัวอย่าง 0812345678 ไม่ใช่บัญชี PromptPay จริง — แอปธนาคารจะสแกนได้ถูกต้อง แต่จะปฏิเสธผู้รับในขั้นตอน “ยืนยัน”
  • โหมด card มีการฝัง mark ของ Thai QR Payment + PromptPay ไว้ แอปใน production ต้องปฏิบัติตาม official brand guidelines เมื่อใช้โลโก้เหล่านี้