Skip to main content
CheckTown
वैलिडेटर

क्रेडिट कार्ड वैलिडेटर: Luhn एल्गोरिदम अमान्य नंबरों का पता कैसे लगाता है

प्रकाशित 6 मिनट का पठन
इस लेख में

क्रेडिट कार्ड सत्यापन क्या है?

क्रेडिट कार्ड सत्यापन वह प्रक्रिया है जिसमें किसी लेन-देन का प्रयास करने से पहले यह जाँचा जाता है कि कोई कार्ड नंबर संरचनात्मक रूप से मान्य है या नहीं। इसमें नंबर का फ़ॉर्मेट जाँचना, Luhn चेकसम एल्गोरिदम लागू करना और पहले अंकों के आधार पर कार्ड नेटवर्क (Visa, Mastercard, Amex आदि) की पहचान करना शामिल है।

सत्यापन और प्राधिकरण एक ही चीज़ नहीं हैं। मान्य कार्ड नंबर का मतलब है कि फ़ॉर्मेट और चेकसम सही हैं — यह इस बात की पुष्टि नहीं करता कि कार्ड मौजूद है, उसमें पैसे हैं या वह उसका उपयोग करने वाले व्यक्ति का है। असली प्राधिकरण के लिए भुगतान नेटवर्क के ज़रिए कार्ड जारीकर्ता से संपर्क करना पड़ता है।

Luhn एल्गोरिदम कैसे काम करता है

Luhn एल्गोरिदम (जिसे mod-10 एल्गोरिदम भी कहते हैं) एक सरल चेकसम सूत्र है, जिसे 1954 में Hans Peter Luhn ने बनाया था। यह कार्ड नंबरों में हुई अनजाने में की गई गलतियाँ पकड़ता है — अंकों का उलट-पुलट, किसी एक अंक की गलती और अधिकांश आम टाइपिंग गलतियाँ। यह चरण-दर-चरण इस प्रकार काम करता है।

  • सबसे दाहिने अंक (चेक अंक) से शुरू करते हुए, बाईं ओर बढ़ते हुए हर दूसरे अंक को दोगुना करें
  • अगर दोगुना करने पर 9 से बड़ी संख्या बनती है, तो परिणाम में से 9 घटा दें (जैसे 8 x 2 = 16, फिर 16 - 9 = 7)
  • सभी अंकों को जोड़ें — दोगुने/समायोजित किए गए अंक और अपरिवर्तित अंक, दोनों
  • अगर कुल योग 10 से पूरी तरह विभाज्य है (mod 10 का मान 0 है), तो नंबर Luhn के अनुसार मान्य है

उदाहरण के लिए, नंबर 4532015112830366: एल्गोरिदम लागू करने के बाद अंकों का योग 40 आता है, जो 10 से विभाज्य है, इसलिए यह Luhn जाँच पास कर लेता है। यह एल्गोरिदम एक अंक की लगभग 95% गलतियाँ और पड़ोसी अंकों के आपस में बदल जाने की सभी गलतियाँ पकड़ लेता है।

निःशुल्क आज़माएँ — कोई साइनअप आवश्यक नहीं

एक क्रेडिट कार्ड नंबर सत्यापित करें →

BIN द्वारा कार्ड प्रकार की पहचान

बैंक आइडेंटिफ़िकेशन नंबर (BIN) — कार्ड नंबर के पहले 6 से 8 अंक — कार्ड नेटवर्क और जारीकर्ता बैंक की पहचान करता है। हर नेटवर्क के अलग-अलग उपसर्ग और लंबाई की शर्तें होती हैं।

  • Visa — 4 से शुरू होता है, आमतौर पर 16 अंक (कुछ पुराने कार्डों में 13)
  • Mastercard — 51-55 या 2221-2720 से शुरू होता है, हमेशा 16 अंक
  • American Express — 34 या 37 से शुरू होता है, हमेशा 15 अंक
  • Discover — 6011, 65 या 644-649 से शुरू होता है, हमेशा 16 अंक

आम उपयोग के मामले

