ข้ามไปเนื้อหาหลัก

เจาะลึกคิวอาร์โค้ดชำระเงินมาตรฐานยุโรป แท้จริงแล้วเป็นเพียงข้อความ 12 บรรทัด

ผู้พัฒนาเว็บไซต์ ibanchecker.cash เผยเบื้องหลังการสร้างและถอดรหัส QR โค้ดชำระเงินตามมาตรฐาน EPC069-12 ซึ่งเรียบง่ายกว่าที่คิดโดยใช้เพียงข้อความธรรมดา

เรียบเรียงโดย AI
Inewgen
12 Aug 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
เจาะลึกคิวอาร์โค้ดชำระเงินมาตรฐานยุโรป แท้จริงแล้วเป็นเพียงข้อความ 12 บรรทัด

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • มาตรฐาน EPC069-12 ใช้ข้อความธรรมดา 12 บรรทัดโดยไม่มี JSON หรือไบนารี
  • ขนาดข้อมูลทั้งหมดต้องไม่เกิน 331 ไบต์ และรองรับสกุลเงินยูโรเท่านั้น
  • เครื่องมือถอดรหัสทำงานบนเบราว์เซอร์ทั้งหมดผ่าน jsQR โดยไม่มีการอัปโหลดภาพ

หากคุณเคยชำระเงินด้วยใบแจ้งหนี้ในทวีปยุโรปช่วงนี้ คงคุ้นเคยกับการเปิดแอปพลิเคชันธนาคารส่องไปที่สี่เหลี่ยมเล็กๆ เพื่อดึงข้อมูลผู้รับเงิน เลข IBAN และยอดเงินอัตโนมัติ Koray Köylü ผู้พัฒนาเว็บไซต์ ibanchecker.cash ได้ใช้เวลาหลายสัปดาห์ในการพัฒนาทั้งฝั่งสร้างและฝั่งอ่านโค้ดเหล่านี้ จนพบว่ารูปแบบมาตรฐานมีความเรียบง่ายกว่าที่หลายคนคาดคิด

มาตรฐานดังกล่าวคือ EPC069-12 ซึ่งเผยแพร่โดยสภาการชำระเงินแห่งยุโรป (European Payments Council) หรือที่ธนาคารในเยอรมนีเรียกว่า GiroCode ข้อมูลภายในไม่ใช่ไฟล์ไบนารีหรือ JSON แต่เป็นข้อความธรรมดาที่แบ่งเป็น 12 องค์ประกอบคั่นด้วยขึ้นบรรทัดใหม่ ดังตัวอย่างข้อความ:

  • 1. Service tag: BCD
  • 2. Version: 002 (ทำให้ BIC เป็นทางเลือก)
  • 3. Character set: 1 หมายถึง UTF-8
  • 4. Identification: SCT (SEPA Credit Transfer)
  • 5. BIC: COBADEFF
  • 6. Beneficiary name: ชื่อผู้รับเงิน
  • 7. IBAN: เลขบัญชีธนาคาร
  • 8. Amount: สกุลเงินติดกับตัวเลข
  • 9. Purpose: เว้นว่าง
  • 10. Structured reference: เว้นว่าง
  • 11. Unstructured reference: ข้อความอิสระ
  • 12. Beneficiary to originator: อาจไม่มีก็ได้

ข้อจำกัดที่ควรทราบก่อนนำไปใช้งานคือ เพย์โหลดทั้งหมดต้องมีขนาดไม่เกิน 331 ไบต์ ชื่อจำกัดไว้ที่ 70 ตัวอักษร และข้อมูลอ้างอิงไม่เกิน 140 ตัวอักษร รองรับเฉพาะสกุลเงินยูโรตั้งแต่ 0.01 ถึง 999,999,999.99 ยูโรเท่านั้น การแก้ไขข้อผิดพลาดต้องอยู่ที่ระดับ M และไม่มีลายเซ็นดิจิทัลยืนยันผู้สร้าง ซึ่งเป็นจุดที่ควรระวังเมื่อพบสติกเกอร์ QR ตามมิเตอร์จอดรถ

Germany technology computer screen code editor

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

331ไบต์ (ขนาดสูงสุดของเพย์โหลด)
12บรรทัดองค์ประกอบข้อมูล
70ตัวอักษรจำกัดชื่อผู้รับ

ในบรรทัดที่ 6 ซึ่งเป็นชื่อผู้รับเงินหรือเจ้าของบัญชี เกิดข้อผิดพลาดขึ้นในเวอร์ชันแรกของเครื่องมือที่ใส่ชื่อธนาคารแทน ทำให้แอปธนาคารแสดงผลชื่อ Commerzbank แทนที่จะเป็นชื่อบุคคลจริง Köylü ย้ำเตือนว่าบรรทัดนี้ต้องเป็นผู้รับเงินเท่านั้น ห้ามใส่ชื่อธนาคารเด็ดขาด แม้ตัวแปรชื่อธนาคารจะหาได้ง่ายจากการแปลงเลข IBAN ก็ตาม

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

"A payment QR code is just twelve lines of text"

Koray Köylü

มาตรฐาน SEPA Credit Transfer (SCT) ถือเป็นกลไกสำคัญในการทำธุรกรรมข้ามพรมแดนภายในสหภาพยุโรป การที่มาตรฐานคิวอาร์โค้ดถูกออกแบบให้อยู่ในรูปข้อความเพลนเท็กซ์ธรรมดา 12 บรรทัด ช่วยให้นักพัฒนาสามารถสร้างเครื่องมือถอดและประกอบรหัสได้ง่ายโดยไม่ต้องพึ่งพาไลบรารีซับซ้อน ทว่าในมุมมองด้านความปลอดภัย การไม่มีลายเซ็นดิจิทัลกำกับก็เปิดช่องให้เกิดความเสี่ยงในการแปะคิวอาร์โค้ดปลอมตามสถานที่สาธารณะได้เช่นกัน

สำหรับเครื่องมือสร้างโค้ดรุ่นใหม่จะอัปเดตภาพแบบเรียลไทม์ขณะพิมพ์ พร้อมแสดงเคาน์เตอร์ไบต์ขยับเข้าใกล้ขีดจำกัด 331 ไบต์ การส่งออกไฟล์รองรับทั้ง SVG, PNG ความละเอียดสูง และเวกเตอร์ PDF โดยสร้างไฟล์ PDF ขึ้นเองจากการเดินเส้นทาง SVG แบบไร้การพึ่งพาไลบรารีภายนอก ส่วนการถอดรหัสสามารถอัปโหลดภาพและตรวจสอบองค์ประกอบทั้ง 12 ส่วนได้ทันทีในเบราว์เซอร์ผ่านไลบรารี jsQR โดยภาพจะไม่ถูกอัปโหลดขึ้นเซิร์ฟเวอร์แต่อย่างใด

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้