เมนู

บัตรทดสอบ Visa และ Mastercard เลือกช่วงหมายเลขอย่างไร

บัตรทดสอบ Visa และ Mastercard ใช้คำนำหน้าต่างช่วงกัน บทความนี้อธิบายตารางช่วงหมายเลขของแต่ละเครือข่าย วิธีเลือกให้ตรงกับที่ต้องทดสอบ และจุดที่ทีมมักเข้าใจผิด

เผยแพร่เมื่อ

  • ข้อมูลทดสอบ
  • การชำระเงิน

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

เครือข่ายบัตรแต่ละรายมีช่วงคำนำหน้าเป็นของตัวเอง

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

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

คำนำหน้าบางช่วงยาวกว่าสี่หลัก มาตรฐานที่เกี่ยวข้องเปิดทางให้ใช้คำนำหน้าแบบยาวขึ้นได้ และความยาวของคำนำหน้าไม่เท่ากันในทุกผลิตภัณฑ์ จึงควรเทียบแบบช่วงตัวเลข ไม่ใช่เทียบแบบคำขึ้นต้นคงที่เพียงค่าเดียว

ตารางเทียบช่วงคำนำหน้าและความยาว

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

เครือข่ายบัตร ช่วงคำนำหน้าที่พบได้บ่อย ความยาวที่พบบ่อย ตำแหน่งรหัสยืนยัน
Visa ขึ้นต้นด้วย 4 13 หรือ 16 หลัก ด้านหลังบัตร 3 หลัก
Mastercard 51 ถึง 55 และ 2221 ถึง 2720 16 หลัก ด้านหลังบัตร 3 หลัก
American Express 34 หรือ 37 15 หลัก ด้านหน้าบัตร 4 หลัก
Discover 6011, 65, 644 ถึง 649 และ 622126 ถึง 622925 16 หลัก ด้านหลังบัตร 3 หลัก
JCB 3528 ถึง 3589 16 หลัก ด้านหลังบัตร 3 หลัก
Diners Club 300 ถึง 305, 36 และ 38 ถึง 39 14 หลัก ด้านหลังบัตร 3 หลัก
UnionPay ขึ้นต้นด้วย 62 ตั้งแต่ 16 ถึง 19 หลัก ด้านหลังบัตร 3 หลัก
Maestro 50 และ 56 ถึง 69 หลากหลายกว่ากลุ่มอื่น ด้านหลังบัตร 3 หลัก

ข้อมูลในตารางเป็นการสรุปภาพกว้างเพื่อใช้เตรียมชุดทดสอบ เครือข่ายบัตรอาจเพิ่มช่วงใหม่หรือใช้ความยาวอื่นในผลิตภัณฑ์บางประเภท จึงควรยึดกติกาที่ระบบของคุณรองรับเป็นหลัก

เลือกหมายเลขทดสอบตามเครือข่ายอย่างไรจึงจะครบ?

คำตอบคือเลือกให้ครอบคลุมทุกเครือข่ายที่ระบบคุณรองรับ ไม่ใช่เลือกเฉพาะเครือข่ายที่นิยมที่สุด สองเหตุผลที่ทำให้เรื่องนี้สำคัญมีดังนี้

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

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

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

ทำไมหมายเลขที่ผ่านการตรวจจึงถูกมองว่าเป็นเครือข่ายอื่น?

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

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

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

บัตรบางตระกูลมีสิบห้าหลักและรหัสยืนยันสี่หลัก

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

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

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

สำหรับนักพัฒนา: เตรียมเมทริกซ์การทดสอบให้ครบ

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

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

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

สร้างหมายเลขทดสอบแยกตามเครือข่ายในเครื่องมือ

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

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

ก้าวต่อไป

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

อ่านต่อ

บทความเกี่ยวกับ เครื่องมือสร้างหมายเลขบัตรเครดิตปลอม

บทความเกี่ยวกับ เครื่องมือสร้างหมายเลขบัตรเครดิตปลอม

รายการนี้แสดงเฉพาะบทความในหัวข้อของหน้านี้