卡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. GoldenGate HANDLECOLLISIONS参数使用说明

    HANDLECOLLISIONS在官方文档上的说明: 使用HANDLECOLLISIONS和NOHANDLECOLLISIONS参数来控制在目标上应用SQL时,Replicat是否尝试解决重复记录和缺 ...

  2. 安装redis报错 you need tcl 8.5 or newer in order to run redis test

    解决方法: wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz tar -zxvf tcl8.6.1-src.tar.gz -C ...

  3. 多态 鸭子类型 反射 内置方法(__str__,__del__) 异常处理

    ''' 1什么是多态 多态指的是同一种/类事物的不同形态 2 为何要有多态 多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象 多态性的精髓:统一 多态性的好处: 1增加了程序的 ...

  4. 010 Editor Mac安装教程

    010 Editor mac版是mac上一款非常强大的十六进制编辑器,可以帮助用户进行编辑十六进制和二进制,可选择自己需要的进制进行编辑,还可对任何的文件进行编辑:软件内置了强大的模块.脚本操作,只需 ...

  5. mfc动态控件生成

    1.变量.函数声明 std::vector<CButton*>pBtn; afx void OnBtnClik(UINT uID);//回调函数 2.分配空间 pBtn.resize(50 ...

  6. String.StartsWith 方法

    startsWith() 方法用于检测字符串是否以指定的前缀开始. 语法 public boolean startsWith(String prefix, int toffset) 或 public ...

  7. Servlet CDI example analysis

    上下文和依赖注入(CDI)使您的对象能够自动为它们提供依赖项,而不是创建它们或将它们作为参数接收.CDI还为您管理这些依赖项的生命周期. 例如,考虑以下servlet: @WebServlet(&qu ...

  8. 7.20 Codeforces Beta Round #8

    链接:codeforces.com/contest/8 A 原因:RE,fantasy 的字符串的长度可能大于原字符串. B 题意:上下左右走,可能要避让障碍,问是否存在一个地图使得给定的路径为当前最 ...

  9. deep learning入门:感知机

    权重和偏置 import numpy as np # 求x1 and x2 def AND(x1, x2): x = np.array([x1, x2]) w = np.array([0.5, 0.5 ...

  10. Selenium常见问题

    1.使用python打开Chrome浏览器时,出现Chrome正受到自动测试软件的控制的提示 解决: 在浏览器配置里加个参数,忽略掉这个警告提示语,disable_infobars option = ...