最近业务需求,需要做一个建行支付,其中分为主扫和被扫,主扫相对简单;
完整建行支付
建行被扫支付:https://blog.csdn.net/weixin_42674576/article/details/122380110?spm=1001.2014.3001.5501
被扫支付查单:https://blog.csdn.net/weixin_42674576/article/details/122380365?spm=1001.2014.3001.5501
退款:https://blog.csdn.net/weixin_42674576/article/details/122428305

首先是配置一下主扫,这里仅将必须参数配置

<?php
return ['bankUrl' => 'https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain',//主扫'pay' => ['CCB_IBSVersion' => 'V6','MERCHANTID'     => '105910100002105',    //商户代码'POSID'          => '662222818',          //商户柜台代码'BRANCHID'       => '441000000',          //分行代码'CURCODE'        => '01',                 //币种'TXCODE'         => '530550',             //交易码'PUB'            => '3d23ac1f0390bd82bf3fc69d020111',  //柜台的公钥后30位//其他非必须参数,根据需求配置'RETURNTYPE'     => '2',   //0 或空:返回二维码页面,只支持建行龙支付;1:返回 JSON 格式【二维码信息串】,只支持建行龙支付;2:返回聚合扫码二维码页面;3:返回聚合扫码 JSON格式【二维码信息串】聚合扫码只能上送 2 或 3,4:返回聚合银联二维码信息串]
];

