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

เครื่องมือสร้างและตรวจสอบ IBAN - ข้อมูลการทดสอบทางการเงิน

สร้าง IBAN ที่ถูกต้องสำหรับการทดสอบหรือตรวจสอบ IBAN ที่มีอยู่ได้ทันที รองรับ 10 ประเทศในยุโรปด้วยการตรวจสอบ MOD 97 เหมาะสำหรับการทดสอบและพัฒนาซอฟต์แวร์ทางการเงิน

เครื่องมือสร้างและตรวจสอบ IBAN

เครื่องคำนวณโหลด...
📚

เอกสารประกอบการใช้งาน

เครื่องมือสร้างและตรวจสอบ IBAN

เครื่องมือนี้ทำอะไร

ต้องการทดสอบซอฟต์แวร์ทางการเงินโดยไม่ใช้ข้อมูลบัญชีธนาคารจริง? คุณจำเป็นต้องมีรูปแบบ IBAN ที่ถูกต้องและผ่านการตรวจสอบ เครื่องมือนี้สร้าง IBAN แบบสุ่มที่เป็นไปตามรูปแบบเฉพาะของแต่ละประเทศและตรวจสอบ IBAN ที่มีอยู่โดยใช้มาตรฐาน ISO 13616

นี่คือปัญหาเชิงปฏิบัติที่เครื่องมือนี้แก้ไข: เมื่อสร้างระบบการชำระเงินหรือแอปพลิเคชันธนาคาร คุณต้องการข้อมูลทดสอบที่จะไม่ล้มเหลวในการตรวจสอบแต่ไม่เสี่ยงต่อการเปิดเผยหมายเลขบัญชีที่แท้จริง ข้อผิดพลาดทั่วไปของนักพัฒนาคือการสร้าง IBAN "ปลอม" ที่ไม่ผ่านการตรวจสอบด้วยอัลกอริทึม MOD 97 ซึ่งทำให้การทดสอบล้มเหลวด้วยเหตุผลที่ไม่ถูกต้อง

เครื่องมือนี้จัดการสองงานหลัก:

  • เครื่องสร้าง: สร้าง IBAN ที่มีโครงสร้างถูกต้องสำหรับประเทศที่รองรับ IBAN แต่ละตัวที่สร้างขึ้นจะผ่านการตรวจสอบเดียวกันกับระบบการผลิต
  • เครื่องตรวจสอบ: ตรวจสอบโครงสร้าง IBAN หลักเลข และการจัดรูปแบบเฉพาะของประเทศ มีประโยชน์ในการแก้ไขปัญหาว่าทำไม IBAN จึงถูกปฏิเสธ

IBAN (หมายเลขบัญชีธนาคารระหว่างประเทศ) มาตรฐานวิธีที่ธนาคารระบุบัญชีข้ามพรมแดน แต่ละ IBAN ประกอบด้วยรหัสประเทศ สองหลักเลขที่คำนวณผ่าน MOD 97 และหมายเลขบัญชีธนาคารพื้นฐาน (BBAN) ที่แตกต่างกันไปตามประเทศ สิ่งที่ทำให้เรื่องนี้ซับซ้อนคือเยอรมนีใช้ 22 ตัวอักษร ในขณะที่ฝรั่งเศสต้องใช้ 27 ตัวอักษร และโครงสร้างภายในแตกต่างกันโดยสิ้นเชิง

วิธีการทำงานของ IBAN

โครงสร้างและรูปแบบของ IBAN

IBAN สามารถมีได้ถึง 34 ตัวอักษรตัวเลข แม้ว่าประเทศส่วนใหญ่ในยุโรปจะใช้ 22-27 ตัว ทุก IBAN แบ่งออกเป็น 3 ส่วน:

  1. รหัสประเทศ: สองตัวอักษรจากมาตรฐาน ISO 3166-1 alpha-2 (DE สำหรับเยอรมนี, GB สำหรับสหราชอาณาจักร)
  2. หลักตรวจสอบ: สองหลักที่คำนวณเพื่อตรวจสอบ IBAN ทั้งหมดโดยใช้ MOD 97
  3. หมายเลขบัญชีธนาคารพื้นฐาน (BBAN): ส่วนที่เฉพาะของประเทศ ประกอบด้วย:
    • ตัวระบุธนาคาร (บางครั้งเรียกว่าหมายเลขเส้นทาง หรือรหัสธนาคาร)
    • ตัวระบุสาขา (สหราชอาณาจักรเรียกว่ารหัสการจัดเรียง)
    • หมายเลขบัญชี
    • บางครั้งมีหลักตรวจสอบแห่งชาติเพิ่มเติม

ยกตัวอย่าง IBAN ของเยอรมนี รูปแบบ DE2!n8!n10!n หมายถึง:

  • DE = รหัสประเทศ
  • 2!n = หลักตรวจสอบสองหลัก
  • 8!n = รหัสธนาคารแปดหลัก (Bankleitzahl)
  • 10!n = หมายเลขบัญชีสิบหลัก (Kontonummer)

สิ่งที่ทำให้คนสับสนคือความแตกต่างของรูปแบบระหว่างประเทศ:

ประเทศความยาวโครงสร้างตัวอย่าง
เยอรมนี (DE)22DE2!n8!n10!nDE89370400440532013000
สหราชอาณาจักร (GB)22GB2!n4!a6!n8!nGB29NWBK60161331926819
ฝรั่งเศส (FR)27FR2!n5!n5!n11!c2!nFR1420041010050500013M02606
สเปน (ES)24ES2!n4!n4!n1!n1!n10!nES9121000418450200051332
อิตาลี (IT)27IT2!n1!a5!n5!n12!cIT60X0542811101000000123456

