ออกใบแจ้งหนี้ + รับเงินผ่านพร้อมเพย์ QR สำหรับ ISP

·

ลูกค้าเน็ตหมู่บ้านส่วนใหญ่จ่ายผ่าน โมบายแบงก์กิ้ง อยู่แล้ว ถ้าทุกใบแจ้งหนี้มี พร้อมเพย์ QR ให้สแกนจ่ายได้เลย เงินจะเข้าเร็วขึ้นและคุณตามน้อยลง บทความนี้อธิบายชนิดของ QR ที่ ISP ควรใช้ จุดสำคัญที่ทำให้ "รู้ว่าใครจ่าย" และวิธีต่อยอดไปจับคู่บิลอัตโนมัติ

เหมาะกับ: ISP/เน็ตหมู่บ้านที่เก็บเงินรายเดือน • อยากเลิกบอกเลขบัญชีทีละคน/ตามสลิปเอง • ต่อยอดวงจร ระงับ-คืนสัญญาณค้างจ่าย ของ ระบบเก็บเงินเน็ตหมู่บ้าน

QR พร้อมเพย์ มี 2 แบบ — ISP ควรใช้แบบไหน

Static QR Dynamic QR
รูปแบบ QR เดียวใช้ซ้ำ (ติดหน้าร้าน) สร้างใหม่ต่อบิล
ยอดเงิน ลูกค้าพิมพ์เอง ฝังยอดมาในตัว
รู้ว่าใครจ่าย ❌ ไม่รู้ (ยอดชนกันมั่ว) ✔ ระบุอ้างอิงได้
เหมาะกับ ร้านเล็ก/รับทั่วไป ออกบิลรายเดือน

สำหรับ ISP ที่มีลูกค้าหลายราย อย่าใช้ static QR เดี่ยว ๆ เพราะพอหลายคนโอนยอดใกล้กัน จะแยกไม่ออกว่าใครจ่าย — ให้ใช้ dynamic QR ต่อบิล (ฝังยอด + อ้างอิง) จะกระทบงานตามเงินน้อยที่สุด

ข้างใน QR มีอะไร (พอเข้าใจ ไม่ต้องท่อง)

Thai QR Payment เป็นมาตรฐานกลาง (ธปท./EMVCo) ข้างในเป็นชุด tag สำคัญ ๆ คือ:

Tag ความหมาย
00 เวอร์ชัน payload
01 static (11) หรือ dynamic (12)
29 PromptPay — เบอร์มือถือ / เลขบัตร ปชช. / e-wallet
30 Bill Payment — Biller ID + Ref1/Ref2 (ใช้จับคู่บิล)
54 จำนวนเงิน
53 สกุลเงิน (764 = บาท)
63 CRC (เช็กความถูกต้อง)

มี 2 ทางให้เลือกตามที่อยากได้:

  • Tag 29 (PromptPay ปกติ) — ฝัง "เบอร์/เลขบัตร + ยอด" ง่ายสุด เริ่มได้เลย แต่ต้องยืนยันคนจ่ายด้วย สลิป อีกที
  • Tag 30 (Bill Payment) — ฝัง Ref1 = เลขบิล/รหัสลูกค้า → เงินเข้ามาพร้อมอ้างอิง จับคู่บิลอัตโนมัติ ได้เลย (ต้องเปิดบริการ Biller กับธนาคารแบบนิติบุคคล)

เริ่มเร็วสุด — สร้าง dynamic QR ฝังยอด (Tag 29)

ไม่ต้องคำนวณ CRC เอง ใช้ไลบรารีช่วย เช่น (Python):

pip install promptpay
from promptpay import qrcode

# เบอร์พร้อมเพย์ของร้าน + ยอดของบิลนั้น
payload = qrcode.generate_payload("0812345678", amount=590.00)
qrcode.to_file(payload, "invoice-1023.png")   # เอาไปแปะในใบแจ้งหนี้/ส่งใน LINE

แค่นี้ลูกค้าสแกนแล้วยอด 590 บาทจะขึ้นมาเอง ไม่ต้องพิมพ์ (ลดจ่ายผิดยอด) เหลือแค่ "ยืนยันว่าใครจ่าย" ในขั้นถัดไป

JavaScript ก็มี (npm i promptpay-qr) แนวคิดเดียวกัน — ฝัง payload ลงรูป QR

จุดสำคัญ: "รู้ว่าใครจ่ายแล้ว" (reconcile)

ออก QR เป็นแค่ครึ่งทาง อีกครึ่งคือ จับคู่เงินเข้ากับบิล มี 3 ระดับ:

  1. ลูกค้าส่งสลิป (ง่ายสุด) — ลูกค้าจ่ายแล้วส่งสลิปใน LINE → คุณยืนยัน วิธีทำให้อัตโนมัติอ่านต่อบท ตรวจสลิปโอนเงินอัตโนมัติ (บทถัดไป)
  2. ดู statement/ยอดเข้า — จับคู่ด้วย ยอด+เวลา (เสี่ยงชนกันถ้ายอดเท่ากัน)
  3. Bill Payment (Ref1) — เงินเข้าพร้อมเลขบิล → ระบบ mark "จ่ายแล้ว" ให้เอง แม่นสุด (ต้องมี Biller account)

พอ mark ว่าจ่ายแล้ว ก็ต่อเข้าวงจร คืนสัญญาณอัตโนมัติ ได้ทันที — ลูกค้าจ่าย → เน็ตกลับมาเอง

[ออกบิล + QR ฝังยอด/Ref1] -> [ลูกค้าสแกนจ่าย] -> [ยืนยัน: สลิป/statement/Ref1] -> [mark จ่ายแล้ว] -> [คืนสัญญาณ]

พลาดบ่อย / ข้อควรระวัง

ปัญหา วิธีเลี่ยง
ใช้ QR เดียวทุกคน → แยกไม่ออกว่าใครจ่าย ใช้ dynamic QR ต่อบิล (ฝังยอด) อย่างน้อย
ยอดเท่ากันหลายคน จับคู่มั่ว ทำให้ยอดต่างกันเล็กน้อย (เศษสตางค์) หรือใช้ Ref1 ไปเลย
ลูกค้าพิมพ์ยอดผิด (static) ฝังยอดใน QR ลูกค้าไม่ต้องพิมพ์
ชื่อบัญชีปลายทางไม่ตรงชื่อร้าน ลูกค้าไม่กล้าโอน แจ้งล่วงหน้าว่าโอนเข้าชื่อไหน + โชว์ในใบแจ้งหนี้
รับสลิปปลอม ตรวจสลิปกับธนาคาร (บทตรวจสลิป) ไม่ดูแค่รูป

สรุป

หัวใจของการรับเงิน ISP ผ่านพร้อมเพย์คือ dynamic QR ฝังยอดต่อบิล เพื่อลดจ่ายผิด + มีวิธีจับคู่ว่าใครจ่าย (สลิป/statement/Ref1) แล้วต่อเข้าการคืนสัญญาณอัตโนมัติ — ทั้งหมดนี้คือสิ่งที่เปลี่ยน "ไล่เก็บเงินรายเดือน" ให้เป็นระบบที่เดินเอง

💡 อยากให้ทุกบิลมี QR ฝังยอด + รู้อัตโนมัติว่าใครจ่าย? thaiISP ออกใบแจ้งหนี้พร้อมพร้อมเพย์ QR ต่อราย ส่งให้ทาง LINE ตรวจสลิป/จับคู่บิลให้อัตโนมัติ แล้วคืนสัญญาณเองทันทีที่จ่าย — จบในระบบเดียว — ดูระบบ →

← กลับหน้าคลังความรู้