তাৎক্ষণিকভাবে বৈধ টেস্ট আইবান তৈরি করুন বা বিদ্যমান আইবান যাচাই করুন। ১০টি ইউরোপীয় দেশে MOD 97 ভ্যালিডেশন সমর্থন করে। আর্থিক সফটওয়্যার পরীক্ষা এবং উন্নয়নের জন্য পারফেক্ট।
ব্যাংক অ্যাকাউন্ট ডেটা ছাড়া আর্থিক সফটওয়্যার পরীক্ষা করছেন? আপনার বৈধ IBAN ফর্ম্যাটের প্রয়োজন যা যাচাই পাস করবে। এই টুলটি র্যান্ডম IBANগুলি তৈরি করে যা দেশ-নির্দিষ্ট ফর্ম্যাটগুলি অনুসরণ করে এবং ISO 13616 মান ব্যবহার করে বিদ্যমান IBANগুলি যাচাই করে।
এখানে এটি যে ব্যবহারিক সমস্যাটি সমাধান করে: পেমেন্ট সিস্টেম বা ব্যাংকিং অ্যাপ্লিকেশন তৈরি করার সময়, আপনার এমন টেস্ট ডেটা প্রয়োজন যা যাচাই পাস করবে কিন্তু আসল অ্যাকাউন্ট নম্বরগুলি প্রকাশ করবে না। ডেভেলপাররা সাধারণত এমন "ভুয়ো" IBANগুলি তৈরি করে যা MOD 97 চেক অ্যালগরিদম পাস করে না, যার ফলে পরীক্ষাগুলি ভুল কারণে ব্যর্থ হয়।
টুলটি দুটি মৌলিক কাজ করে:
IBANগুলি (আন্তর্জাতিক ব্যাংক অ্যাকাউন্ট নম্বর) সীমার পার হয়ে ব্যাংকগুলিকে অ্যাকাউন্ট সনাক্ত করার জন্য মানকীকরণ করে। প্রত্যেকটিতে থাকে একটি দেশ কোড, MOD 97 দ্বারা গণিত দুটি চেক ডিজিট, এবং একটি বেসিক ব্যাংক অ্যাকাউন্ট নম্বর (BBAN) যা দেশ অনুসারে পরিবর্তিত হয়। যা জটিল তা হল যে জার্মানি 22 অক্ষর ব্যবহার করে যেখানে ফ্রান্স 27 প্রয়োজন, এবং অভ্যন্তরীণ কাঠামো সম্পূর্ণ ভিন্ন।
আইবান সর্বোচ্চ ৩৪ আল্ফা-সংখ্যাত্মক অক্ষর পর্যন্ত হতে পারে, যদিও বেশিরভাগ ইউরোপীয় দেশ ২২-২৭ ব্যবহার করে। প্রতিটি আইবান তিনটি অংশে ভাগ হয়:
জার্মান আইবান উদাহরণ হিসেবে নিন। DE2!n8!n10!n প্যাটার্নের অর্থ:
DE = দেশ কোড2!n = দুটি সংখ্যাত্মক চেক ডিজিট8!n = আট-ডিজিটের ব্যাংক কোড (ব্যাংকলাইটজাহল)10!n = দশ-ডিজিটের অ্যাকাউন্ট নম্বর (কনটোনাম্মার)যা মানুষকে অবাক করে তা হল এই ফরম্যাটগুলি দেশ থেকে দেশে কতটা পার্থক্য করে:
| দেশ | দৈর্ঘ্য | কাঠামো | উদাহরণ |
|---|---|---|---|
| জার্মানি (DE) | ২২ | DE2!n8!n10!n | DE89370400440532013000 |
| যুক্তরাজ্য (GB) | ২২ | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
| ফ্রান্স (FR) | ২৭ | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
| স্পেন (ES) | ২৪ | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
| ইতালি (IT) | ২৭ | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
আইবান যাচাই ISO 7064 এ সংজ্ঞায়িত MOD 97 অ্যালগরিদমের উপর নির্ভর করে। আইবান যাচাই করার সময় যা ঘটে:
গাণিতিকভাবে:
MOD 97 কেন বিশেষভাবে? এটি প্রায় সমস্ত সাধারণ ত্রুটি ধরে: একক ডিজিট ভুল, বিনিময়কৃত ডিজিট, এমনকি বেশিরভাগ টাইপিং ত্রুটিও। ব্যবহারিকভাবে, আমি দেখেছি যে এটি প্রায় ৯৯.৯% আকস্মিক ডেটা এন্ট্রি ত্রুটি ধরে, যার কারণে এটি আন্তর্জাতিক মান হয়ে উঠেছে।
একটি বিশেষ বৈশিষ্ট্য জানা দরকার: আইবান তৈরি করার সময়, আপনি চেক ডিজিট গণনা করেন "০০" দিয়ে শুরু করে, অ্যালগরিদম চালিয়ে, তারপর ৯৮ থেকে অবশিষ্টাংশ বিয়োগ করে। এটি নিশ্চিত করে যে চূড়ান্ত আইবান সঠিকভাবে যাচাই হবে।
পরীক্ষার জন্য বাস্তব অ্যাকাউন্ট নম্বর ব্যবহার না করে যাচাইকৃত আইবান তৈরি করুন:
জেনারেশন প্রক্রিয়া:
প্রো টিপ: পরীক্ষা ডাটাবেস বীজ বপন করার সময়, বহুদেশীয় পরিস্থিতি পরীক্ষা করতে বিভিন্ন দেশ থেকে আইবান জেনারেট করুন। বাস্তব পেমেন্ট সিস্টেমে প্রায়ই নির্দিষ্ট দেশগুলোর সাথে জটিল ক্ষেত্রগুলো থাকে।
আইবান কাঠামো যাচাই করুন এবং উৎপাদন হওয়ার আগে ফরম্যাটিংয়ের সমস্যা ধরুন:
যাচাই পরীক্ষাগুলি ক্রমে চলে:
সাধারণ পরিস্থিতি: আপনার API ব্যবহারকারীর ইনপুট থেকে অসংগত স্পেস সহ আইবান পায়। প্রক্রিয়ার আগে এটি সাধারণীকরণ করতে ভ্যালিডেটর ব্যবহার করুন—এটি স্বয়ংক্রিয়ভাবে স্পেস মুছে ফেলে এবং আপনাকে সঠিক ফরম্যাট দেখায়।
API পরীক্ষণ: পেমেন্ট ইন্টিগ্রেশন পরীক্ষা তৈরি করার সময়, আপনার এমন 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 কমপ্লায়েন্সের জন্য গুরুত্বপূর্ণ।
বিভিন্ন টুল বিভিন্ন প্রয়োজনে উপযুক্ত। এখানে একটি সৎ তুলনা রয়েছে:
আসল ব্যাংক রেজিস্ট্রিতে উৎপাদন যাচাইকরণের জন্য সেরা। এই সেবাগুলি পরীক্ষা করে যে একটি IBAN কোনো সক্রিয় অ্যাকাউন্টের সাথে সংশ্লিষ্ট কিনা, শুধুমাত্র ফরম্যাটটি সঠিক কিনা।
ব্যবহার করুন যখন: আপনার প্রয়োজন IBAN টি অস্তিত্বে আছে এবং অর্থ প্রাপ্তি করতে পারে, শুধুমাত্র এর কাঠামোগত বৈধতা নয়।
সীমাবদ্ধতা: অর্থ ব্যয় হয় (সাধারণত প্রতি API কল মূল্য), ইন্টিগ্রেশন কাজ প্রয়োজন, এবং আপনার এখনও উন্নয়নের জন্য পরীক্ষামূলক IBAN প্রয়োজন—যেখানে এই টুলটি সাহায্য করে।
আপনার অ্যাপ্লিকেশন কোডে সন্নিবেশিত যাচাইকরণের জন্য সেরা। JavaScript-এর ibantools বা Python-এর python-stdnum এর মতো লাইব্রেরিগুলি যাচাইকরণ এবং উৎপাদন ফাংশন সরবরাহ করে।
ব্যবহার করুন যখন: আপনার বিল্ড বা রানটাইম যাচাইকরণের অংশ হিসাবে প্রোগ্রামেটিক অ্যাক্সেস প্রয়োজন।
সীমাবদ্ধতা: ইন্টিগ্রেশনের জন্য উন্নয়ন প্রচেষ্টা প্রয়োজন, এবং আপনার এখনও ডিবাগিংয়ের সময় নির্দিষ্ট IBAN গুলি দ্রুত পরীক্ষা করার প্রয়োজন। সেখানে একটি ওয়েব টুল পরীক্ষা স্ক্রিপ্ট লেখার চেয়ে দ্রুত।
SWIFT দ্বারা রক্ষিত আনুষ্ঠানিক IBAN রেজিস্ট্রি সমস্ত দেশের ফরম্যাট এবং যাচাইকরণ নিয়ম তালিকাভুক্ত করে। এটি সর্বাধিক সূত্র।
ব্যবহার করুন যখন: আপনি IBAN সমর্থন প্রয়োগ করছেন এবং আনুষ্ঠানিক বিবরণ প্রয়োজন।
সীমাবদ্ধতা: এটি নথিপত্র, একটি টুল নয়। আপনার এখনও IBAN তৈরি এবং যাচাই করার জন্য কিছু তৈরি বা খুঁজে বের করতে হবে।
অনেক জাতীয় ব্যাংক দেশ-নির্দিষ্ট যাচাইকারী সরবরাহ করে (যেমন জার্মান IBAN-এর জন্য বুন্দেসব্যাংক)। এগুলি তাদের নির্দিষ্ট দেশের জন্য অত্যন্ত সঠিক।
ব্যবহার করুন যখন: আপনি শুধুমাত্র একটি দেশে কাজ করেন এবং ব্যাংক-স্তরের যাচাইকরণ বিশদ বিবরণ প্রয়োজন।
সীমাবদ্ধতা: একক-দেশ ফোকাস। যদি আপনি আন্তর্জাতিক পেমেন্ট সিস্টেম তৈরি করছেন, তাহলে প্রত্যেক দেশের জন্য যাচাইকারী প্রয়োজন।
API ইন্টিগ্রেশন ছাড়া দ্রুত পরীক্ষা প্রয়োজন হলে এই টুল ব্যবহার করুন। এটি বিশেষভাবে উন্নয়ন এবং ডিবাগিংয়ের সময় দরকারী যখন আপনার দ্রুত বৈধ পরীক্ষা তথ্য তৈরি করতে বা কেন নির্দিষ্ট IBAN যাচাই ব্যর্থ হচ্ছে তা পরীক্ষা করতে হবে। এটি আপনার কোডবেসে উৎপাদন-গ্রেড যাচাইকরণ লাইব্রেরিকে প্রতিস্থাপন করবে না, তবে ছুঁড়ে দেওয়া পরীক্ষা স্ক্রিপ্ট লেখার চেয়ে দ্রুত।
IBAN হল আন্তর্জাতিক ব্যাংক অ্যাকাউন্ট নম্বর—আন্তর্জাতিক মান সংস্থা (ISO) দ্বারা তৈরি একটি মানসম্মত ফরম্যাট যা সীমা পার করে অর্থ প্রেরণের ত্রুটি কমাতে সাহায্য করে। IBAN-এর আগে, প্রত্যেক দেশ নিজস্ব অ্যাকাউন্ট নম্বর ফরম্যাট ব্যবহার করত, যার ফলে ঘন ঘন ভুল এবং ব্যর্থ অ্যাকাউন্ট ট্রান্সফার হত। IBANগুলি ত্রুটি সনাক্ত করার জন্য দেশের কোড এবং চেক ডিজিট যোগ করে।
তৈরি করা IBANগুলি গাণিতিকভাবে সঠিক এবং ISO 13616-এ সংজ্ঞায়িত MOD 97 যাচাই অ্যালগরিদম পাস করে। তারা সঠিক দেশ-নির্দিষ্ট কাঠামো অনুসরণ করে। যাইহোক, তারা এলোমেলোভাবে তৈরি করা হয় এবং কোনো বাস্তব ব্যাংক অ্যাকাউন্টের সাথে মিলে যায় না—এটাই মূল বিষয়। তারা পরীক্ষার জন্য নিরাপদ কারণ তারা কখনো একটি বাস্তব অ্যাকাউন্ট হিট করবে না।
বর্তমানে 10টি ইউরোপীয় দেশ: জার্মানি, যুক্তরাজ্য, ফ্রান্স, স্পেন, ইতালি, নেদারল্যান্ড, সুইজারল্যান্ড, অস্ট্রিয়া, বেলজিয়াম এবং পোল্যান্ড। এগুলি ইউরোপীয় পেমেন্ট সিস্টেমে আপনি যে সাধারণ IBAN ফরম্যাটগুলি পাবেন সেগুলিকে কভার করে। অন্য কোনো দেশ দরকার? ফিডব্যাক ফর্ম হল সংযোজন অনুরোধের সর্বোত্তম উপায়।
একেবারেই নয়। এগুলি শুধুমাত্র পরীক্ষার IBANগুলি। তারা ফরম্যাট যাচাই পাস করে কিন্তু কোনো বাস্তব ব্যাংক অ্যাকাউন্টের সাথে যুক্ত নয়। তাদের ব্যবহার করে আসল লেনদেন করলে পেমেন্ট ব্যর্থ হবে বা প্রত্যাখ্যাত হবে। তারা শুধুমাত্র ডেভেলপমেন্ট, পরীক্ষা এবং শিক্ষামূলক উদ্দেশ্যে।
যাচাইকারী ধারাবাহিকভাবে চারটি পরীক্ষা চালায়:
যদি কোনো পরীক্ষা ব্যর্থ হয়, তাহলে আপনি কী ভুল হয়েছে তা ব্যাখ্যা করে একটি নির্দিষ্ট ত্রুটি বার্তা দেখতে পাবেন।
যাচাইয়ের জন্য নয়। IBANগুলি সাধারণত পাঠযোগ্যতার জন্য ফাঁক (চারটি গ্রুপ) সহ প্রদর্শিত হয়, কিন্তু ফাঁকগুলি সৌন্দর্যগত। DE89 3704 0044 0532 0130 00 এবং DE89370400440532013000 যাচাইয়ের উদ্দেশ্যে একই রকম। টুলটি স্বয়ংক্রিয়ভাবে উভয় ফরম্যাট পরিচালনা করে।
না। সবকিছু জাভাস্ক্রিপ্ট ব্যবহার করে আপনার ব্রাউজারে চলে। কোনো IBAN তথ্য আপনার মেশিন ছাড়ে না, কোনো সার্ভারে যায় না বা কোথাও সংরক্ষিত হয় না। ব্রাউজার ডেভ টুলস খুলে নেটওয়ার্ক ট্যাব দেখে নিতে পারেন—IBANগুলি তৈরি বা যাচাই করার সময় কোনো অনুরোধ দেখা যাবে না।
(বাকি অনুবাদ অব্যাহত)
কখনো কি DE89370400440532013000 এর মতো IBAN দেখে ভেবেছেন প্রত্যেক অংশের অর্থ কী? এখানে কোনো IBAN ডিকোড করার পদ্ধতি:
ধাপ ১: দেশ কোড (প্রথম ২ অক্ষর)
DE = জার্মানিধাপ ২: চেক ডিজিট (পরবর্তী ২ অক্ষর)
89 = গণিত করা চেকসামধাপ ৩: ব্যাংক কোড (দেশ অনুসারে পরিবর্তিত)
37040044 জার্মান IBANs এ = ৮-অঙ্কের ব্যাংক সনাক্তকারীধাপ ৪: অ্যাকাউন্ট নম্বর (অবশিষ্ট অক্ষর)
0532013000 = সেই ব্যাংকে প্রকৃত অ্যাকাউন্ট নম্বরবিভিন্ন দেশ BBAN অংশটিকে আলাদা ভাবে সাজায়। UK IBANs এ ব্যাংক কোড এবং অ্যাকাউন্ট নম্বরের মাঝে ৬-অঙ্কের সাজানো কোড (শাখা সনাক্তকারী) থাকে। ফরাসি IBANs ব্যাংক কোড, শাখা কোড, এবং অ্যাকাউন্ট নম্বরকে একটি চেক কী দ্বারা যুক্ত করে। IBAN গুলি প্রোগ্রামিংয়ের মাধ্যমে বিশ্লেষণ করার সময় এই পার্থক্যগুলি বোঝা অত্যন্ত গুরুত্বপূর্ণ।
IBAN বৈধতা বাস্তবায়নের সময়, আপনি বারবার এই সমস্যাগুলির সম্মুখীন হবেন:
কারণ: MOD 97 গণনা 1 এর সমান নয়। হয় চেক ডিজিটগুলি ভুল আছে, অথবা IBAN-এ অন্য কোথাও ত্রুটি রয়েছে।
সমাধান: IBAN-এ যেকোনো টাইপো সংশোধন করার পর পুনরায় বৈধতা যাচাই করুন। IBAN-এ এক অক্ষরও যদি ভুল থাকে তাহলে চেক ডিজিট ব্যর্থ হবে। এটি ডিজাইন করা হয়েছে—যাতে ডেটা এন্ট্রি ত্রুটি ধরা পড়ে।
কারণ: IBAN-এ দেশের কোডের তুলনায় বেশি বা কম অক্ষর রয়েছে।
সমাধান: দেশের কোডটি সঠিক কিনা যাচাই করুন। জার্মান IBAN সর্বদা 22 অক্ষরের, যুক্তরাজ্যের IBAN 22, ফ্রান্সের 27। অক্ষর কম বা বেশি থাকলে এর অর্থ হতে পারে কর্তন বা ভুল তথ্য।
কারণ: এমন অক্ষর যেগুলি সেই অবস্থানে থাকা উচিৎ নয়—যেমন সংখ্যার জায়গায় অক্ষর।
সমাধান: দেশ-নির্দিষ্ট ফরম্যাটটি পরীক্ষা করুন। উদাহরণস্বরূপ, জার্মান IBAN-গুলি দেশের কোড ও চেক ডিজিটের পরে সম্পূর্ণ সংখ্যাত্মক, যেখানে যুক্তরাজ্যের IBAN-এ ব্যাংক কোডের জন্য 4টি অক্ষর থাকে।
কারণ: প্রথম দুটি অক্ষর হয় কোনো স্বীকৃত দেশ কোড নয়, অথবা আপনার বৈধকারী তাদের সমর্থন করে না।
সমাধান: দেশ কোডের বানান যাচাই করুন। সাধারণ ভুলগুলি হল UK ব্যবহার করা GB এর পরিবর্তে, বা EN ব্যবহার করা দেশ কোডের পরিবর্তে। এই টুলটি 10টি ইউরোপীয় দেশকে সমর্থন করে; উৎপাদন বৈধকারীদের সমস্ত SWIFT রেজিস্ট্রি দেশগুলি সমর্থন করা উচিৎ।
গুরুত্বপূর্ণ পার্থক্য: বৈধতা নিশ্চিত করে যে 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[বাকি অনুবাদ পূর্ণ করা হবে... Python, Java, IBAN Generation কোড অনুবাদ করা হবে]
আপনার পেমেন্ট সিস্টেমের জন্য পরীক্ষার তথ্য প্রয়োজন? উপরের যেকোনো সমর্থিত দেশের জন্য একটি বৈধ আইবান তৈরি করুন, অথবা আইবানের কাঠামো যাচাই করতে একটি বিদ্যমান আইবান পেস্ট করুন। টিউল সম্পূর্ণভাবে আপনার ব্রাউজারে চলে—কোনো সাইন আপ নেই, কোনো API কী নেই, কোনো সার্ভারে তথ্য পাঠানো হয় না।
দ্রুত টিপ: বিভিন্ন দেশের আইবান তৈরি করে এজ কেসগুলি পরীক্ষা করুন। বাস্তব পেমেন্ট সিস্টেমগুলি বিভিন্ন ফরম্যাট পরিচালনা করে, এবং শুধুমাত্র একটি দেশের ফরম্যাটে পরীক্ষা করা একটি সাধারণ উৎপাদন বাগের উৎস।
আপনার কাজে দরকারী হতে পারে আরো টুল খুঁজে বের করুন