क्लाइंट-साइड क्रेडिट कार्ड सत्यापन वेब एप्लिकेशन और व्यावसायिक प्रक्रियाओं में कई व्यावहारिक काम आता है।

  • ई-कॉमर्स चेकआउट — असफल लेन-देन और API कॉल घटाने के लिए भुगतान प्रोसेसर को भेजने से पहले कार्ड का फ़ॉर्मेट सत्यापित करें
  • भुगतान फ़ॉर्म का अनुभव — जैसे-जैसे यूज़र टाइप करे, तुरंत कार्ड प्रकार का आइकन (Visa, Mastercard आदि) दिखाएँ और गलतियों को फ़ौरन उजागर करें
  • धोखाधड़ी की रोकथाम — साफ़ तौर पर अमान्य नंबरों को आपके पेमेंट गेटवे तक पहुँचने से पहले पकड़ें, जिससे अस्वीकृत लेन-देन की प्रोसेसिंग फ़ीस घटती है
  • टेस्ट कार्ड जनरेशन — डेवलपर बिना असली कार्ड के भुगतान प्रवाह जाँचने के लिए Luhn-मान्य टेस्ट नंबर (जैसे Visa के लिए 4111 1111 1111 1111) इस्तेमाल करते हैं

सुरक्षा संबंधी बातें

क्रेडिट कार्ड सत्यापन एक फ़ॉर्मेट जाँच है, कोई सुरक्षा उपाय नहीं। सुरक्षित भुगतान सिस्टम बनाने के लिए इसकी सीमाओं को समझना बेहद ज़रूरी है।

  • क्लाइंट-साइड सत्यापन टाइपिंग गलतियाँ पकड़ता है, लेकिन चोरी हुए या रद्द किए गए कार्ड नहीं पहचान सकता — हमेशा PCI DSS अनुरूप पेमेंट गेटवे के ज़रिए प्रोसेस करें
  • पूरे कार्ड नंबर कभी संग्रहीत न करें — कार्ड डेटा को सुरक्षित टोकन से बदलने के लिए अपने भुगतान प्रदाता (Stripe, Braintree, Adyen) की टोकनाइज़ेशन सेवाओं का उपयोग करें
  • PCI DSS अनुपालन के लिए ज़रूरी है कि कार्डधारक का डेटा कभी आपके सर्वर तक न पहुँचे — होस्ट किए गए भुगतान फ़ील्ड या रीडायरेक्ट-आधारित चेकआउट प्रवाह का उपयोग करें

अक्सर पूछे जाने वाले सवाल

क्या Luhn एल्गोरिदम गलत तरीके से किसी नंबर को सही ठहरा सकता है?

हाँ। Luhn एल्गोरिदम केवल चेकसम सत्यापित करता है — यह पुष्टि करता है कि नंबर गणितीय रूप से सुसंगत है, न कि यह कि उस नंबर वाला कोई असली कार्ड मौजूद है। आप अनगिनत Luhn-मान्य नंबर बना सकते हैं जो किसी भी जारी किए गए कार्ड से मेल नहीं खाते। इसीलिए Luhn सत्यापन के बाद कार्ड नेटवर्क से असली प्राधिकरण हमेशा ज़रूरी होता है।

क्या वर्चुअल कार्ड नंबर भी इन्हीं नियमों का पालन करते हैं?

हाँ। बैंकों और Apple Pay, Google Pay या Privacy.com जैसी सेवाओं द्वारा बनाए गए वर्चुअल कार्ड नंबर भी भौतिक कार्डों की तरह ही BIN उपसर्ग और Luhn चेकसम नियमों का पालन करते हैं। ये उन्हीं नेटवर्क द्वारा जारी किए गए मान्य कार्ड नंबर हैं — बस अंतर यह है कि ये अस्थायी, एक बार इस्तेमाल होने वाले या कुछ विशिष्ट व्यापारियों तक सीमित हो सकते हैं।

डेवलपमेंट के लिए मैं कौन-से टेस्ट कार्ड नंबर इस्तेमाल कर सकता हूँ?

भुगतान प्रोसेसर विशिष्ट टेस्ट नंबर देते हैं: Visa 4111 1111 1111 1111, Mastercard 5500 0000 0000 0004, Amex 3782 822463 10005, Discover 6011 1111 1111 1117। ये Luhn सत्यापन पास कर लेते हैं और टेस्ट/सैंडबॉक्स वातावरण में पहचाने जाते हैं। परीक्षण के लिए कभी असली कार्ड नंबर इस्तेमाल न करें — डेवलपमेंट में भी केवल अपने भुगतान प्रदाता के आधिकारिक टेस्ट नंबर ही इस्तेमाल करें।

संबंधित टूल