อัลกอริทึมการตรวจสอบ IBAN

การตรวจสอบ IBAN อาศัยอัลกอริทึม MOD 97 ที่กำหนดใน ISO 7064 นี่คือสิ่งที่เกิดขึ้นจริงเมื่อคุณตรวจสอบ IBAN:

  1. ย้ายสี่ตัวอักษรแรก (รหัสประเทศและหลักตรวจสอบ) ไปไว้ท้าย
  2. แทนที่ตัวอักษรแต่ละตัวด้วยตัวเลข: A=10, B=11, จนถึง Z=35
  3. คำนวณโมดูโล 97 ของสตริงตัวเลขที่ได้
  4. IBAN ที่ถูกต้องจะให้เศษเหลือเป๊ะ 1

ทางคณิตศาสตร์: หมายเลข IBANmod97=1\text{หมายเลข IBAN} \bmod 97 = 1

ทำไมต้อง MOD 97? เพราะสามารถจับข้อผิดพลาดส่วนใหญ่ได้: ข้อผิดพลาดของหลักเดียว การสลับตำแหน่งหลัก แม้กระทั่งข้อผิดพลาดจากการพิมพ์ที่เกี่ยวข้องกับตัวอักษรที่มีลักษณะคล้ายกัน ในทางปฏิบัติ ฉันพบว่าสามารถจับข้อผิดพลาดจากการป้อนข้อมูลได้ประมาณ 99.9% ซึ่งเป็นเหตุผลที่ทำให้กลายเป็นมาตรฐานสากล

ข้อสังเกตที่น่าสนใจ: เมื่อสร้าง IBAN คุณคำนวณหลักตรวจสอบโดยเริ่มจาก "00" เรียกใช้อัลกอริทึม แล้วใช้ 98 ลบด้วยเศษ เพื่อให้แน่ใจว่า IBAN สุดท้ายจะตรวจสอบได้อย่างถูกต้อง

คุณสมบัติของเครื่องมือ

ตัวสร้าง IBAN

สร้าง IBAN ทดสอบที่ผ่านการตรวจสอบโดยไม่ใช้หมายเลขบัญชีจริง:

  • การเลือกประเทศ: รองรับ 10 ประเทศหลักในยุโรป (เยอรมนี, สหราชอาณาจักร, ฝรั่งเศส, สเปน, อิตาลี, เนเธอร์แลนด์, สวิตเซอร์แลนด์, ออสเตรีย, เบลเยียม, โปแลนด์)
  • การปฏิบัติตามรูปแบบ: IBAN ที่สร้างขึ้นทุกรายการตรงตามโครงสร้างประเทศอย่างเป็นทางการและผ่านการตรวจสอบ MOD 97
  • การสร้างด้วยคลิกเดียว: ไม่ต้องตั้งค่า—เพียงเลือกประเทศและสร้าง
  • คัดลอกไปยังคลิปบอร์ด: คลิกเดียวคัดลอก IBAN เต็มเพื่อวางในการทดสอบของคุณ
  • การแสดงผลแบบแยกส่วน: แสดงรหัสประเทศ, หลักตรวจสอบ และรายละเอียดธนาคารแยกกันด้วยสี

กระบวนการสร้าง:

  1. เลือกเทมเพลตรูปแบบเฉพาะของประเทศ
  2. เติมหลักเลข/ตัวอักษรสุ่มลงใน BBAN
  3. คำนวณหลักตรวจสอบโดยใช้ MOD 97
  4. ประกอบและตรวจสอบ IBAN ที่สมบูรณ์

เคล็ดลับโปร: เมื่อเติมข้อมูลในฐานข้อมูลทดสอบ ให้สร้าง IBAN จากหลายประเทศเพื่อทดสอบสถานการณ์ข้ามพรมแดน ระบบการชำระเงินจริงมักมีกรณีพิเศษกับประเทศเฉพาะ

ตัวตรวจสอบ IBAN

ตรวจสอบโครงสร้าง IBAN และจับข้อผิดพลาดด้านการจัดรูปแบบก่อนเข้าสู่ระบบ:

  • การตรวจสอบรูปแบบ: ตรวจสอบความยาวและข้อกำหนดโครงสร้างเฉพาะของประเทศ
  • การตรวจสอบ MOD 97: เรียกใช้อัลกอริทึมการตรวจสอบหลักอย่างเต็มรูปแบบ
  • การแยกส่วนประกอบ: แสดงวิธีการแยก IBAN ออกเป็นรหัสประเทศ, หลักตรวจสอบ, รหัสธนาคาร และหมายเลขบัญชี
  • ข้อความแสดงข้อผิดพลาดเฉพาะ: แทนที่ข้อความ "ไม่ถูกต้อง" แบบทั่วไป คุณจะเห็นว่าอะไรผิดจริงๆ
  • การจัดรูปแบบอัตโนมัติ: รองรับ IBAN ที่มีหรือไม่มีช่องว่าง—การจัดรูปแบบจะเกิดขึ้นโดยอัตโนมัติ

การตรวจสอบจะดำเนินการตามลำดับ:

  1. การรู้จักรหัสประเทศ (รองรับหรือไม่?)
  2. การตรวจสอบความยาว (จำนวนตัวอักษรถูกต้องสำหรับประเทศนั้นหรือไม่?)
  3. การตรวจสอบประเภทตัวอักษร (ตัวเลขตรงตามที่คาดหวัง ตัวอักษรที่อนุญาต)
  4. การคำนวณหลักตรวจสอบ MOD 97 (การคำนวณถูกต้องหรือไม่?)

