场景

之前做添加大陆银行卡时有接入过第三方的银行卡三要素认证方法(三要素:姓名、身份证号、银行卡号),这可以校验用户绑定的银行卡是否是与证件号一致的卡。但在此之前,还需要做一个卡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

【工具】支付宝免费卡校验接口调用及常用银行简称整理相关推荐

  1. php充值代码,基于php的加油卡充值接口调用代码实例

    搜索热词 下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 代码描述:基于PHP的加油卡充值接口调用代码实例 关联数据:加油卡充值 接口地址 ...

  2. 编写python手机充值代码_基于Python的天聚人合加油卡充值接口调用代码实例

    一.接口申请开通 本代码是基于天聚人合的话费充值API实现的话费充值功能,使用前需要: 通过https://www.tianjurenhe.com/docs/api/?id=1申请开通话费接口服务. ...

  3. 加油卡 格式判断 java_[代码全屏查看]-基于JAVA的加油卡充值接口调用代码实例...

    [1].[代码] [Java]代码 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOE ...

  4. 支付宝手机网页支付接口调用

    1.前期工作 1.1 登陆支付宝官网 网址:https://www.alipay.com/ 1.2 下载手机网站支付的demo的步骤 1.2.1 先点击API,选择手机网站支付模块点击 1.2.2 点 ...

  5. Android与H5相互接口调用及Android端接口整理

    近几年随着HTML5的功能越来越强大,H5页面的性能虽然稍差,单其灵活性很高,更新页面成本比原生小很多,一个页面可以被android和ios同时使用开发成本也比较低,所以移动端的开发已经不是单单的原生 ...

  6. Android+Java中使用RSA加密实现接口调用时的校验功能

    场景 RSA加密 RSA算法是一种非对称加密算法,那么何为非对称加密算法呢? 一般我们理解上的加密是这样子进行的:原文经过了一把钥匙(密钥)加密后变成了密文,然后将密文传递给接收方,接收方再用这把钥匙 ...

  7. 调用接口返回500_公交卡余额查询接口开放使用啦!

    API说明 本API返回数据仅支持JSON格式且会对中文进 行unicode 编码,JSON格式返回数据基本格式如下: { "errCode": 0, "errMsg&q ...

  8. 支付宝支付之“单笔转账到支付宝账户接口”的调用(生成签名、上传应用公钥、下载SDK、接口调用、报错自动排查、查看错误码)

    支付宝接口调用 "单笔转账到支付宝账户"的接口调用,一般涉及到下面几个知识点 1.生成签名 在使用支付宝接口的时候,需要使用支付宝的签名,这里需要使用支付宝的RSA生成工具. 关于 ...

  9. 支付宝支付接口调用实现支付功能

    支付宝支付接口调用实现支付功能 支付宝支付 (沙箱版) 1.进入支付宝开发者平台(https://open.alipay.com/platform/home.htm) 2.进入沙箱研发服用应用 3.设 ...

  10. 支付宝接口 java_JAVA调用支付宝的直充接口

    [java]代码库JAVA调用支付宝的直充接口原理和银联接口一样,当商家和支付宝签好协议后就可以问支付宝的人要相关的代码了. 我本地用的是支付宝UTF-8编码的代码,先把util里的东西达成一个ali ...

最新文章

  1. netty源码分析服务器启动 NioEventLoop创建
  2. python最小值函数_Python3 min() 函数详解 获取多个参数或列表中的最小值
  3. OpenCV:简单计算曲线弧度-弓形弧度
  4. Java接口能不能有静态方法_接口可以在Java中使用静态方法吗?
  5. 浪迹天涯的骨灰级开源爱好者——对话阿里云MVP吴晟
  6. 代码大全(第二版)笔记——高质量的子程序
  7. git学习(四)比较文件差异diff
  8. [转]使用SCOM 2012监控网络
  9. linux操作系统备份及恢复,备份Linux操作系统的几种方法
  10. nginx+iis、NLB、Web Farm、Web Garden、ARR
  11. 天线SMA处抗静电保护收发开关
  12. 使用Pano2VR实现客厅VR效果
  13. Java 压缩ZIP包后 压缩包内文件名乱码问题解决
  14. 【PDF】java使用Itext生成pdf文档--详解
  15. 【应用实例】单片机PM2.5空气监测仪--攀藤G5激光PM2.5传感器
  16. TLC2543和TLV5614的STM32程序
  17. 【随机过程】作业 5 布朗Brown运动
  18. HDFS——JN扩容的正确姿势
  19. 网站命名规范大全:CSS规范便于交流
  20. 星光不问赶路人!武汉校区小姐姐三个月成功转行软件测试,收获9k+13薪!

热门文章

  1. [数据仓库]基础理论笔记
  2. ISCC2021-WP合集
  3. SQLyog——下载2058问题
  4. win10 nas搭建_零成本搭建一个私人影视库,没有NAS一样可以把观影姿势做到完美...
  5. python批量查询ip归属地_利用python实现批量查询ip地址归属地址
  6. Eclipse - Open Declaration
  7. 台达A2/B2伺服电机编码器改功率软件 台达A2/B2伺服电机编码修改, 用于更换编码器写匹配电机参数
  8. 系统架构设计师教程-学习-记录(29)系统开发基础知识-软件开发方法(5)软件系统工具
  9. CXF WebService视频教程,自己录的(更新第7集 异步调用 2009.1.15)。
  10. 学习笔记:SSH端口转发的三种方式