卡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. Spring boot 配置https 实现java通过https接口访问

    近来公司需要搭建一个https的服务器来调试接口(服务器用的spring boot框架),刚开始接触就是一顿百度,最后发现互联网认可的https安全链接的证书需要去CA认证机构申请,由于是调试阶段就采 ...

  2. 自定义域名访问本地WEB应用

    自定义域名访问本地WEB应用 本地安装了WEB服务端,怎样通过自定义域名方式实现从公网访问本地WEB应用? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动WEB服务端 默认安装的WEB ...

  3. java集合的三种遍历方式

    import java.util.ArrayList;  import java.util.Collection;import java.util.Iterator;public class Home ...

  4. mybatis的collection查询问题以及使用原生解决方案的结果

    之前在springboot+mybatis环境的坑和sql语句简化技巧的第2点提到,数据库的一对多查询可以一次查询多级数据,并且把拿到的数据按id聚合,使父级表和子级表都有数据. 但是这种查询,必然要 ...

  5. springboot使用validation 插件做数据校验

    不多说废话. 首先,我们需要在入参实体对象中,使用注解,控制 @Datapublic class UpdateShufflingRequest { private String shuffling_l ...

  6. OpenCV自带dnn的Example研究(2)— colorization

    这个博客系列,简单来说,今天我们就是要研究 6个文件,看看在最新的OpenCV中,它们是如何发挥作用的. 在配置使用的过程中,需要注意使用较高版本的VS避免编译器兼容问题:由于DNN程序的运行依赖于训 ...

  7. WPF DataGrid 绑定行双击行命令

    WPF DataGrid 绑定行双击行命令 <DataGrid ...> <DataGrid.InputBindings> <MouseBinding MouseActi ...

  8. 【转载】RESTful 架构风格概述

    本文转载自https://blog.igevin.info/posts/restful-architecture-in-general/ 在移动互联网的大潮下,随着docker等技术的兴起,『微服务』 ...

  9. Date中before和after方法的使用

    Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false: Date1.before(Date2),当Date1小于Date2时,返回TRUE,当 ...

  10. StringBuffer的delete方法与deleteCharAt方法的区别。

    delete方法与deleteCharAt两个方法都是用来删除StringBuffer字符串指定索引字符的方法, delete(int  begin,int  end)有两个参数,使用时删除索引从be ...