bankcardinfo

'query bankcard infomation by bankcard NO.'

Usage no npm install needed!

<script type="module">
  import bankcardinfo from 'https://cdn.skypack.dev/bankcardinfo';
</script>

README

通过银行卡号查询银行类型和银行卡类型

Build Status via Travis CI Coverage Status NPM version

建议升级使用1.0.0+的版本,该版本不向下兼容,即不再支持getBankInfoByCardNoAsync,getBankInfoByCardNo这两个API,旧版本用户请升级并使用 getBankBin API替换

2.0.0版本开始支持promise写法

npm install bankcardinfo

成功获取卡bin信息时,返回值为json对象

{
    bankName:"中国工商银行",
    bankCode:"ICBC",
    cardType:"DC",
    cardTypeName:"储蓄卡"
}

API

getBankBin

传入卡号,异步返回。当第一个参数为空时,表示获取卡bin信息成功(标准API)

var BIN = require('bankcardinfo');
//callback 方式调用
BIN.getBankBin('6227003320240034988',function(err,data){
    if(!err){
        //todo 
        {
            bankName:"中国工商银行",
            bankCode:"ICBC",
            cardType:"DC",
            cardTypeName:"储蓄卡"
        }
    }
})
// promise 方式调用, 2.0.0 及以上版本支持
BIN.getBankBin('6227003320240034988')
    .then(function (data) {

    })
    .catch(function (err) {

    })

0.3.3版本以下API(存在并发请求的Bug,建议升级到1.0.0+)

getBankInfoByCardNoAsync

传入卡号,异步返回。只返回一个参数,当非空时,表示获取卡bin信息成功(非标准API)

var BIN = require('bankcardinfo');
BIN.getBankInfoByCardNoAsync('6227003320240034988',function(data){
    if(data){
        //todo 
        //data 
    }
})

getBankInfoByCardNo

传入卡号,同步返回。当返回值非空时,表示获取卡bin信息成功

var BIN = require('bankcardinfo');
var binData = BIN.getBankInfoByCardNo('6227003320240034988');
if(binData){
    //todo
}

小结

  1. 优先使用系统自带的获取卡bin信息(2013年国内银行卡集)
  2. 当系统自带的规则获取不到卡bin时,会调用支付宝的接口来获取,测试地址
  3. 支持AMD & CMD
  4. 可在browser端使用,直接引入index.js文件,建议在服务端使用。

未来

由于模块自带的卡bin获取规则是2013年全国银行的卡集合,所以卡规则需要不断完善。可在模块中收集用户新卡规则,但是会涉及用户隐私及安全问题,及时收集,也只会收集部分够认证的卡位即可。