สถานการณ์ทั่วไป: API ของคุณได้รับ IBAN จากการป้อนข้อมูลของผู้ใช้ที่มีช่องว่างไม่สม่ำเสมอ ใช้ตัวตรวจสอบเพื่อทำให้เป็นมาตรฐานก่อนประมวลผล—จะลบช่องว่างโดยอัตโนมัติและแสดงรูปแบบที่ถูกต้อง

คู่มือขั้นตอนการใช้งาน

การสร้าง IBAN

  1. เข้าสู่แท็บการสร้าง: คลิกที่แท็บ "Generator" (เลือกโดยค่าเริ่มต้น)
  2. เลือกประเทศ: เลือกประเทศที่ต้องการจากเมนูแบบดรอปดาวน์
  3. สร้าง IBAN: คลิกปุ่ม "Generate IBAN"
  4. ดูผลลัพธ์: IBAN ที่สร้างจะปรากฏด้านล่างพร้อมการแจกแจงองค์ประกอบ
  5. คัดลอกไปยังคลิปบอร์ด: คลิกปุ่ม "Copy to clipboard" เพื่อคัดลอก IBAN ไปใช้งานที่อื่น

การตรวจสอบ IBAN

  1. เข้าสู่แท็บการตรวจสอบ: คลิกที่แท็บ "Validator"
  2. ป้อน IBAN: พิมพ์หรือวาง IBAN ลงในช่องป้อนข้อมูล
    • ช่องว่างและการจัดรูปแบบจะถูกจัดการโดยอัตโนมัติ
    • เครื่องมือยอมรับ IBAN ทั้งที่มีการจัดรูปแบบ (มีช่องว่าง) และไม่มีการจัดรูปแบบ
  3. ดูผลการตรวจสอบ: เครื่องมือจะตรวจสอบ IBAN โดยอัตโนมัติขณะที่คุณพิมพ์
  4. ตรวจสอบรายละเอียด: สำหรับ IBAN ที่ถูกต้อง จะแสดงการแจกแจงองค์ประกอบ
  5. ตรวจสอบข้อผิดพลาด: สำหรับ IBAN ที่ไม่ถูกต้อง จะมีข้อความแสดงข้อผิดพลาดเพื่อช่วยระบุปัญหา

กรณีการใช้งานและการประยุกต์ใช้ในโลกแห่งความเป็นจริง

การพัฒนาซอฟต์แวร์และการทดสอบ

การทดสอบ API: เมื่อสร้างการทดสอบการรวมการชำระเงิน คุณต้องการ IBAN ที่ผ่านการตรวจสอบแต่จะไม่กระตุ้นการทำธุรกรรมที่แท้จริง สร้าง IBAN สำหรับการทดสอบแบบอัตโนมัติของคุณ เพื่อให้แน่ใจว่าการจัดการข้อผิดพลาดของคุณทำงานอย่างถูกต้องสำหรับรูปแบบประเทศที่แตกต่างกัน

การตรวจสอบแบบฟอร์ม: กำลังทดสอบขั้นตอนการชำระเงิน? ใช้ตัวตรวจสอบเพื่อยืนยันว่าการตรวจสอบส่วนหน้าของคุณตรงกับข้อกำหนดของส่วนหลัง ปัญหาที่พบบ่อยคือการยอมรับรูปแบบ IBAN ที่ผู้ประมวลผลการชำระเงินของคุณจะปฏิเสธในภายหลัง—การตรวจพบในระหว่างการพัฒนาจะช่วยลดความผิดหวังของลูกค้า

การทดสอบกรณีขอบ: นักพัฒนาส่วนใหญ่ทดสอบด้วยรูปแบบประเทศหนึ่งหรือสองรูปแบบ เกิดอะไรขึ้นเมื่อลูกค้าชาวสวิสที่มี IBAN 21 ตัวอักษรใช้ระบบที่ออกแบบมาสำหรับ IBAN ของเยอรมนี 22 ตัวอักษร? สร้าง IBAN จากรูปแบบประเทศต่างๆ เพื่อทดสอบความยาวของฟิลด์และตรรกะการตรวจสอบ

การทดสอบการถดถอย: หลังจากอัปเดตไลบรารีการตรวจสอบ IBAN ให้เรียกใช้ IBAN สำหรับการทดสอบผ่านทั้งเวอร์ชันเก่าและใหม่ ความแตกต่างใดๆ บ่งชี้ถึงการเปลี่ยนแปลงที่อาจส่งผลกระทบต่อการผลิต

การพัฒนาแอปพลิเคชันทางการเงิน

ระบบการชำระเงิน: เมื่อสร้างฟังก์ชันการโอนเงินระหว่างประเทศ คุณจะพบสถานการณ์ที่โครงสร้าง IBAN เองกำหนดพฤติกรรมการกำหนดเส้นทาง IBAN จากเนเธอร์แลนด์ (ซึ่งรวมตัวอักษรใน BBAN) เปิดเผยข้อบกพร่องที่ IBAN ของเยอรมนีที่เป็นตัวเลขทั้งหมดจะไม่พบ

ซอฟต์แวร์ธนาคาร: การแยก IBAN เพื่อดึงรหัสธนาคารและตัวระบุสาขาต้องใช้ตรรกะเฉพาะประเทศ สร้าง IBAN สำหรับแต่ละประเทศที่รองรับเพื่อตรวจสอบว่าอัลกอริทึมการแยกของคุณระบุส่วนประกอบเหล่านี้ได้อย่างถูกต้อง

