卡BIN指的是发卡行识别码,英文全称是 Bank Identification Number,缩写为 BIN。中文即“银行识别代码” 
银行卡的卡号是标识发卡机构和持卡人信息的号码
一般是13-19位,由“卡BIN+发卡行自定位+校验位”三部分构成,其中
  1. 前6位是卡BIN,由国际标准化组织(ISO)分配给各从事跨行转接交换的银行卡组织;
  2. 发卡机构自定义位由6-12位数字组成,由发卡机构赋予;
  3. 卡号的后1位数字,根据校验位以前的数字(包括BIN)取值按Luhn方程计算得出。
目前,国内银行卡按照数字开头的不同,分为不同的银行卡组织归属,
  • 以“4”字打头的银行卡属于VISA卡组织,
  • 以“5”字打头的属于MasterCard 卡组织,
  • 以“9”字和“62”、“60”打头的属于中国银联,
  • 以“9”打头因为只是本国标准机构进行分配的,所以只能在国内进行使用。
  • 而“62”、“60”打头的银联卡是符合国际标准的银联标准卡,可以在国外使用,这也是中国银联近几年来主要发行的银行卡片。

常见的卡BIN校验不通过的原因

  大家在使用银行卡 交易时,难免会遇到提醒“卡BIN校验不通过”的情况,这是支付机构或成员银行在受理交易时进行的预校验,主要逻辑就是检查你输入的卡号、银行卡等基本信息是否满足银行卡卡BIN规则。

支付机构、商户或者成员银行选择进行卡BIN校验主要是因为:

  • 对于前端可拦截的错误,减少跟后端系统的交互;
  • 避免出现信用卡理财的情况,有些时候银行并不会限制信用卡理财,这个时候支付公司或者商户就需要控制。在理财领域,贷记卡和准贷记卡都不允许进行理财交易,这个卡类型可以通过卡BIN进行识别。

常见的错误有:

  • 持卡人填的是工行卡,结果选择的是农行;
  • 持卡人多输或者少输一位卡号;
  • 持卡人输错其中某个位数;
  • 持卡人在金融类交易时选择信用卡进行交易。

银行卡卡bin的更多相关文章

  1. C#:根据银行卡卡号判断银行名称

    原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,博主是一个今年刚出来的应届毕业生,不足之处请多多包涵. 根据银行卡号判断所属银行,依 ...

  2. C#:根据银行卡卡号推断银行名称

    原文:C#:根据银行卡卡号推断银行名称 原文地址:android 根据银行卡卡号判断银行 原文是 java ,现在将它翻译成 C# ,并对代码重新编排整理,不足之处请多多包涵. 根据银行卡号判断所属银 ...

  3. 前端JS校验银行卡卡号和身份证号码(附ES6版方法)

    1.银行卡卡号校验方法. function luhnCheck(bankno) { var lastNum = bankno.substr(bankno.length - 1, 1); //取出最后一 ...

  4. 匹配Luhn算法:可用于检测银行卡卡号

    匹配Luhn算法:可用于检测银行卡卡号 /** * http://www.cnblogs.com/JnKindle/p/5798974.html * * 匹配Luhn算法:可用于检测银行卡卡号 * * ...

  5. C#_根据银行卡卡号判断银行名称

    /// <summary> /// 银行信息 /// </summary> public class BankInfo { #region 数组形式存储银行BIN号 /// & ...

  6. oracle银行卡卡号计算函数

    create or replace function GetCardNoBySerialNo(v_sysacc varchar2,v_position number) return varchar2 ...

  7. 2018-7-27银行卡bin大全-根据银行卡开头查银行

    支付宝卡号验证工具 https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=银 ...

  8. 通过银行卡号识别归属银行,php方式

    这个例子不是很全,要做到齐全必须使用数据库字典来索引,而且数据量庞大,建议生产使用时限制几大行就行,直接不支持其他小行.此案例抛砖引玉 /** * 银行卡信息识别相关类 * 把bin号转化为长整形,再 ...

  9. PHP中使用Luhn算法校验信用卡及借记卡卡号

    Luhn算法会通过校验码对一串数字进行验证,校验码通常会被加到这串数字的末尾处,从而得到一个完整的身份识别码. 我们以数字“7992739871”为例,计算其校验位: 从校验位开始,从右往左,偶数位乘 ...

随机推荐

  1. Python爬虫与一汽项目【二】爬取中国东方电气集中采购平台

    网站地址:https://srm.dongfang.com/bid_detail.screen 东方电气采购的页面看似很友好,实际上并不好爬取 在观察网页的审查元素之后发现,1处的网页响应只是单纯的一 ...

  2. Java8-对map过滤

    1.对map按值过滤返回值 public class TestMapFilter { public static void main(String[] args) { Map<Integer, ...

  3. Windows 控制面板调用命令

    使用命令打开 Windows 控制面板指定页面 control.exe /name microsoft.folderoptions 启动资源管理器的 文件夹属性 选项卡 control.exe /na ...

  4. Redis集群(主从模式)

    主从模型   在Redis的集群当中,每个节点(实例)都有一个身份:Master或者Slave,Master:主要负责数据写入,Slave一般提供数据读取,Master与Slave之间是一对多关系,M ...

  5. 使用java程序对oracle添加触发器时,报错:索引中丢失 IN 或 OUT 参数:: 1

    解决方法: 执行sql语句时,使用java.sql.Statement代替java.sql.PreparedStatement. java.sql.PreparedStatement ps = con ...

  6. P3953 逛公园

    传送门 花了一个下午才 A 的毒瘤题 思路: 这题需要建两个图,一个正向图,一个反向图. 先在正向图上跑一遍 dijkstar ,计算出每个点到 点1 的最短路径 . 然后在反向图上开始记忆化搜索: ...

  7. C++_day06_运算符重载_智能指针

    1.只有函数运算符可以带缺省函数,其他运算符函数主要由操作符个数确定 2.解引用运算符和指针运算符 示例代码: #include <iostream> using namespace st ...

  8. oracle 存储过程(分析理解)

    我的理解 比较简单(仅供参考)   存储过程就相当于java里面的方法 简单讲就是一串代码能够实现某个特定的功能,想要使用这个方法直接调用方法名就能够使用他的功能,这就是方法 oracle 存储过程也 ...

  9. Hadoop分布式文件系统HDFS的工作原理

    Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.它能提供高吞吐量的数据访问,非常适合大规模数据集上的应 ...

  10. reactiveCocoa使用注意点

    @RACSubject信号 注意点:1如果一个页面需要多次发送这个消息,那么似乎会暴露一个bug,信号不会被销毁,等到发送第二个信号 时,第一个信号仍然会被发送,导致错误,比如一个tableView的 ...