جدول کد بانکهای ایران
کد سه رقمی شبا و نمونه BIN کارت برای بانکهای رایج.
| کد | بانک | نمونه BIN |
|---|---|---|
| 012 | ملت | 610433، 991975 |
| 013 | رفاه کارگران | 589463 |
| 014 | مسکن | 628023 |
| 015 | سپه | 589210 |
| 016 | کشاورزی | 603770 |
| 017 | ملی ایران | 603799 |
| 018 | تجارت | 627353، 585983 |
| 019 | صادرات ایران | 603769 |
| 021 | پستبانک | 627760 |
| 022 | توسعه صادرات | 627648 |
| 051 | توسعه تعاون | 502908 |
| 052 | قوامین | 639599 |
| 053 | کارآفرین | 627488 |
| 054 | پارسیان | 622106، 627884، 639194 |
| 055 | اقتصاد نوین | 627412 |
| 056 | سامان | 621986 |
| 057 | پاسارگاد | 502229، 639347 |
| 058 | سرمایه | 639607 |
| 059 | سینا | 639346 |
| 060 | مهر ایران | 606373 |
| 061 | شهر | 502806، 504706 |
| 062 | آینده | 636214 |
| 063 | انصار | 627381 |
| 064 | گردشگری | 505416 |
| 065 | حکمت ایرانیان | 636949 |
| 066 | دی | 502938 |
| 069 | ایرانزمین | 505785 |
| 070 | رسالت | 504172 |
| 073 | کوثر | 505801 |
| 075 | مهر اقتصاد | 639370 |
| 078 | خاورمیانه | 585947 |
| 080 | نوينکارآفرین | 505809 |
| 095 | ایران ونزوئلا | 581874 |
مرتبط
در شبا (IBAN IR)، سه رقم بعد از دو رقم کنترل، شناسهٔ موسسه در جدول بانک مرکزی است. در کارت بانکی، شش رقم اول (BIN) معمولاً همان خانوادهٔ صادرکننده را نشان میدهد — ولی رقمبهرقم با کد شبا یکی نیست. صفحهٔ جدول کد بانکهای ایران در FinAI هر دو را کنار هم lists میکند تا بتوانید شبا را با تشخیص بانک از شبا، کارت را با lookup BIN، و checksum را با اعتبارسنجی شبا یا اعتبارسنجی کارت در مرورگر خودتان ببندید. داده از فایل ثابت پروژه میآید؛ به core banking وصل نیست و برای «نام صاحب حساب» طراحی نشده. هیچ شماره کارت یا شبایی برای نمایش جدول به سرور FinAI ارسال نمیشود.
چرا جدول ثابت داریم
API عمومی بانکها برای «لیست کد + BIN» وجود ندارد که هر fintech بدون قرارداد بزند. FinAI tradeoff آگاهانه: جدول version-controlled، سریع، offline-friendly، و مناسب ابزارهای client-side مثل تولید شبا و فرمت شبا. عیب: تا release بعدی، موسسه یا BIN تازه ممکن است در UI «نامشخص» بماند. این صفحه مرجع انسانی و آموزشی است — نه تعهد eternal completeness.
چگونه از این جدول بخوانید
هر ردیف در UI ابزار سه بخش دارد: کد سهرقمی (با صفر پیشرو)، نام فارسی بانک، و یک یا چند BIN نمونه. BIN کامل نیست؛ فقط rangeهای رایج در دست مشتریان. یک بانک چند BIN دارد (تجارت، پارسیان، ملت نمونهٔ واضح). اگر کارت شما با هیچ BIN listed match نکرد، lookup ممکن است null بدهد در حالی که کارت معتبر است — lookup همان جدول را میخواند.
فهرست کدها و BINهای نمونه (نسخهٔ جدول FinAI)
لیست زیر mirror دادهٔ داخلی سایت است. قبل از واریز، شبا را همیشا با validate و منبع اپ بانک چک کنید.
- ۰۱۲ — ملت: BIN نمونه ۶۱۰۴۳۳، ۹۹۱۹۷۵
- ۰۱۳ — رفاه کارگران: BIN نمونه ۵۸۹۴۶۳
- ۰۱۴ — مسکن: BIN نمونه ۶۲۸۰۲۳
- ۰۱۵ — سپه: BIN نمونه ۵۸۹۲۱۰
- ۰۱۶ — کشاورزی: BIN نمونه ۶۰۳۷۷۰
- ۰۱۷ — ملی ایران: BIN نمونه ۶۰۳۷۹۹
- ۰۱۸ — تجارت: BIN نمونه ۶۲۷۳۵۳، ۵۸۵۹۸۳
- ۰۱۹ — صادرات ایران: BIN نمونه ۶۰۳۷۶۹
- ۰۲۱ — پستبانک: BIN نمونه ۶۲۷۷۶۰
- ۰۲۲ — توسعه صادرات: BIN نمونه ۶۲۷۶۴۸
- ۰۵۱ — توسعه تعاون: BIN نمونه ۵۰۲۹۰۸
- ۰۵۲ — قوامین: BIN نمونه ۶۳۹۵۹۹
- ۰۵۳ — کارآفرین: BIN نمونه ۶۲۷۴۸۸
- ۰۵۴ — پارسیان: BIN نمونه ۶۲۲۱۰۶، ۶۲۷۸۸۴، ۶۳۹۱۹۴
- ۰۵۵ — اقتصاد نوین: BIN نمونه ۶۲۷۴۱۲
- ۰۵۶ — سامان: BIN نمونه ۶۲۱۹۸۶
- ۰۵۷ — پاسارگاد: BIN نمونه ۵۰۲۲۲۹، ۶۳۹۳۴۷
- ۰۵۸ — سرمایه: BIN نمونه ۶۳۹۶۰۷
- ۰۵۹ — سینا: BIN نمونه ۶۳۹۳۴۶
- ۰۶۰ — مهر ایران: BIN نمونه ۶۰۶۳۷۳
- ۰۶۱ — شهر: BIN نمونه ۵۰۲۸۰۶، ۵۰۴۷۰۶
- ۰۶۲ — آینده: BIN نمونه ۶۳۶۲۱۴
- ۰۶۳ — انصار: BIN نمونه ۶۲۷۳۸۱
- ۰۶۴ — گردشگری: BIN نمونه ۵۰۵۴۱۶
- ۰۶۵ — حکمت ایرانیان: BIN نمونه ۶۳۶۹۴۹
- ۰۶۶ — دی: BIN نمونه ۵۰۲۹۳۸
- ۰۶۹ — ایرانزمین: BIN نمونه ۵۰۵۷۸۵
- ۰۷۰ — رسالت: BIN نمونه ۵۰۴۱۷۲
- ۰۷۳ — کوثر: BIN نمونه ۵۰۵۸۰۱
- ۰۷۵ — مهر اقتصاد: BIN نمونه ۶۳۹۳۷۰
- ۰۷۸ — خاورمیانه: BIN نمونه ۵۸۵۹۴۷
- ۰۸۰ — نوینکارآفرین: BIN نمونه ۵۰۵۸۰۹
- ۰۹۵ — ایران ونزوئلا: BIN نمونه ۵۸۱۸۷۴
شکافهای عمدی در شمارهگذاری
همهٔ اعداد بین ۰۱۰ تا ۰۹۹ بانک نیستند؛ برخی رزرو یا تاریخیاند. نبودن کد در لیست FinAI یعنی یا پوشش ندادهایم یا موسسه خارج از scope جدول است — نه اینکه «کد جعلی» است. برای کد داخل شبای validateشده که در جدول نیست، با بانک مقصد تماس بگیرید.
ادغام و برندهای legacy
پس از ادغام، نام روی کارت قدیمی ممکن است با نام جدول امروز یکی باشد ولی BIN legacy بماند. کد شبا به entity فعلی map میشود. در audit، شبا و BIN را با هم compare کنید؛ تناقض هشدار است. کارت به شبا تبدیل قطعی نمیدهد — جدول فقط family را روشن میکند.
مسیرهای ابزار که از این جدول تغذیه میشوند
- generate-sheba: اگر code در index نباشد، تولید null.
- validate-sheba: نام بانک پس از mod 97 از code slice.
- bank-from-sheba: همان slice بدون الزام valid.
- validate-card و card-bank-lookup: از binIndex.
یک منبع truth در repo یعنی release notes FinAI برای بهروزرسانی کد مهم است.
BIN نمونه ≠ همهٔ کارتهای بانک
بانکها برای virtual card، corporate، یا co-brand range جدید میگیرند. لیست FinAI curated است. merchant که فقط BIN listed را white-list کند ممکن است مشتری legitimate را reject کند — better: Luhn + درگاه، نه BIN alone.
حریم خصوصی
مرور این جدول هیچ دادهٔ شخصی نمیخواهد. وقتی code را در generate وارد میکنید، client-side است. در گزارش باگ فقط BIN یا code بفرستید، نه PAN کامل.
آموزش تیم مالی
کارمند جدید: code را از وسط شبا با bank-from پیدا کند، در این صفحه name را ببیند، با قرارداد طرف مقایسه کند. سپس validate. این سه گام از phishing با لوگوی جعلی و شبای nearly-valid جلوگیری میکند.
تفاوت با «لیست شعب»
کد سهرقمی موسسه است، نه شعبه. شعبه در چک و سند داخلی جای دیگر است. generate-sheba code + account میخواهد، نه code شعبه.
بهروزرسانی جدول
FinAI از PR و منابع عمومی (اعلام ادغام، مستندات صادرکننده) بهروز میکند. تاریخ دقیق release در changelog سایت دیده میشود. اگر BIN تازه دارید و public source، feedback بدون PAN کامل.
سناریوی reconcile
حسابدار: پرداختهای ماه را با code بانک در Excel group میکند — از slice شبا یا از validate export. distribution غیرمنتظره (مثلاً surge در ۰۶۶) signal برای review fraud یا vendor change است.
ارتباط با format
format شبا خوانایی slice را برای انسان زیاد میکند؛ جدول code معنی slice را میدهد. با هم در training material.
محدودیت حقوقی
این جدول آموزشی FinAI است؛ تعهد رسمی بانک مرکزی یا SWIFT نیست. تصمیم compliance با counsel و درگاه رسمی.
برای توسعهدهنده
اگر fork میکنید، iran-banks.ts را sync نگه دارید. test: هر code در IRAN_BANKS باید generate را برای dummy account (با validate roundtrip) pass کند اگر account syntactically ok است.
جمعبندی
جدول کد بانک FinAI پل بین شناسهٔ شبا و برند فارسی، با BIN نمونه برای کارت. کامل برای همیشه نیست؛ با ابزارهای banking client-side ترکیب شود. واریز واقعی: validate + بانک + KYC شما.
عمق بیشتر: چرا دو شناسه (code و BIN)
تاریخچه: شبکهٔ کارت و شبکهٔ حساب بینبانکی standards جدا توسعه یافت. ISO 13616 برای IBAN؛ ISO/IEC 7812 برای PAN. ایران هر دو را heavy use میکند. analyst باید بداند code در BBAN position 3-5 (after check digits in 24-digit body) است — همان slice که bank-from میخواند.
کار با موسسات کوچکتر در لیست
کدهایی مثل ۰۷۸ یا ۰۹۵ کمتر در جستجو دیده میشوند ولی در جدول هستند. اگر validate pass و name از جدول آمد، treat like any bank — mod 97 universal است.
سوءبرداشت رایج
«BIN ۶۰۳۷۹۹ یعنی code ۶۰۳.» خیر — ۶۰۳۷۹۹ شش رقم اول PAN است؛ code ملی ۰۱۷ است. «جدول همه بانکهای جهان.» خیر — ایران retail focus. «با code میتوان sheba ساخت بدون حساب.» خیر — generate account میخواهد.
نقشهٔ یادگیری یک هفته
روز یک: این جدول را skim. روز دو: validate-sheba روی شباهای خودتان (در private). روز سه: bank-from و compare code. روز چهار: lookup BIN کارت خود. روز پنج: generate از statement (test). روز شش: format برای doc. روز هفت: card-to-sheba ببینید چرا sheba null — درک family vs conversion.
FinAI با این cluster topical authority بانکی میسازد بدون جمعآوری PAN در cloud. شما reader این صفحه را در همان spirit استفاده کنید: جدول را بخوانید، ابزار را local بزنید، برای پول واقعی درگاه رسمی.
همترازی با validate وقتی code «unknown»
گاهی mod 97 pass میشود ولی code در IRAN_BANKS نیست — موسسه جدید یا lag جدول. validate ممکن است code numeric نشان دهد بدون name فارسی. این edge case را در SOP ops document کنید: escalate به treasury، نه guess name.
پایان
کد بانک سه رقم در قلب BBAN ایران است؛ BIN شش رقم در قلب PAN. این صفحه هر دو را با نام فارسی pair میکند، sample محدود، client-side ecosystem را تکمیل میکند. completeness را با release FinAI و common sense بانکی ترکیب کنید — نه با فرض realtime از این HTML alone.
چطور code را در شبای copyشده پیدا کنید
بدون IR، ۲۴ رقم را بشمارید: رقم ۱ و ۲ check digit؛ رقم ۳ تا ۵ code بانک. با IR، بعد از IR همان ترتیب است. ابزار bank-from-sheba این کار را خودکار میکند تا خطای شمارش دستی کم شود. سپس code را در فهرست بالا پیدا کنید و نام را با ذینفع معامله مقایسه کنید.
چطور BIN را از روی کارت بخوانید
شش رقم سمت چپ PAN (اولین ارقام از چپ روی کارت فیزیکی) را با ستون BIN نمونه مقایسه کنید. اگر match نبود، lookup را بزنید — شاید range جدید باشد. سپس code همان بانک را در این جدول ببینید و بدانید در شبا چه سه رقمی باید بیاید.
سیاست داده در FinAI
جدول HTML و دادهٔ TypeScript همfamily هستند؛ وقتی maintainer code یا BIN اضافه میکند، هر دو باید sync شوند. کاربر نهایی فقط release میبیند. اگر در production code valid ولی name missing دیدید، lag بین deployها را در نظر بگیرید نه fraud automatic.
مثال ذهنی cross-check (ساختگی)
فرض کنید lookup میگوید BIN متعلق به پاسارگاد است — code در جدول ۰۵۷ است. شبایی که validate pass میکند باید در slice همان ۰۵۷ را نشان دهد. اگر ۰۵۷ نیامد، یا شبا متعلق به بانک دیگر است یا typo. format کمک میکند slice را با چشم بشمارید؛ validate حقیقت ریاضی را میگوید.
وقتی دو BIN برای یک code میبینید
تجارت، پارسیان، ملت و شهر در جدول بالا چند BIN دارند — reissue کارت، طرحهای مختلف، یا legacy merge. همه به یک code شبا map میشوند. پذیرنده نباید فکر کند BIN دوم «بانک دیگر» است؛ در lookup هر دو نام یکسان برمیگردد. برای forensic، تاریخ صدور کارت از issuer لازم است.
تولید شبا و محدودیت code
generate-sheba فقط codeهای موجود در index را میپذیرد. اگر code در این HTML هست ولی generate خطا داد، version deploy را چک کنید — HTML content و bundle ممکن است یک release جدا باشند. مرجع canonical برای dev همان source TypeScript است؛ این صفحه mirror آموزشی برای SEO و کاربر نهایی.