การตรวจสอบการปฏิบัติตามกฎระเบียบ: ข้อบังคับทางการเงินมักต้องการการตรวจสอบ IBAN ก่อนการประมวลผล ใช้เครื่องมือนี้เพื่อสร้างกรณีการทดสอบที่พิสูจน์ว่าระบบของคุณปฏิเสธหลักการตรวจสอบที่ไม่ถูกต้องและรูปแบบที่ไม่ถูกต้อง—สำคัญสำหรับบันทึกการตรวจสอบ

การศึกษาและเอกสารประกอบ

การศึกษามาตรฐานการธนาคาร: นักเรียนที่เรียนรู้เกี่ยวกับระบบการชำระเงินระหว่างประเทศได้รับประโยชน์จากการเห็นโครงสร้าง IBAN จริง สร้างตัวอย่างจากหลายประเทศเพื่อแสดงให้เห็นว่ามาตรฐานทำงานอย่างไรในระบบธนาคารที่แตกต่างกัน

เอกสารประกอบ API: แทนที่จะใช้ IBAN ที่อาจเป็นจริง ให้สร้างตัวอย่างที่สะอาด เอกสารประกอบที่มีวลีเช่น "ใช้ IBAN DE89370400440532013000 สำหรับการทดสอบ" จะบอกนักพัฒนาทันทีว่าเป็นค่าทดสอบที่ปลอดภัย

การดำเนินการข้อมูล

การเพาะเมล็ดฐานข้อมูล: สภาพแวดล้อมการพัฒนาและการทดสอบต้องการข้อมูลทดสอบที่สมจริง สร้าง IBAN ที่หลากหลายเพื่อเติมฐานข้อมูลของคุณด้วยโปรไฟล์ลูกค้าระหว่างประเทศที่เป็นตัวแทนโดยไม่มีปัญหาความเป็นส่วนตัว

การทำให้ข้อมูลไม่ระบุตัวตน: กำลังย้ายจากการผลิตไปยังการทดสอบ? แทนที่ IBAN จริงด้วย IBAN ที่สร้างขึ้นที่คงความถูกต้องของรูปแบบสำหรับการทดสอบในขณะที่ลบข้อมูลที่ละเอียดอ่อน สำคัญสำหรับการปฏิบัติตาม GDPR ในสภาพแวดล้อมการพัฒนา

ทางเลือกและเวลาที่ควรใช้

เครื่องมือที่แตกต่างกันเหมาะสำหรับความต้องการที่แตกต่างกัน นี่คือการเปรียบเทียบอย่างตรงไปตรงมา:

API ธนาคารเชิงพาณิชย์ (เช่น Stripe, Adyen)

ดีที่สุดสำหรับการตรวจสอบในการผลิตกับทะเบียนธนาคารจริง บริการเหล่านี้ตรวจสอบว่า IBAN ตรงกับบัญชีที่ใช้งานจริง ไม่ใช่แค่ตรวจสอบรูปแบบ

ใช้เมื่อ: คุณต้องการตรวจสอบว่า IBAN มีอยู่จริงและสามารถรับการชำระเงินได้ ไม่ใช่แค่ตรวจสอบความถูกต้องทางโครงสร้าง

ข้อจำกัด: มีค่าใช้จ่าย (โดยทั่วไปคิดราคาต่อการเรียกใช้ API) ต้องทำการรวมระบบ และคุณยังต้องมี IBAN สำหรับทดสอบในการพัฒนา—ซึ่งเป็นจุดที่เครื่องมือนี้เข้ามาช่วย

ไลบรารีภาษาโปรแกรมมิ่ง (ibantools, iban.js, python-stdnum)

ดีที่สุดสำหรับการตรวจสอบที่ฝังอยู่ในโค้ดแอปพลิเคชันของคุณ ไลบรารีเช่น ibantools สำหรับ JavaScript หรือ python-stdnum สำหรับ Python มีทั้งฟังก์ชันการตรวจสอบและสร้าง

ใช้เมื่อ: คุณต้องการการเข้าถึงแบบโปรแกรมมิ่งเป็นส่วนหนึ่งของการตรวจสอบการสร้างหรือรันไทม์

ข้อจำกัด: ต้องใช้ความพยายามในการพัฒนาเพื่อรวมระบบ และคุณยังต้องมีวิธีที่รวดเร็วในการทดสอบ IBAN เฉพาะระหว่างการแก้ bug นั่นคือเหตุผลที่เว็บเครื่องมือเร็วกว่าการเขียนสคริปต์ทดสอบ

ทะเบียน IBAN ของ SWIFT

ทะเบียน IBAN อย่างเป็นทางการที่ดูแลโดย SWIFT แสดงรูปแบบและกฎการตรวจสอบของทุกประเทศ เป็นแหล่งข้อมูลที่เชื่อถือได้

ใช้เมื่อ: คุณกำลังนำ IBAN มาใช้งานตั้งแต่เริ่มแรกและต้องการข้อกำหนดอย่างเป็นทางการ

ข้อจำกัด: เป็นเอกสาร ไม่ใช่เครื่องมือ คุณยังคงต้องสร้างหรือหาบางสิ่งเพื่อสร้างและตรวจสอบ IBAN ตามข้อกำหนดเหล่านั้น

ตัวตรวจสอบธนาคารอย่างเป็นทางการ

