# bankcardinfo

> 'query bankcard infomation by bankcard NO.'

Latest version **2.0.6** (published 2020-05-25) · ISC license · 0 weekly downloads

## Install

```sh
npm install bankcardinfo
pnpm add bankcardinfo
yarn add bankcardinfo
bun add bankcardinfo
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 2.0.6 |
| Published | 2020-05-25 |
| First published | 2015-04-20 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 55.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 589 |
| Author | navyxie |
| Maintainers | navyxie |
| Keywords | bankcard, bankname, bankinfo, 银行卡, 银行名字, 根据银行卡号查询银行信息, 银行卡bin, 查询 |

## Links

- npm: https://www.npmjs.com/package/bankcardinfo
- Repository: https://github.com/navyxie/bankcardinfo
- Issues: https://github.com/navyxie/bankcardinfo/issues
- npm.io page: https://npm.io/package/bankcardinfo

## Dependencies (1)

- [bluebird](https://npm.io/package/bluebird.md) ^3.4.1

## Recent versions

- 2.0.6 (latest) — 2020-05-25
- 0.3.1 (0.3.1) — 2015-07-15
- 0.3.0 (0.3.0) — 2015-07-15
- 0.2.0 (0.2.0) — 2015-05-21
- 0.1.0 (0.1.0) — 2015-05-19
- 0.0.6 (0.0.6) — 2015-05-14
- 0.0.5 (0.05) — 2015-05-10
- 0.0.4 (0.0.4) — 2015-04-20
- 2.0.5 — 2019-01-05
- 2.0.4 — 2018-04-20
- 2.0.3 — 2017-05-18
- 2.0.2 — 2017-05-18
- 2.0.1 — 2017-03-14
- 2.0.0 — 2017-03-14
- 1.0.2 — 2016-12-22
- … 3 more at https://npm.io/package/bankcardinfo/versions

## README

# 通过银行卡号查询银行类型和银行卡类型

[![Build Status via Travis CI](https://travis-ci.org/navyxie/bankcardinfo.svg?branch=master)](https://travis-ci.org/navyxie/store-ttl) [![Coverage Status](https://coveralls.io/repos/github/navyxie/bankcardinfo/badge.svg?branch=master)](https://coveralls.io/github/navyxie/store-ttl?branch=master) [![NPM version](https://badge.fury.io/js/bankcardinfo.png)](http://badge.fury.io/js/bankcardinfo)

**建议升级使用1.0.0+的版本，该版本不向下兼容，即不再支持getBankInfoByCardNoAsync，getBankInfoByCardNo这两个API，旧版本用户请升级并使用 getBankBin API替换**

*2.0.0版本开始支持promise写法*

## npm install bankcardinfo

### 成功获取卡bin信息时，返回值为json对象

```js
{
	bankName:"中国工商银行",
	bankCode:"ICBC",
	cardType:"DC",
	cardTypeName:"储蓄卡"
}
```

### API

- [getBankBin](#getBankBin)

<a name="getBankBin" />

## getBankBin

### 传入卡号，异步返回。当第一个参数为空时，表示获取卡bin信息成功(标准API)
```js
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+)

- [getBankBin](#getBankBin)
- [getBankInfoByCardNoAsync](#getBankInfoByCardNoAsync)
- [getBankInfoByCardNo](#getBankInfoByCardNo)

<a name="getBankInfoByCardNoAsync" />

## getBankInfoByCardNoAsync

### 传入卡号，异步返回。只返回一个参数，当非空时，表示获取卡bin信息成功(非标准API)
```js
var BIN = require('bankcardinfo');
BIN.getBankInfoByCardNoAsync('6227003320240034988',function(data){
	if(data){
		//todo 
		//data 
	}
})
```

<a name="getBankInfoByCardNo" />

## getBankInfoByCardNo

### 传入卡号，同步返回。当返回值非空时，表示获取卡bin信息成功
```js
var BIN = require('bankcardinfo');
var binData = BIN.getBankInfoByCardNo('6227003320240034988');
if(binData){
	//todo
}
```

## 小结

1. 优先使用系统自带的获取卡bin信息（2013年国内银行卡集）
2. 当系统自带的规则获取不到卡bin时，会调用支付宝的接口来获取，[测试地址](https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=6227003320232234322&cardBinCheck=true)
3. 支持AMD & CMD
4. 可在browser端使用，直接引入[index.js](https://github.com/navyxie/bankcardinfo/blob/master/index.js)文件,建议在服务端使用。

## 未来

由于模块自带的卡bin获取规则是2013年全国银行的卡集合，所以卡规则需要不断完善。可在模块中收集用户新卡规则，但是会涉及用户隐私及安全问题，及时收集，也只会收集部分够认证的卡位即可。

---
_Source: https://npm.io/package/bankcardinfo · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
