1、银行卡号API请求地址:

https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardNo=输入待校验的银行卡号&cardBinCheck=true

请求参数

字段    说明
cardNo    银行卡号
cardBinCheck    是否校验支付宝已绑此卡
_input_charset    编码格式

2.返回的参数

{"bank":"GDB",//所属行简写"validated":true,"cardType":"DC", "key":"","messages":[],"stat":"ok"
}

3、银行LOGO API
必须使用支付宝内置的银行代码才能获得正确结果,见银行代码
接口中必须将银行代码全部大写
请求地址及参数

https://apimg.alipay.com/combo.png?d=cashier&t=ICBC
请求方式 响应说明
浏览器 直接显示银行LOGO,代码不存在则显示空白背景
HTTP 响应文件输入流,直接读取输入流存入磁盘即可

4.开户行以及对应code如下:

<?phpnamespace App\Models\Repository;use App\Core\EloquentRepository;
use App\Models\MemberBankCard;
use Illuminate\Support\Facades\Validator;class MemberBankCardRepository extends EloquentRepository
{protected $model;public function __construct(MemberBankCard $model){$this->model = $model;}public function getInfoById($id){return $this->model->find($id);}public function getInfoByMemberId($member_id){return $this->model->where('member_id', $member_id)->get();}public function store($data, $id = false){if ($id == false) {$ret = $this->add($data);} else {$ret = $this->buildWhere(['id' => $id])->update($data);}return $ret;}public function getMemberBankCardInfoFirst($where = []){return $this->model->where($where)->first();}/*** 发起网络请求函数* @param string $url 请求的URL* @param bool $params 请求的参数内容* @param int $ispost 是否POST请求* @return bool|string 返回内容*/function juheHttpRequest($url, $params = false, $ispost = 0){$httpInfo = [];$ch = curl_init();curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);curl_setopt($ch, CURLOPT_USERAGENT, 'JUHE API');curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);curl_setopt($ch, CURLOPT_TIMEOUT, 12);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);if ($ispost) {curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $params);curl_setopt($ch, CURLOPT_URL, $url);} else {if ($params) {curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);} else {curl_setopt($ch, CURLOPT_URL, $url);}}$response = curl_exec($ch);if ($response === FALSE) {// echo "cURL Error: ".curl_error($ch);return false;}$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);$httpInfo = array_merge($httpInfo, curl_getinfo($ch));curl_close($ch);return $response;}/*** 银行开户行以及对应code* @return string[]*/public function bankMap(){return $bank_map = ["BOC" => "中国银行","ABC" => "中国农业银行","ICBC" => "中国工商银行","CCB" => "中国建设银行","PSBC" => "中国邮政储蓄银行","CMBC" => "中国民生银行","CEB" => "中国光大银行","CMB" => "招商银行","COMM" => "交通银行","CITIC" => "中信银行","CIB" => "兴业银行","SPDB" => "浦发银行","GDB" => "广发银行","SPABANK" => "平安银行","HXBANK" => "华夏银行","CEB" => "中国光大银行","HKBEA" => "东亚银行","GDB" => "广发银行","EGBANK" => "恒丰银行","BJBANK" => "北京银行","BJRCB" => "北京农商行","SHBANK" => "上海银行","SHRCB" => "上海农商银行","FBBANK" => "富邦华一银行","SPDB" => "浦发银行","JSRCU" => "江苏省农村信用社联合社","JSBANK" => "江苏银行","CSRCB" => "常熟农商银行","CZRCB" => "江南农村商业银行","JRCB" => "江苏江阴农村商业银行","NJCB" => "南京银行","WRCB" => "无锡农村商业银行","BOSZ" => "苏州银行","ZRCBANK" => "张家港农村商业银行","WJRCB" => "吴江农村商业银行","KSRB" => "昆山农村商业银行","CJCCB" => "江苏长江商业银行","TCRCB" => "江苏太仓农村商业银行","DZBANK" => "德州银行","ZZYH" => "枣庄银行","YTBANK" => "烟台银行","JNBANK" => "济宁银行","DYCCB" => "东营银行","BOSH" => "新韩银行","WHCCB" => "威海市商业银行","SDRCU" => "山东省农村信用社联合社","BANKWF" => "潍坊银行","LSBANK" => "莱商银行","TACCB" => "泰安银行","RZB" => "日照银行","ZBCB" => "齐商银行","QDCCB" => "青岛银行","LSBC" => "临商银行","HANABANK" => "韩亚银行","DLB" => "大连银行","DLRCB" => "大连农村商业银行","HLDB" => "葫芦岛银行","ASCB" => "鞍山银行","BOCY" => "朝阳银行","FXCB" => "阜新银行","BOJZ" => "锦州银行","LYCB" => "辽阳银行","LNRCC" => "辽宁省农村信用社","BOYK" => "营口银行","YKYHCCB" => "营口沿海银行","SJBANK" => "盛京银行","JHBANK" => "金华银行","JXBANK" => "嘉兴银行","HZCB" => "杭州银行","NBBANK" => "宁波银行","NBCBANK" => "宁波通商银行","ZJTLCB" => "浙江泰隆商业银行","ZJNX" => "浙江省农村信用社联合社","CZCB" => "浙江稠州商业银行","MTBANK" => "浙江民泰商业银行","CZBANK" => "浙商银行","ANTBANK" => "网商银行","WZCB" => "温州银行","SXCB" => "绍兴银行","HZCCB" => "湖州银行","NBYZ" => "宁波鄞州农商行","TZCB" => "台州银行","NYBANK" => "广东南粤银行","GDRCC" => "广东省农村信用社联合社","GCB" => "广州银行","GHB" => "广东华兴银行","BOD" => "东莞银行","SRCB" => "深圳农村商业银行","DRCBCL" => "东莞农村商业银行","RBOZ" => "珠海华润银行","YZBANK" => "银座村镇银行","KJCZYH" => "梅县客家村镇银行","WOORI" => "友利银行","SDEB" => "顺德农商银行","QLBANK" => "齐鲁银行","NHB" => "南海农商银行","GRCB" => "广州农村商业银行","GDB" => "广东发展银行","SDB" => "深圳发展银行","HSBK" => "衡水市商业银行","BHB" => "河北银行","HBRCU" => "河北省农村信用社","BDCBANK" => "保定银行","BOCD" => "承德银行","BOCZ" => "沧州银行","LANGFB" => "廊坊银行","ZJKCCB" => "张家口银行","XTB" => "邢台银行","HDBANK" => "邯郸银行","SCRCU" => "四川省农村信用社联合社","CDCB" => "成都银行","CDRCB" => "成都农商银行","LSCCB" => "乐山市商业银行","LUZBANK" => "泸州市商业银行","SNCCB" => "遂宁银行","CGNB" => "四川天府银行","PZHCCB" => "攀枝花市商业银行","ZGCCB" => "自贡银行","YBCCB" => "宜宾市商业银行","DYCB" => "长城华西银行","MYBANK" => "绵阳市商业银行","SXRCCU" => "陕西省农信社","XABANK" => "西安银行","HKB" => "汉口银行","CABANK" => "长安银行","SXRCU" => "山西省农村信用社","JINCHB" => "晋城银行","YDNSCZYH" => "尧都农商银行村镇银行","JZBANK" => "晋中银行","JSB" => "晋商银行","HNRCU" => "河南省农村信用社","BOP" => "平顶山银行","ZYB" => "中原银行","LHBANK" => "漯河银行","ZZBANK" => "郑州银行","BNY" => "南阳市商业银行","HBC" => "湖北银行","HURCB" => "湖北省农信社","WHRCB" => "武汉农村商业银行","BOCFCB" => "中银富登村镇银行","WHBANK" => "乌海银行","H3CB" => "内蒙古银行","NMGNXS" => "内蒙古农村信用社联合社","BSB" => "包商银行","TCCB" => "天津银行","TJBHB" => "天津滨海农村商业银行","TRCB" => "天津农商银行","BOHAIB" => "渤海银行","HRXJB" => "华融湘江银行","HNRCC" => "湖南省农村信用社","HSCZB" => "湖商村镇银行","CSCB" => "长沙银行","GLBANK" => "桂林银行","BGB" => "广西北部湾银行","GXRCU" => "广西壮族自治区农村信用社联合社","LZCCB" => "柳州银行","HLJRCU" => "黑龙江省农村信用社联合社","DAQINGB" => "龙江银行","HRBANK" => "哈尔滨银行","LYRTCZYH" => "长春绿园融泰村镇银行","CCHRCZYH" => "长春朝阳和润村镇银行","JKRFCZYH" => "长春经开融丰村镇银行","JLRCU" => "吉林省农村信用社联合社","JLBANK" => "吉林银行","JXRCU" => "江西省农村信用社","JJBANK" => "九江银行","NCB" => "江西银行","GZB" => "赣州银行","SRBANK" => "上饶银行","CCQTGB" => "重庆三峡银行","CQBANK" => "重庆银行","CRCBANK" => "重庆农村商业银行","LZYH" => "兰州银行","URB" => "联合村镇银行","GSBANK" => "甘肃银行","GSRCU" => "甘肃省农村信用社","BOL" => "洛阳银行","JZCBANK" => "焦作中旅银行","YNRCC" => "云南省农村信用社","YXCCB" => "云南红塔银行","QJCCB" => "曲靖市商业银行","FDB" => "富滇银行","XIB" => "厦门国际银行","XMBANK" => "厦门银行","BOQZ" => "泉州银行","FJNX" => "福建省农村信用社联合社","FJHXBC" => "福建海峡银行","XJRCU" => "新疆农村信用社","URMQCCB" => "乌鲁木齐银行","KLB" => "昆仑银行","BOQH" => "青海银行","QHRC" => "青海省农村信用社","NXRCU" => "宁夏黄河农村商业银行","SZSBK" => "石嘴山银行","NXBANK" => "宁夏银行","ARCU" => "安徽省农村信用社","HSBANK" => "徽商银行","BOHN" => "海南省农村信用社","UBCHN" => "海口联合农商银行","ZYCBANK" => "贵州银行","GYCB" => "贵阳银行","GZRCU" => "贵州省农村信用社联合社"];}}

5.laravel实现代码

/*** 根据卡号识别开户行* @param Request $request* @return mixed* @throws \App\Libs\Baodao\Core\Exceptions\HttpException*/public function getBankUrl($card_no){// 银行卡号查询开户行$url = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json";$result = $this->get($url,['_input_charset' => 'utf-8','cardBinCheck' => 'true','cardNo' => $card_no], []);$result = $this->parseJSON($result->getBody()->getContents());return $result;}/*** 根据卡号识别开户行*/public function get_bank_nameOp(){$card_no = $_POST['card_no'];if (empty($card_no)) {output_error('银行卡号不允许为空');}$repository = app(MemberBankCardRepository::class);// 银行开户行以及对应code$bank_map = $repository->bankMap();$result = $this->getBankUrl($card_no);if ($result['validated'] == true) {output_data(['bank' => $bank_map[$result['bank']]]);} else {output_error('银行卡号错误或者带有空格,导致未能识别');}}

laravel实现-阿里接口根据银行卡号查询银行名相关推荐

  1. vue 通过银行卡号查询银行类型和银行卡类型

    一.说明 1. 成功获取卡信息是,返回值为json对象 { bankName:"中国工商银行", bankCode:"ICBC", cardType:" ...

  2. 使用阿里接口查询IP归属地

    第一步:购买接口https://www.aliyun.com/ss/?k=%E5%85%A8%E7%90%83IP%E5%BD%92%E5%B1%9E%E5%9C%B0%E6%9F%A5%E8%AF% ...

  3. 调用阿里接口获取银行卡信息

    调用阿里接口获取银行卡信息 直接上代码 // An highlighted block import com.alibaba.fastjson.JSONObject;import java.io.Bu ...

  4. 支付宝-API接口解析-转账到银行

    支付宝-API接口解析-转账到银行 扫码转账 测试地址 解析内容: alipays://platformapi/startapp?appId=09999988&actionType=toCar ...

  5. php接口返回错误码,laravel 错误处理,接口错误返回json代码

    Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户. 所有异常都由类App\Exceptions\Handler ...

  6. (2)hibernate HQL命名查询和Query接口的分页查询

    一  hql命名查询 hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的 ...

  7. java接口课程_用java定义一个接口,用于查询课程

    定义一个类Stu,包括如下属性:学号.姓名.性别.专业.课程,实现以下方法:每个属性的获取和定义,要求至少包含一个构造函数.定义一个接口类,定义方法qcc()用来查询课程.编写一... 定义一个类 S ...

  8. 适合新手学习的laravel接入微信接口,实现微信公众号二次开发

    2019独角兽企业重金招聘Python工程师标准>>> 最近使用laravel做微信公众号二次开发,发现网上能够参考的资料基本上很少,很多地方都讲的不够详细,致使许多新手采坑无数,所 ...

  9. Laravel同时接收路由参数和查询字符串中的参数

    Laravel捕捉路由参数 Laravel允许在controller方法中捕捉路由里定义的参数,如下所示: 路由中定义参数: Route::get('post/{id}', 'PostControll ...

  10. 使用laravel开发微信公众的一个大坑,适合新手学习的laravel接入微信接口

    最近使用laravel做微信公众号二次开发,发现网上能够参考的资料基本上很少,很多地方都讲的不够详细,致使许多新手采坑无数,所以这篇文章讲一下如何使用laravel接入微信接口,实现微信公众号二次开发 ...

最新文章

  1. MongoDB使用入门
  2. L1-041 寻找250
  3. 某站点下载资源自己主动评论器
  4. 做程序员的纠结在哪里
  5. 默纳克系统服务器怎么看抱闸,默纳克抱闸制动力检测怎么关闭
  6. java 源树_【Java源码】树-概述
  7. 为什么自动挡的挡位顺序都是P、R、N、D?
  8. 【笔试/面试】—— 奇葩 C/C++ 语法题
  9. 数组对象 按某个属性排序
  10. .NET/CLI元数据中使用的压缩整数
  11. 非参数统计单样本非参数检验之符号检验
  12. 软件测试面试题:设计系统测试计划需要参考的项目文档?
  13. jeston nano bo1卡槽坏了,不能锁住tf卡,维修方法
  14. 数学基础篇 有理数(一)
  15. Vue脚手架安装详解
  16. 什么东西可以提高睡眠质量、这五款助眠好物助你摆脱困扰
  17. 树的最大连通分支问题
  18. Rosalind Java| Computing GC Content
  19. oracle 访问日志ip,怎么从访问日志中把ip提取出来
  20. linux下查看文件编码

热门文章

  1. 如何把视频转换成mp3格式
  2. 如何访问一个互联网上的xap文件
  3. 关闭 Eureka 的自我保护机制
  4. matlab legend颜色不变,关于MATLAB画图中legend标注曲线颜色不匹配问题
  5. 一个函数叫random.sample
  6. 百度面试题--度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同,度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?
  7. 计算机单片机考试作弊检讨书,考试作弊检讨书(精选5篇)
  8. JavaScript数组map方法
  9. 狗熊掰棒子之重拾棒子之JavaScript篇
  10. unity3D 音效的设置 音效的开关 制作声音的开关按钮