然后,主扫服务接口

    public function pay($input){$bankUrl = config('ccb.bankUrl');$param = config('ccb.pay');$timeout = date("YmdHis",strtotime("+600 seconds"));$data['CCB_IBSVersion'] = $param['CCB_IBSVersion'];$data['MERCHANTID']     = $param['MERCHANTID'];$data['POSID']          = $param['POSID'];$data['BRANCHID']       = $param['BRANCHID'];$data['ORDERID']        = $input['ORDERID'];$data['PAYMENT']        = $input['PAYMENT'];$data['CURCODE']        = $param['CURCODE'];$data['REMARK1']        = '';$data['REMARK2']        = '';$data['TXCODE']         = $param['TXCODE'];$data['RETURNTYPE']     = $param['RETURNTYPE'];$data['TIMEOUT']        = $timeout;$data['PUB']            = $param['PUB'];//MAC 校验域$mac  = 'MERCHANTID='.$param['MERCHANTID'];$mac .= '&POSID='.$param['POSID'];$mac .= '&BRANCHID='.$param['BRANCHID'];$mac .= '&ORDERID='.$input['ORDERID'];$mac .= '&PAYMENT='.$input['PAYMENT'];$mac .= '&CURCODE='.$param['CURCODE'];$mac .= '&TXCODE='.$param['TXCODE'];$mac .= '&REMARK1=';$mac .= '&REMARK2=';$mac .= '&RETURNTYPE='.$param['RETURNTYPE'];$mac .= '&TIMEOUT='.$timeout;$mac .= '&PUB='.$param['PUB'];$mac = md5($mac);$data['MAC'] = $mac;$url = $bankUrl.'?'.http_build_query($data);$res = $this->httpRequest($url);return $res;}
    function httpRequest($url = null, $data = null,$post=1){$curl = curl_init();    // curl 初始化设置curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);  // 校验证书节点curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);// 校验证书主机if (!empty($data)) {curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);}else if($post){curl_setopt($curl, CURLOPT_POST, 1);}curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  // 以文件流的形式 把参数返回进来// 执行$res = curl_exec($curl);curl_close($curl);if (json_encode($res) === 'null'){//$res = mb_convert_encoding($res,"GBK","UTF-8");$res = iconv("gb2312","utf-8",$res);}return $res;}

$res 中就能查看到返回的结果

页面展示二维码效果

PHP 之建行龙支付-被扫(商家扫码客户二维码),扫码枪使用:https://blog.csdn.net/weixin_42674576/article/details/122380110?spm=1001.2014.3001.5501

PHP 之建行龙支付-主扫(客户扫码商家二维码),获取二维码信息相关推荐

  1. 微信扫码签到系统asp源码写的,并且获取签到者位置信息入库保存

    不管是工作会议,还是员工活动,每次集会基本都需要签到.传统的纸质签到效率低下,找名字费时,排队费时,更可怕的是好不容易轮到了你,却发现你的名字在隔壁人堆里那张纸上. 此代代码的功能是,集会现场只需贴出 ...

  2. 使用码上登录实现微信扫一扫登录

    微信扫一扫登录测试 码上登录 开发和使用 登录的时序图 准备工作 后台开发 前端显示 码上登录 码上登录是一个小程序,对个体开发者提供了免费的微信扫一扫登录入口,因为微信开发者需要企业认证,没办法在个 ...

  3. 【Java实战】微信Native扫码支付(主扫)开发详解

    文章目录 前言 一.功能实现 1.前置条件 2.代码实现 二.具体步骤 1.直接调用微信接口 2.基于binarywang对接 2.1.引入依赖 2.2.编写配置类 2.3.编写后台方法 总结 前言 ...

  4. SpringBoot工程接入第三方支付渠道支付宝(C扫B支付)

    目录 1.C扫B的概念 2.支付宝接口调研 2.1.产品列表 2.2.线下场所接入支付 3.配置支付宝沙箱环境 3.1.简介 3.2.注册开放平台账号 3.3.配置密钥 3.4.沙箱账号 4.生成二维 ...

  5. 微信支付教程系列之扫码支付

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 (四)微信公众号开发之网页授权获取用户基本信息 (五)微信公众号开发之网页中及 ...

  6. C# 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付 今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添加好友的时候,可以通过输入对方的微 ...

  7. 随即付|蓝牙支付模块,自制扫码付费开关

    扫码付费演示视频:使用蓝牙支付模块,把空气净化器改造成共享的_哔哩哔哩_bilibili 立创开源地址:低成本的蓝牙扫码支付模块 - 嘉立创EDA开源硬件平台 应用领域: ♦ 扫码付费插座 ♦ 洗衣机 ...

  8. 盒子支付APP下载与扫码通M800设置

    第一步:下载盒子支付APP 第2步:登录APP,注册商户 第3步:下载客户端,打开软件,选择扫码通M800,连接好设备. 第4步:下载 佳易王进销存管理或佳易王触摸屏点餐系统,打开软件,将应付款金额和 ...

  9. 2018年移动支付调研报告:扫码碾压NFC 单笔1000元以下占86%

    为全面.深入了解移动支付业务应用现状,准确把握个人用户年龄.收入.学历等基本属性以及使用习惯变化,持续为成员单位提供有价值的调研信息服务,中国支付清算协会移动支付和网络支付应用工作委员会(以下简称&q ...

  10. 支付宝支付-当面付之扫码支付「扫码支付」

    前言 支付宝支付-沙箱环境使用 支付宝支付-支付宝PC端扫码支付 支付宝支付-手机浏览器H5支付 支付宝支付-当面付之扫码支付「本文」 当面付包含两种支付方式:商品条形码支付 + 扫码支付 经过前面两 ...

最新文章

  1. .NET 4.5 基类库中的新增功能
  2. FLASH模仿苹果菜单源码.(AS苹果菜单源码)
  3. java怎么用return代替else_java – 从一个隐含或明确的“else”方法返回,还是用一个“return”语句返回?...
  4. osqa java_从LSM-Tree、COLA-Tree谈到StackOverflow、OSQA(召唤前端)
  5. 使用 SAP Business Application Studio 搭建 CAP Java 开发环境
  6. Clipboard.js实现点击自动复制内容的功能
  7. 拓扑排序---AOV图
  8. python定时模块:apscheduler
  9. Swift 5用Template自动创建VIPER架构代码
  10. SQL十进制和十六进制相互转换
  11. Actran助力汽车全频率段声学响应预测与优化
  12. 那点房事(难以齿口)
  13. matlab-m文件常用积分函数-ode45含有时变参数用法/菜鸟理解4
  14. ros_arduino_bridge功能包集的使用错误及解决方法总结
  15. 数据库的第一范式、第二范式、第三范式,BCNF范式
  16. vs2015官方下载链接
  17. CF - 158B - Taxi
  18. 面试阿里巴巴有多难,看看面经你就知道了
  19. 华为操作系统 28 年史
  20. 【C语言】大厂指针笔试题(1码+1图)详解——程序结果判断题

热门文章

  1. “食尸鬼行动”攻击30多个国家超过130家企业 包括中国
  2. zigbee学习之串口通信
  3. 台式计算机连接投影仪无信号,投影仪连接电脑没反应 电脑连接投影仪无信号解决办法...
  4. 安卓手机投屏到win10电脑无需安装任何软件(电脑和手机必须连接同一网络或者wifi)【投影到此电脑灰色无法操作怎么办?】by qiweb 端午节
  5. 跨境电商shopee这个平台怎么样?百万shopee卖家笑了,不要再犹豫了
  6. C语言中空字符串长度,C语言中求字符串的长度
  7. linux 16进制编辑器 知乎,狂揽2500星,开源十六进制编辑器登顶GitHub热榜
  8. 图灵大会 | 新观点:AI盛世,其实我们离得还很远
  9. github上springcloud 项目框架的前后端的启动(2021-08-05)
  10. 【汽车】新能源汽车的分类