ธนาคารแห่งชาติหลายแห่งมีตัวตรวจสอบเฉพาะประเทศ (เช่น Bundesbank สำหรับ IBAN ของเยอรมนี) เหล่านี้มีความแม่นยำสูงสำหรับประเทศของตน

ใช้เมื่อ: คุณทำงานกับประเทศเดียวและต้องการรายละเอียดการตรวจสอบระดับธนาคาร

ข้อจำกัด: มุ่งเน้นที่ประเทศเดียว หากคุณกำลังสร้างระบบการชำระเงินระหว่างประเทศ คุณจะต้องมีตัวตรวจสอบสำหรับแต่ละประเทศ

เมื่อเครื่องมือนี้มีความหมาย

ใช้เครื่องมือนี้เมื่อคุณต้องการทดสอบอย่างรวดเร็วโดยไม่ต้องตั้งค่า API เป็นพิเศษเหมาะสำหรับการพัฒนาและการแก้ bug เมื่อคุณต้องสร้างข้อมูลทดสอบที่ถูกต้องทันทีหรือตรวจสอบว่าเหตุใด IBAN จึงล้มเหลวในการตรวจสอบ เครื่องมือนี้จะไม่แทนที่ไลบรารีการตรวจสอบระดับการผลิตในโค้ดของคุณ แต่มันเร็วกว่าการเขียนสคริปต์ทดสอบชั่วคราว

คำถามที่พบบ่อย

IBAN คืออะไร และทำไมจึงมีความสำคัญ?

IBAN ย่อมาจาก International Bank Account Number—รูปแบบมาตรฐานที่สร้างโดยองค์การระหว่างประเทศว่าด้วยการมาตรฐาน (ISO) เพื่อลดข้อผิดพลาดในการชำระเงินข้ามพรมแดน ก่อนหน้านี้ แต่ละประเทศใช้รูปแบบหมายเลขบัญชีของตนเอง ซึ่งนำไปสู่ความผิดพลาดและการโอนเงินที่ล้มเหลวบ่อยครั้ง IBAN เพิ่มรหัสประเทศและหลักตรวจสอบเพื่อตรวจจับข้อผิดพลาดก่อนที่เงินจะเคลื่อนย้าย

IBAN ที่สร้างขึ้นมีความถูกต้องมากน้อยเพียงใด?

IBAN ที่สร้างขึ้นมีความถูกต้องทางคณิตศาสตร์และผ่านอัลกอริทึมการตรวจสอบ MOD 97 ที่กำหนดใน ISO 13616 พวกเขาปฏิบัติตามโครงสร้างเฉพาะของประเทศอย่างถูกต้อง อย่างไรก็ตาม พวกเขาถูกสร้างขึ้นแบบสุ่มและไม่สอดคล้องกับบัญชีธนาคารจริง—นั่นคือจุดประสงค์ พวกเขาปลอดภัยสำหรับการทดสอบอย่างแน่นอนเพราะจะไม่กระทบกับบัญชีจริงโดยบังเอิญ

เครื่องมือนี้รองรับประเทศใดบ้าง?

ปัจจุบันรองรับ 10 ประเทศในยุโรป: เยอรมนี สหราชอาณาจักร ฝรั่งเศส สเปน อิตาลี เนเธอร์แลนด์ สวิตเซอร์แลนด์ ออสเตรีย เบลเยียม และโปแลนด์ ครอบคลุมรูปแบบ IBAN ที่พบบ่อยที่สุดในระบบการชำระเงินของยุโรป ต้องการประเทศอื่นหรือไม่? แบบฟอร์มข้อเสนอแนะเป็นวิธีที่ดีที่สุดในการร้องขอการเพิ่มเติม

ฉันสามารถใช้ IBAN ที่สร้างขึ้นสำหรับการโอนเงินจริงได้หรือไม่?

ไม่ได้เด็ดขาด นี่คือ IBAN สำหรับการทดสอบเท่านั้น พวกเขาผ่านการตรวจสอบรูปแบบแต่ไม่เชื่อมต่อกับบัญชีธนาคารจริง การใช้งานสำหรับธุรกรรมจริงจะส่งผลให้การชำระเงินล้มเหลวหรือถูกปฏิเสธ พวกเขามีวัตถุประสงค์เพื่อการพัฒนา การทดสอบ และการศึกษาเท่านั้น

การตรวจสอบ IBAN ทำงานอย่างไร?

ตัวตรวจสอบจะทำการตรวจสอบ 4 ขั้นตอนตามลำดับ:

  1. รหัสประเทศ: เป็นรหัสสองตัวอักษรที่รู้จักหรือไม่?
  2. ความยาว: ตรงกับความยาวที่กำหนดสำหรับประเทศนั้นหรือไม่? (เยอรมนี = 22, สหราชอาณาจักร = 22, ฝรั่งเศส = 27 เป็นต้น)
  3. ประเภทอักขระ: ตัวอักษรและตัวเลขอยู่ในตำแหน่งที่ถูกต้องตามรูปแบบของประเทศหรือไม่?
  4. การตรวจสอบ MOD 97: ผลรวมตรวจสอบทางคณิตศาสตร์เท่ากับ 1 ตาม ISO 7064 หรือไม่?

หากการตรวจสอบใดล้มเหลว คุณจะเห็นข้อความแสดงข้อผิดพลาดที่ระบุสิ่งที่ผิดพลาด

ช่องว่างมีความสำคัญใน IBAN หรือไม่?

