كيف تُولَّد أرقام IBAN وبطاقات اختبارية؟
يتبع IBAN بنية خاصة بكل دولة من سجل SWIFT (السعودية: 24 محرفاً ورقما تحقق يُحسبان بباقي القسمة على 97)، ويجتاز رقم البطاقة رقم تحقق Luhn ويبدأ بنطاق مُصدر حقيقي. تُولَّد القيم الاختبارية لتستوفي تلك القواعد بالضبط — فتقبلها المدقّقات — مع أرقام حساب وبطاقة عشوائية غير منسوخة من أي حساب أو بطاقة فعلية.
number من المثال
الجزء 1:371449الجزء 2:98821723الجزء 3:8
- 1البادئةأول 6 أرقام من بطاقة اختبار منشورة ومعروفة:
3714 49….من بطاقة اختبار - 2أرقام عشوائية8 أرقام، لذا لا تستطيع الأداة ضمان أن الرقم لم يُصدَر قط.عشوائي
- 3رقم التحققيُختار وفق فحص Luhn ليصبح الرقم صالحاً وفق Luhn.محسوب
وتعيد الأداة رقم Amex أيضاً مجمّعاً 4-6-5 في الحقل formatted: 3714 499882 17238.
كيفية استخدام مولّد بطاقات ائتمان للاختبار
- اختر علامة أو «مختلط».
- فعّل البطاقات المنتهية الصلاحية أو غير الصالحة إذا كانت اختباراتك تحتاج إلى حالات فاشلة.
- حدّد العدد والصيغة واضغط «توليد» (Generate).
- استخدم الأرقام لاختبارات نماذج الدفع والتحقق فقط؛ أما مدفوعات بيئة الاختبار (sandbox) فاستخدم فيها بطاقات الاختبار التي توثّقها بوابتك.
مزايا مولّد بطاقات ائتمان للاختبار
- Visa وMastercard وAmerican Express وDiscover وJCB وDiners Club وUnionPay وبادئة بنمط مدى
- بادئات من بطاقات اختبار منشورة ومعروفة (4111 11… و5555 55… و3714 49… و6011 11…) تليها أرقام عشوائية — لاختبارات النماذج والتحقق لا للمدفوعات الحقيقية
- أرقام صالحة وفق Luhn بأطوال وأحجام CVV خاصة بكل علامة
- تواريخ انتهاء مستقبلية، أو بطاقات منتهية الصلاحية للاختبارات السلبية
- صفوف اختيارية غير صالحة وفق Luhn، معلَّمة في عمود خاص
- أسماء حاملي البطاقات بالإنجليزية أو العربية أو الهندية مع سطر لاسم الحامل بأحرف لاتينية كبيرة
- متغيرات منسّقة ومقنّعة لاختبارات العرض
مثال على مولّد بطاقات ائتمان للاختبار
بطاقة Amex اختبارية
الإدخال:
Brand: American Express · Cards: 1النتيجة:
{
"brand": "American Express",
"number": "371449988217238",
"formatted": "3714 499882 17238",
"masked": "**** **** ***7 238",
"expiry": "01/28",
"cvv": "3200",
"holder": "LUCY FISHER",
"luhnValid": true
}الأسئلة الشائعة حول مولّد بطاقات ائتمان للاختبار
هل يمكن الخصم من هذه البطاقات؟
ليست مخصصة لذلك. البادئات مأخوذة من أرقام بطاقات اختبار منشورة ومعروفة (4111 11… و5555 55… و3714 49… و6011 11… و3530 11…)، لكن بقية الأرقام عشوائية، فلا يكون الرقم بطاقة اختبار بعينها لدى بوابة ما، ولا يُضمن أنه لم يُصدَر قط. استخدمها لاختبارات النماذج والتحقق، واستخدم بطاقات الاختبار التي توثّقها بوابتك لمدفوعات بيئة الاختبار، ولا ترسلها أبداً إلى بوابة دفع حقيقية.
هل تجتاز الأرقام فحص Luhn؟
نعم، كل رقم مولَّد صالح وفق Luhn ما لم تفعّل «أرقام غير صالحة وفق Luhn» (Luhn-invalid numbers) للاختبارات السلبية، وعندها يفشل كل صف رابع ويُعلَّم.
ما خيار نمط مدى؟
رقم من 16 خانة يبدأ بـ 400000 أو 440000، مصمَّم على شكل بطاقة مدى السعودية لاختبارات نماذج الدفع المحلية. البادئة غير مأخوذة من قائمة BIN منشورة لمدى، والرقم تولّده الأداة عشوائياً ولا يُؤخذ من بطاقة أصدرها بنك.
ما العلامات والأطوال المشمولة؟
Visa (16)، وMastercard (16)، وAmerican Express (15، مع CVV من 4 أرقام)، وDiscover (16)، وJCB (16)، وDiners Club (14)، وUnionPay (16)، ونمط مدى (16)، لكل منها تاريخ انتهاء وCVV.
ملاحظات تقنية
يُحسب رقم تحقق Luhn بمضاعفة كل رقم ثانٍ بدءاً من اليمين، وطرح 9 من النواتج التي تتجاوز 9، ثم اختيار الرقم الذي يجعل المجموع قابلاً للقسمة على 10. والبادئة وحدها مأخوذة من أرقام بطاقات اختبار منشورة وبقية الأرقام عشوائية، لذا لا تستطيع الأداة ضمان أن الرقم لم يُصدَر قط: أبقِ هذه الأرقام بعيداً عن بوابات الدفع الحقيقية، واستخدم بطاقات الاختبار التي يوثّقها مزوّد الدفع لديك لمدفوعات بيئة الاختبار.
371449988217238 من المثال، رقماً رقماً
الرقم
371449988217238
بعد المضاعفة
14 8 18 16 4 14 6
ما يُضاف إلى المجموع (بعد طرح 9 مما يتجاوز 9)
35184997841526
المجموع، ثم رقم التحقق
Σ = 72 8
ومع رقم التحقق يصبح المجموع 72 + 8 = 80، وهو قابل للقسمة على 10، فيجتاز الرقم كله فحص Luhn.
المراجع
- IBAN Registryالسجل الرسمي لصيغ IBAN الوطنية (الطول والبنية وقواعد أرقام التحقق لكل دولة)، المُدار وفق ISO 13616.
- Personal Data Protection Law (English translation)النظام السعودي لحماية البيانات الشخصية — ولماذا ينبغي أن تستخدم بيئات الاختبار بيانات اصطناعية بدلاً من نسخ سجلات العملاء الحقيقية.