ما الذي يفحصه المدقق؟
يمكن التحقق من ثلاثة أمور في رقم البطاقة دون الرجوع إلى أي بنك. يفحص المدقق الأمور الثلاثة ويعرض نتيجة كل منها:
- نطاق الجهة المُصدِرة (IIN). تحدد الأرقام الأولى الشبكة: 4 لفيزا، و51–55 أو 2221–2720 لماستركارد، و34 أو 37 لأمريكان إكسبريس، و6011/644–649/65 لديسكفر، و3528–3589 لـ JCB، وهكذا.
- الطول. لكل علامة أطوال محددة: 15 رقمًا لأمريكان إكسبريس، و14 لمعظم بطاقات داينرز كلوب، و16 لأغلب البطاقات الأخرى، وحتى 19 رقمًا لبعض بطاقات فيزا وديسكفر وJCB ويونيون باي ومايسترو.
- مجموع لون للتحقق. الرقم الأخير رقم تحقق. تكشف معادلة لون أي خطأ في رقم واحد ومعظم حالات تبديل رقمين متجاورين.
إذا نجحت الفحوص الثلاثة فالرقم سليم الصيغة. وهذا كل ما يستطيع أي موقع معرفته بنفسه: أما وجود الحساب واستمراره وتوفّر الرصيد فيه فلا يعرفه إلا البنك المُصدِر، ويتحقق منه عند تفويض عملية دفع.
خوارزمية لون خطوة بخطوة
إليك الحساب لرقم الاختبار 4111 1111 1111 1111. يُضاعَف رقم من كل رقمين بدءًا من اليمين؛ وإذا تجاوز الضعف 9 يُطرح منه 9. ثم تُجمع القيم كلها:
| الرقم | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| مضاعَف؟ | 8 | – | 2 | – | 2 | – | 2 | – | 2 | – | 2 | – | 2 | – | 2 | – |
| القيمة المضافة | 8 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 |
المجموع 30. ولأن 30 يقبل القسمة على 10 فالرقم صالح. إذا غيّرت رقمًا واحدًا فقط تغيّر المجموع ولم يعد من مضاعفات 10: جرّب ذلك في المدقق أعلاه لترى رقم التحقق الذي يحتاجه الرقم بعد التعديل.
بنية رقم البطاقة
| الجزء | الأرقام | المعنى |
|---|---|---|
| معرّف القطاع الرئيسي (MII) | الأول | القطاع: 3 السفر والترفيه، 4–5 المصارف والتمويل، 6 التجارة والمصارف |
| رقم تعريف الجهة المُصدِرة (IIN / BIN) | أول 6–8 أرقام | الشبكة والبنك المُصدِر ونوع البطاقة (ائتمان، خصم مباشر، مسبقة الدفع) والبلد |
| معرّف الحساب | الأرقام الوسطى | يختاره المُصدِر لكل بطاقة على حدة |
| رقم التحقق | الأخير | يُحسب بخوارزمية لون من جميع الأرقام الأخرى |
نصائح عملية للتحقق من أرقام البطاقات في نموذج الدفع لديك
إذا كنت تبني نموذج دفع خاصًا بك، فهذه الممارسات تجعل التحقق أدق وأوضح للمستخدم وأكثر أمانًا لفريقك:
- نظّف المدخلات أولًا: احذف المسافات والشرطات قبل أي فحص، فالرقم
4111-1111-1111-1111هو نفسه4111111111111111. - افحص الطول والبادئة (IIN) قبل خوارزمية لون: وأظهر رسالة خطأ محددة لكل حالة، مثل «الرقم قصير جدًا» أو «نوع البطاقة غير مدعوم»، بدلًا من رسالة عامة.
- تحقّق أثناء الكتابة دون حظر نطاقات BIN غير المعروفة: فالشبكات تضيف نطاقات جديدة باستمرار، كما فعلت ماستركارد بالسلسلة
2221–2720. - تذكّر أن خوارزمية لون فحص للصيغة فقط: القرار النهائي بقبول البطاقة أو رفضها تتخذه بوابة الدفع والبنك المُصدِر.
- لا تسجّل أرقام البطاقات الكاملة ولا تخزّنها في بيئات التطوير والتجهيز: التزامًا بمعيار PCI DSS، واستخدم أرقام الاختبار بدلًا منها.
متى تستخدم مدقق البطاقات؟
- لمعرفة سبب رفض نموذج الدفع لرقم كتبه أحد العملاء.
- لمراجعة بيانات الاختبار قبل استيرادها إلى النظام.
- لمقارنة شيفرة التحقق الخاصة بك بتطبيق مرجعي.
- لفهم طريقة بناء أرقام البطاقات وشرحها للطلاب.
إذا كنت تحتاج إلى أرقام لاختباراتك، فإن مولد بطاقات الائتمان ينشئ دفعات تصل إلى 1000 بطاقة اختبار مع تاريخ انتهاء ورمز CVV، جاهزة للتصدير بصيغة CSV أو JSON أو XML. وتذكّر أنها تظل بيانات وهمية حتى لو اجتازت هذا الفحص: لن تقبلها أي بوابة دفع في الوضع الحقيقي.
الأسئلة الشائعة
هل تعني النتيجة الصالحة أن البطاقة حقيقية؟
لا. يفحص المدقق الصيغة فقط. أما وجود الحساب ونشاطه وتوفّر الرصيد فيه فلا يؤكده إلا البنك المُصدِر عند تفويض عملية دفع.
هل من الآمن لصق رقم بطاقة حقيقي هنا؟
يجري الفحص بلغة JavaScript على جهازك، ولا يصل الرقم إلى خادمنا أبدًا. ومع ذلك، من الأفضل كعادة عامة ألا تلصق أرقام بطاقات حقيقية في أي موقع دون حاجة.
ما الأخطاء التي تكشفها خوارزمية لون؟
تكشف أي خطأ في رقم واحد، ومعظم حالات تبديل رقمين متجاورين. لذلك تعتمد عليها النماذج لتنبيه المستخدم فورًا قبل إرسال الدفع.
لماذا يظهر رقمي غير صالح؟
غالبًا بسبب خطأ في الكتابة: يكفي رقم واحد خاطئ ليفشل مجموع لون. ويعرض المدقق رقم التحقق الذي يحتاجه الرقم، فترى موضع الاختلاف مباشرة.