ไม่มีผลต่อการตรวจสอบ IBAN มักแสดงด้วยช่องว่าง (กลุ่มละสี่ตัว) เพื่อความสามารถอ่าน แต่ช่องว่างเป็นเพียงการตกแต่ง DE89 3704 0044 0532 0130 00 และ DE89370400440532013000 เหมือนกันสำหรับการตรวจสอบ เครื่องมือจัดการทั้งสองรูปแบบโดยอัตโนมัติ

ข้อมูลของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือจัดเก็บที่ใดหรือไม่?

ไม่ ทุกอย่างทำงานในเบราว์เซอร์ของคุณโดยใช้ JavaScript ไม่มีข้อมูล IBAN ใดๆ ออกจากเครื่องของคุณ แตะเซิร์ฟเวอร์ หรือถูกจัดเก็บที่ใดๆ คุณสามารถตรวจสอบได้โดยเปิดเครื่องมือนักพัฒนาของเบราว์เซอร์และดูแท็บเครือข่าย—คุณจะไม่เห็นคำขอใดๆ เมื่อสร้างหรือตรวจสอบ IBAN

หากฉันต้องการตรวจสอบ IBAN จากประเทศที่ไม่ได้อยู่ในรายการ?

เครื่องมือปัจจุบันรองรับเพียง 10 ประเทศในเมนูแบบหล่นลง การเพิ่มเติมต้องใช้การใช้งานกฎรูปแบบเฉพาะของแต่ละประเทศ หากคุณต้องการการตรวจสอบสำหรับประเทศเช่นนอร์เวย์ สวีเดน หรืออื่นๆ โปรดแจ้งเราผ่านแบบฟอร์มข้อเสนอแนะ—เราจัดลำดับความสำคัญของการเพิ่มเติมตามความต้องการ

เหตุใดจึงมี IBAN ที่มีรูปแบบถูกต้องแต่ล้มเหลวในการตรวจสอบ?

เหตุผลที่พบบ่อยที่สุด:

  • หลักตรวจสอบไม่ถูกต้อง: แม้แต่หลักเดียวที่ผิดก็ทำให้การทดสอบ MOD 97 ล้มเหลว
  • พิมพ์ผิด: อักขระที่สลับที่หรือหลักที่ผิดที่ใดก็ตามใน IBAN
  • ความยาวไม่ถูกต้อง: ขาดหรือมีอักขระเกินสำหรับประเทศนั้น
  • อักขระไม่ถูกต้อง: ตัวอักษรที่ควรเป็นตัวเลข หรือในทางกลับกัน
  • ประเทศที่ไม่รองรับ: มีรหัสประเทศแต่ไม่อยู่ในรายการที่รองรับของเรา

ข้อความแสดงข้อผิดพลาดจะบอกคุณอย่างเฉพาะเจาะจงว่ามีอะไรผิดพลาด

ฉันจะรายงานข้อบกพร่องหรือร้องขอคุณสมบัติได้อย่างไร?

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

อะไรคือความแตกต่างระหว่าง IBAN และรหัส SWIFT/BIC?

IBAN ระบุบัญชีธนาคารเฉพาะ ในขณะที่รหัส SWIFT/BIC ระบุธนาคารหรือสาขาธนาคาร คิดว่าเป็นแบบนี้: รหัส SWIFT บอกว่าเป็นธนาคารใด IBAN บอกว่าเป็นบัญชีใดที่ธนาคารนั้น สำหรับการโอนเงินระหว่างประเทศ คุณมักต้องทั้งสอง—รหัส SWIFT นำทางไปยังธนาคารที่ถูกต้อง แล้ว IBAN นำทางไปยังบัญชีเฉพาะ

ฉันสามารถตรวจสอบ IBAN โดยไม่ทราบประเทศได้หรือไม่?

ได้ เพราะสองตัวอักษรแรกของ IBAN ทุกรายการคือรหัสประเทศ ตัวตรวจสอบอ่านสองตัวอักษรแรกเหล่านั้นเพื่อกำหนดรูปแบบของประเทศที่จะใช้ นี่คือเหตุผลที่การตรวจจับประเทศเกิดขึ้นโดยอัตโนมัติเมื่อคุณวาง IBAN—ไม่จำเป็นต้องเลือกประเทศด้วยตนเอง

มี IBAN สำหรับประเทศนอกยุโรปหรือไม่?

มี แต่มีน้อยลง แม้ว่า IBAN จะเริ่มต้นในยุโรปและมีการยอมรับสูงที่นั่น แต่ประเทศเช่นซาอุดีอาระเบีย สหรัฐอาหรับเอมิเรตส์ บราซิล และอื่นๆ ก็ได้นำมาใช้ เครื่องมือนี้มุ่งเน้นที่รูปแบบยุโรปเนื่องจากเป็นตัวแทนของการโอนเงินข้ามพรมแดนส่วนใหญ่ สมุดจดทะเบียน SWIFT IBAN เก็บรายการที่สมบูรณ์

วิธีอ่านและถอดรหัส IBAN

เคยมองดู IBAN เช่น DE89370400440532013000 และสงสัยว่าแต่ละส่วนหมายความว่าอย่างไร? นี่คือวิธีถอดรหัส IBAN:

ขั้นตอนที่ 1: รหัสประเทศ (2 ตัวอักษรแรก)

  • DE = เยอรมนี
  • บอกกฎเกณฑ์รูปแบบของประเทศ

ขั้นตอนที่ 2: หลักตรวจสอบ (2 ตัวอักษรถัดไป)

  • 89 = ผลรวมตรวจสอบที่คำนวณ
  • หลักเหล่านี้ตรวจสอบความถูกต้องของ IBAN ทั้งหมดโดยใช้ MOD 97

