银行卡Bin和Logo

通过银行编码查询银行Logo

获取方式

银行Logo图片 API

https://apimg.alipay.com/combo.png?d=cashier&t=*银行代码*

多个银行代码可用半角逗号隔开,生成sprite图片。

例子:

https://apimg.alipay.com/combo.png?d=cashier&t=ABC 会生成农业银行的logo图片。

银行Logo透明 API

https://banklogo.yfb.now.sh/resource/logo/ABC.png 会生成农业银行的logo图片。

https://yangfubing.gitee.io/bank.logo/resource/logo/ABC.png 会生成农业银行的logo图片。

js 获取银行Logo透明Url

import bankcdoe from "resource/bankcode.json"
//农业银行的logo
let logourl=bankcode["ABC"].logo

https://s2.ax1x.com/2019/10/25/KdyWl9.png 会生成农业银行的logo图片。

银行卡Bin

安装

 npm install chinabankbin

###返回结果

validated 为true时,验证成功

{
    cardNo:"6217003810020275930"
    data: {
        cardType: "DC",
        cardTypeName: "储蓄卡",
        bankName: "中国建设银行",
        bankCode: "CCB"
    }
    validated:true
    msg:"匹配成功"
}

使用方式 new BankBin(cardNo,options)

成功获取银行卡信息后,返回一个对象.

promise.then方式调用

    import BankBin from 'bankbin';

    new BankBin(6217003810020275930).then(function(res){
            console.log(res)
    },function(res){
        console.log('验证失败')
    });

async/await方式调用

    import BankBin from 'bankbin';

    try{
        const res = await new BankBin(6217003810020275930);
        console.log(res)
    } catch (e){
        console.log('验证失败')
    }

options 参数

{
    async : false,              //默认false,  是否在内置银行卡信息中查询失败后,调用支付宝开放式银行卡查询API。
    timeout : 10000             //默认10000,  async参数为true时,生效.  API调用超时时间
}

//例:
try{
    const res = await new BankBin(6217003810020275930, { async : true });
    console.log(res)
} catch (e){
    console.log('验证失败')
}

小结

  1. 优先使用内置的银行卡信息库进行规则匹配,当前内置123个银行信息,能满足国内众多银行卡信息识别。银行卡信息库更新于(2019-08)
  2. 当系统自带的规则获取不到卡bin时,会调用支付宝的接口来获取,测试地址
  3. 支持 es6 import

银行代码

原文地址:https://www.cnblogs.com/burningmyself/p/12100719.html