【工具】支付宝免费卡校验接口调用及常用银行简称整理
场景
之前做添加大陆银行卡时有接入过第三方的银行卡三要素认证方法(三要素:姓名、身份证号、银行卡号),这可以校验用户绑定的银行卡是否是与证件号一致的卡。但在此之前,还需要做一个卡bin校验,以便区分银行卡的性质,比如是储蓄卡还是信用卡、是哪个银行的卡, 不巧的是第三方没有提供卡bin方法,所以直接用支付宝免费的卡bin校验方法。
<?php
/***** User: 原子酱* Date: 2019/9/17* Time: 14:27*/use GuzzleHttp\Client;require_once '../vendor/autoload.php';// 银行卡号前缀
$head = [
// '625810','620302','622840','621215','622700','622258','622615','622909','622660','622989','621771','621030','622580','690755','62215049','622500','622630',
];$host = 'https://ccdcapi.alipay.com/validateAndCacheCardInfo.json';
$client = new Client();$content = [];
foreach ($head as $value) {$lenth = 16;do {$bankNo = str_pad($value, $lenth, 0, STR_PAD_RIGHT);$getUrl = $host . "?cardBinCheck=true&cardNo=$bankNo";$response = $client->request('GET', $getUrl);$response = $response->getBody()->getContents();$result = json_decode(trim(strval($response)), true);$lenth++;} while (!isset($result['bank']) || $lenth > 20);$content[] = ['head' => $value,'abbr' => $result['bank'],'lenth' => $lenth,];
}var_dump($content);
以上方法是为了得出常用银行简称对应关系,因为大部分银行卡号都有自己的规律,且为了用户信息安全起见,在调用卡bin校验接口时不需要把卡号传过去,补0也是可以得出结果。我在项目中是直接截掉10位再补0的:
substr_replace($bankNo, ‘0000000000’, -10)
接口调用时间大概是0.1s~0.2s之间,还是比较快的。
银行名称 | 各银行开头 | 卡bin接口返回的银行简称 |
---|---|---|
工商银行 | 620302 | ICBC |
农业银行 | 622840 | ABC |
中国银行 | 621215 | BOC |
建设银行 | 622700 | CCB |
交通银行 | 622258 | COMM |
民生银行 | 622615 | CMBC |
兴业银行 | 622909 | CIB |
光大银行 | 622660 | CEB |
平安银行 | 622989 | SPABANK |
中信银行 | 621771 | CITIC |
北京银行 | 621030 | BJBANK |
广发银行 | 622580 | GDB |
招商银行 | 690755 | CMB |
邮储银行 | 62215049 | PSBC |
浦发银行 | 622500 | SPDB |
华夏银行 | 622630 | HXBANK |
【工具】支付宝免费卡校验接口调用及常用银行简称整理相关推荐
- php充值代码,基于php的加油卡充值接口调用代码实例
搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 代码描述:基于PHP的加油卡充值接口调用代码实例 关联数据:加油卡充值 接口地址 ...
- 编写python手机充值代码_基于Python的天聚人合加油卡充值接口调用代码实例
一.接口申请开通 本代码是基于天聚人合的话费充值API实现的话费充值功能,使用前需要: 通过https://www.tianjurenhe.com/docs/api/?id=1申请开通话费接口服务. ...
- 加油卡 格式判断 java_[代码全屏查看]-基于JAVA的加油卡充值接口调用代码实例...
[1].[代码] [Java]代码 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOE ...
- 支付宝手机网页支付接口调用
1.前期工作 1.1 登陆支付宝官网 网址:https://www.alipay.com/ 1.2 下载手机网站支付的demo的步骤 1.2.1 先点击API,选择手机网站支付模块点击 1.2.2 点 ...
- Android与H5相互接口调用及Android端接口整理
近几年随着HTML5的功能越来越强大,H5页面的性能虽然稍差,单其灵活性很高,更新页面成本比原生小很多,一个页面可以被android和ios同时使用开发成本也比较低,所以移动端的开发已经不是单单的原生 ...
- Android+Java中使用RSA加密实现接口调用时的校验功能
场景 RSA加密 RSA算法是一种非对称加密算法,那么何为非对称加密算法呢? 一般我们理解上的加密是这样子进行的:原文经过了一把钥匙(密钥)加密后变成了密文,然后将密文传递给接收方,接收方再用这把钥匙 ...
- 调用接口返回500_公交卡余额查询接口开放使用啦!
API说明 本API返回数据仅支持JSON格式且会对中文进 行unicode 编码,JSON格式返回数据基本格式如下: { "errCode": 0, "errMsg&q ...
- 支付宝支付之“单笔转账到支付宝账户接口”的调用(生成签名、上传应用公钥、下载SDK、接口调用、报错自动排查、查看错误码)
支付宝接口调用 "单笔转账到支付宝账户"的接口调用,一般涉及到下面几个知识点 1.生成签名 在使用支付宝接口的时候,需要使用支付宝的签名,这里需要使用支付宝的RSA生成工具. 关于 ...
- 支付宝支付接口调用实现支付功能
支付宝支付接口调用实现支付功能 支付宝支付 (沙箱版) 1.进入支付宝开发者平台(https://open.alipay.com/platform/home.htm) 2.进入沙箱研发服用应用 3.设 ...
- 支付宝接口 java_JAVA调用支付宝的直充接口
[java]代码库JAVA调用支付宝的直充接口原理和银联接口一样,当商家和支付宝签好协议后就可以问支付宝的人要相关的代码了. 我本地用的是支付宝UTF-8编码的代码,先把util里的东西达成一个ali ...
最新文章
- netty源码分析服务器启动 NioEventLoop创建
- python最小值函数_Python3 min() 函数详解 获取多个参数或列表中的最小值
- OpenCV:简单计算曲线弧度-弓形弧度
- Java接口能不能有静态方法_接口可以在Java中使用静态方法吗?
- 浪迹天涯的骨灰级开源爱好者——对话阿里云MVP吴晟
- 代码大全(第二版)笔记——高质量的子程序
- git学习(四)比较文件差异diff
- [转]使用SCOM 2012监控网络
- linux操作系统备份及恢复,备份Linux操作系统的几种方法
- nginx+iis、NLB、Web Farm、Web Garden、ARR
- 天线SMA处抗静电保护收发开关
- 使用Pano2VR实现客厅VR效果
- Java 压缩ZIP包后 压缩包内文件名乱码问题解决
- 【PDF】java使用Itext生成pdf文档--详解
- 【应用实例】单片机PM2.5空气监测仪--攀藤G5激光PM2.5传感器
- TLC2543和TLV5614的STM32程序
- 【随机过程】作业 5 布朗Brown运动
- HDFS——JN扩容的正确姿势
- 网站命名规范大全:CSS规范便于交流
- 星光不问赶路人!武汉校区小姐姐三个月成功转行软件测试,收获9k+13薪!
热门文章
- [数据仓库]基础理论笔记
- ISCC2021-WP合集
- SQLyog——下载2058问题
- win10 nas搭建_零成本搭建一个私人影视库,没有NAS一样可以把观影姿势做到完美...
- python批量查询ip归属地_利用python实现批量查询ip地址归属地址
- Eclipse - Open Declaration
- 台达A2/B2伺服电机编码器改功率软件 台达A2/B2伺服电机编码修改, 用于更换编码器写匹配电机参数
- 系统架构设计师教程-学习-记录(29)系统开发基础知识-软件开发方法(5)软件系统工具
- CXF WebService视频教程,自己录的(更新第7集 异步调用 2009.1.15)。
- 学习笔记:SSH端口转发的三种方式