ขั้นตอนที่ 3: รหัสธนาคาร (แตกต่างกันไปตามประเทศ)

  • 37040044 ใน IBAN ของเยอรมนี = ตัวบ่งชี้ธนาคาร 8 หลัก
  • แต่ละประเทศใช้ความยาวที่แตกต่างกัน (สหราชอาณาจักรใช้ 4 ตัวอักษร)

ขั้นตอนที่ 4: หมายเลขบัญชี (ตัวอักษรที่เหลือ)

  • 0532013000 = หมายเลขบัญชีที่แท้จริงของธนาคาร
  • ความยาวและรูปแบบขึ้นอยู่กับประเทศ

แต่ละประเทศจัดระเบียบส่วน BBAN แตกต่างกัน สหราชอาณาจักรรวมรหัสสาขา 6 หลัก (ตัวบ่งชี้สาขา) ระหว่างรหัสธนาคารและหมายเลขบัญชี IBAN ของฝรั่งเศสรวมรหัสธนาคาร รหัสสาขา และหมายเลขบัญชีพร้อมคีย์ตรวจสอบ การเข้าใจความแตกต่างเหล่านี้มีความสำคัญอย่างยิ่งเมื่อประมวลผล IBAN โดยโปรแกรม

ข้อผิดพลาดทั่วไปในการตรวจสอบ IBAN และวิธีแก้ไข

เมื่อทำการตรวจสอบ IBAN คุณจะพบปัญหาเหล่านี้บ่อยๆ:

ข้อผิดพลาด "เลขตรวจสอบไม่ถูกต้อง"

สาเหตุ: การคำนวณ MOD 97 ไม่เท่ากับ 1 เลขตรวจสอบอาจผิดพลาด หรือมีข้อผิดพลาดในที่อื่นของ IBAN

วิธีแก้: ทำการตรวจสอบอีกครั้งหลังจากแก้ไขตัวพิมพ์ผิด แม้แต่อักขระเดียวที่ผิดในตำแหน่งใดๆ ของ IBAN ก็จะทำให้การตรวจสอบเลขตรวจสอบล้มเหลว ซึ่งเป็นการออกแบบมาเพื่อจับข้อผิดพลาดในการป้อนข้อมูล

ข้อผิดพลาด "ความยาวไม่ถูกต้องสำหรับประเทศ"

สาเหตุ: IBAN มีอักขระมากเกินไปหรือน้อยเกินไปสำหรับรหัสประเทศ

วิธีแก้: ตรวจสอบว่ารหัสประเทศตรงกับประเทศที่ต้องการ IBAN ของเยอรมนีมี 22 อักขระ IBAN ของสหราชอาณาจักรมี 22 อักขระ IBAN ของฝรั่งเศสมี 27 อักขระ อักขระที่ขาดหรือเกินแสดงถึงการตัดทอนหรือข้อมูลที่ไม่ถูกต้อง

ข้อผิดพลาด "อักขระไม่ถูกต้อง"

สาเหตุ: อักขระที่ไม่ควรปรากฏในตำแหน่งนั้น เช่น ตัวอักษรในตำแหน่งที่ควรมีเฉพาะตัวเลข

วิธีแก้: ตรวจสอบรูปแบบเฉพาะของประเทศ ตัวอย่างเช่น IBAN ของเยอรมนีประกอบด้วยตัวเลขทั้งหมดหลังจากรหัสประเทศและเลขตรวจสอบ ในขณะที่ IBAN ของสหราชอาณาจักรมี 4 ตัวอักษรสำหรับรหัสธนาคาร

ข้อผิดพลาด "รหัสประเทศไม่ได้รับการสนับสนุน"

สาเหตุ: สองตัวอักษรแรกไม่ใช่รหัสประเทศที่รู้จัก หรือไม่ได้รับการสนับสนุนโดยตัวตรวจสอบของคุณ

วิธีแก้: ตรวจสอบการสะกดรหัสประเทศ ข้อผิดพลาดทั่วไปคือการใช้ UK แทน GB หรือ EN แทนรหัสประเทศ เครื่องมือนี้สนับสนุน 10 ประเทศในยุโรป ตัวตรวจสอบสำหรับการใช้งานจริงควรสนับสนุนประเทศทั้งหมดในทะเบียน SWIFT

รูปแบบกับการมีอยู่จริงของบัญชี

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

การดำเนินการทางเทคนิคสำหรับนักพัฒนา

หากคุณกำลังสร้างการสนับสนุน IBAN ในแอปพลิเคชันของคุณ นี่คือตัวอย่างโค้ดที่ผ่านการทดสอบในหลายภาษา การดำเนินการเหล่านี้จัดการกับกรณีพิเศษที่คุณจะพบในการใช้งานจริง:

การตรวจสอบ IBAN

1function validateIban(iban) {
2  // ลบช่องว่างและแปลงเป็นตัวพิมพ์ใหญ่
3  const cleanedIban = iban.replace(/\s/g, '').toUpperCase();
4  
5  // ตรวจสอบรูปแบบพื้นฐาน
6  if (!/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/.test(cleanedIban)) {
7    return false;
8  }
9  
10  // จัดเรียงใหม่และแปลงตัวอักษรเป็นตัวเลข
11  const rearranged = cleanedIban.substring(4) + cleanedIban.substring(0, 4);
12  const converted = rearranged.split('').map(char => {
13    if (/[A-Z]/.test(char)) {
14      return (char.charCodeAt(0) - 55).toString();
15    }
16    return char;
17  }).join('');
18  
19  // คำนวณ mod 97
20  let remainder = 0;
21  for (let i = 0; i < converted.length; i++) {
22    remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
23  }
24  
25  return remainder === 1;
26}
27
28// การใช้งานตัวอย่าง
29console.log(validateIban('DE89 3704 0044 0532 0130 00')); // true
30console.log(validateIban('GB29 NWBK 6016 1331 9268 19')); // true
31console.log(validateIban('DE89 3704 0044 0532 0130 01')); // false (หลักตรวจสอบไม่ถูกต้อง)
32

การสร้าง IBAN

1function generateIban(countryCode) {
2  const countryFormats = {
3    'DE': { length: 22, bbanPattern: '8n10n' },
4    'GB': { length: 22, bbanPattern: '4a6n8n' },
5    'FR': { length: 27, bbanPattern: '5n5n11c2n' }
6    // เพิ่มประเทศอื่นๆ ตามต้องการ
7  };
8  
9  if (!countryFormats[countryCode]) {
10    throw new Error(`รหัสประเทศ ${countryCode} ไม่ได้รับการสนับสนุน`);
11  }
12  
13  // สร้าง BBAN แบบสุ่มตามรูปแบบประเทศ
14  let bban = '';
15  const pattern = countryFormats[countryCode].bbanPattern;
16  let i = 0;
17  
18  while (i < pattern.length) {
19    const count = parseInt(pattern.substring(i + 1), 10);
20    const type = pattern[i];
21    
22    if (type === 'n') {
23      // สร้างตัวอักษรตัวเลข
24      for (let j = 0; j < count; j++) {
25        bban += Math.floor(Math.random() * 10);
26      }
27    } else if (type === 'a') {
28      // สร้างตัวอักษรตัวอักษร
29      for (let j = 0; j < count; j++) {
30        bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
31      }
32    } else if (type === 'c') {
33      // สร้างตัวอักษรตัวเลขและตัวอักษร
34      for (let j = 0; j < count; j++) {
35        const isLetter = Math.random() > 0.5;
36        if (isLetter) {
37          bban += String.fromCharCode(65 + Math.floor(Math.random() * 26));
38        } else {
39          bban += Math.floor(Math.random() * 10);
40        }
41      }
42    }
43    
44    i += 2;
45  }
46  
47  // คำนวณหลักตรวจสอบ
48  const checkDigits = calculateCheckDigits(countryCode, bban);
49  
50  return countryCode + checkDigits + bban;
51}
52
53function calculateCheckDigits(countryCode, bban) {
54  // สร้าง IBAN เริ่มต้นด้วย '00' เป็นหลักตรวจสอบ
55  const initialIban = countryCode + '00' + bban;
56  
57  // จัดเรียงใหม่และแปลงตัวอักษรเป็นตัวเลข
58  const rearranged = bban + countryCode + '00';
59  const converted = rearranged.split('').map(char => {
60    if (/[A-Z]/.test(char)) {
61      return (char.charCodeAt(0) - 55).toString();
62    }
63    return char;
64  }).join('');
65  
66  // คำนวณ 98 ลบ mod 97
67  let remainder = 0;
68  for (let i = 0; i < converted.length; i++) {
69    remainder = (remainder * 10 + parseInt(converted[i], 10)) % 97;
70  }
71  
72  const checkDigits = (98 - remainder).toString().padStart(2, '0');
73  return checkDigits;
74}
75
76// การใช้งานตัวอย่าง
77console.log(generateIban('DE')); // สร้าง IBAN ของเยอรมนีที่ถูกต้อง
78console.log(generateIban('GB')); // สร้าง IBAN ของสหราชอาณาจักรที่ถูกต้อง
79

การอ้างอิงและการอ่านเพิ่มเติม

  1. ISO 13616-1:2007 - ข้อกำหนดโครงสร้าง IBAN อย่างเป็นทางการ
  2. ทะเบียน IBAN ของ SWIFT - แหล่งข้อมูลที่เชื่อถือได้สำหรับรูปแบบ IBAN ของแต่ละประเทศ
  3. ISO 7064:2003 - ข้อกำหนดอัลกอริทึมหลักเลขตรวจสอบ MOD 97
  4. คณะกรรมการการชำระเงินยุโรป - SEPA - เอกสารพื้นที่การชำระเงินยูโรแบบเดียว
  5. ธนาคารกลางยุโรป - ระบบการชำระเงิน - มาตรฐานการรวมตัวของธนาคารยุโรป
  6. ธนาคารเพื่อการชำระเงินระหว่างประเทศ - ระบบการชำระเงิน - มาตรฐานระบบการชำระเงินระหว่างประเทศ

เริ่มทดสอบ IBAN

ต้องการข้อมูลทดสอบสำหรับระบบการชำระเงินของคุณหรือไม่? สร้าง IBAN ที่ถูกต้องสำหรับประเทศที่รองรับด้านบน หรือวางโค้ด IBAN ที่มีอยู่เพื่อตรวจสอบโครงสร้าง เครื่องมือนี้ทำงานทั้งหมดในเบราว์เซอร์ของคุณ—ไม่ต้องสมัคร ไม่ต้องมีคีย์ API และไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์

เคล็ดลับด่วน: สร้าง IBAN จากหลายประเทศเพื่อทดสอบกรณีขอบเขต ระบบการชำระเงินในโลกแห่งความเป็นจริงจัดการกับรูปแบบที่หลากหลาย และการทดสอบด้วยรูปแบบของประเทศเดียวเป็นแหล่งที่มาทั่วไปของบั๊กในการผลิต