在开发中 遇到一个对接建行支付的 我从网上搜了一下 大多数 都在吐槽文档写的垃圾 我从这里记录一下 我对接支付过程中 遇到的问题 以及解决办法从注册账号开始

一:注册账号/登陆

  1. 首页要找到 建行特约商户首页 第一次需要准备的东西有点多 需要下载 建行的 E路护航 不然无法登陆
    流程如下 传送门 以及常见问题链接 传送门

  2. 第一步处理完成之后 从 特约商户入口 就可以直接登录了

    点登陆之后 要有个证书 点确定就可以 然后到 商户服务平台登录 输入账号密码就可以正常登陆了

二:参数与配置

1.登陆商户服务平台之后需要配置/下载各种参数
如下
公钥:用于下单时使用 类似与微信商户的支付密钥 (注:不能修改需要保持好)
回调/实时反馈地址
根据自己的需求来设置就可以

三:下单

参数的构建(根据建行的文档来就可以)在这里放一张
然后就是代码 我参考了一下这个大佬操作的—传送门—

//设置无需登录接口protected $noNeedLogin = ['*'];//商户代码 商户号 protected $MERCHANTID = '105555555555555';//商户柜台代码  参数为 第二步 1中柜台号protected $POSID = '0333333';//分行代码  这里用的 山东建行protected $BRANCHID = '370000000';//币种protected $CURCODE = 01;//交易码protected $TXCODE = 520100;//公钥后30位protected $PUB = '0fg88is844325njgu88lqp44020111';/*** Notes: 建行龙支付下单 构建参数* By: Tommy* DateTime: 2021/3/32 9:17*/public function go_pay(){$orderNum = rand(1000,999999999);$price = 0.01;// 商户代码, 由建行统一分配$MERCHANTID = $this->MERCHANTID;// 商户柜台代码, 由建行统一分配$POSID = $this->POSID;// 分行代码, 由建行统一指定$BRANCHID = $this->BRANCHID;// 订单号, 由商户提供,最长 30 位$ORDERID = $orderNum;// 付款金额$PAYMENT = $price;// 币种 01-人民币$CURCODE = '01';// 交易码, 由建行统一分配为 520100$TXCODE = '520100';// 备注 1, 一般作为商户自定义备注信息使用,可在对账单中显示。$REMARK1 = '';// 备注 2, 一般作为商户自定义备注信息使用,可在对账单中显示。$REMARK2 = '';// 接口类型, 分行业务人员在 P2 员工渠道后台设置防钓鱼的开关。1-防钓鱼接口$TYPE = 1;// 公钥后 30 位, 商户从建行商户服务平台下载,截取后 30 位。仅作为源串参加 MD5 摘要,不作为参数传递$PUB = $this->PUB;// 网关类型, 默认送 0$GATEWAY = 0;// 客户在商户系统中的 IP,即客户登陆(访问)商户系统时使用的 ip$CLIENTIP = '123.000.00.000';// 客户在商户系统中注册的信息,中文需使用 escape 编码$REGINFO = '';// 客户购买的商品, 中文需使用 escape 编码$PROINFO = '';// 商户 URL, 商户送空值即可$REFERER = '';// 商户客户端的intent�filter/schema, comccbpay+商户代码+商户自定义的标示app的字符串(只能为字母或数字), 例comccbpay105320148140002alipay,// 建行移动端文档就要求这么拼接, IOS文档却直接写取你的应用程序的URL Schemes即可, 你们自己看文档要求吧// $THIRDAPPINFO = 'comccbpay' . $MERCHANTID. 'myAPP';$THIRDAPPINFO = 'myAPP';// 支付方式位图, 10位位图,1为开,0为关, 第一位:支付宝, 第二位:微信,第三位:银联支付(保留位,暂不开放)其余位数预留。例如支持支付宝和微信支付则上送1100000000该字段不参与 MAC计算$PAYMAP = '0000000000';// md5加密参数$md5Params = ['MERCHANTID' => $MERCHANTID,'POSID' => $POSID,'BRANCHID' => $BRANCHID,'ORDERID' => $ORDERID,'PAYMENT' => $PAYMENT,'CURCODE' => $CURCODE,'TXCODE' => $TXCODE,'REMARK1' => $REMARK1,'REMARK2' => $REMARK2,'TYPE' => $TYPE,'PUB' => $PUB,'GATEWAY' => $GATEWAY,'CLIENTIP' => $CLIENTIP,'REGINFO' => $REGINFO,'PROINFO' => $PROINFO,'REFERER' => $REFERER,'THIRDAPPINFO' => $THIRDAPPINFO,// 'TIMEOUT' => ''];$md5Query = http_build_query($md5Params);// MAC 校验域, 采用标准 MD5 算法$MAC = md5($md5Query);// 请求参数$urlParams = ['MERCHANTID' => $MERCHANTID,'POSID' => $POSID,'BRANCHID' => $BRANCHID,'ORDERID' => $ORDERID,'PAYMENT' => $PAYMENT,'CURCODE' => $CURCODE,'TXCODE' => $TXCODE,'REMARK1' => $REMARK1,'REMARK2' => $REMARK2,'TYPE' => $TYPE,'GATEWAY' => $GATEWAY,'CLIENTIP' => $CLIENTIP,'REGINFO' => $REGINFO,'PROINFO' => $PROINFO,'REFERER' => $REFERER,'THIRDAPPINFO' => $THIRDAPPINFO,'MAC' => $MAC,
//            'PAYMAP' => '0000000000'];$orderStr = http_build_query($urlParams);halt($orderStr);return [// 我这里只是返回url需要拼接的参数, https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?加上$orderStr就是完整的商户下单请求地址'orderStr' => $orderStr];}

放了一段PHP的代码 其他语言根据文档的参数来构建就可以

我在这里上传了一个建行的 下单模拟器 可以把生成的参数 或者填写参数之后 模拟下单 方便测试
传送门

四、支付回调

  1. 官方文档给的参数
  2. 回调参数 我用的转换的json格式方
{"POSID":"052498251","BRANCHID":"370000000","ORDERID":"SP2029041256511025","PAYMENT":"0.01","CURCODE":"01","REMARK1":"shop","REMARK2":"","ACC_TYPE":"12","SUCCESS":"Y","TYPE":"1","REFERER":"","CLIENTIP":"60.216.214.927","SIGN":"18828a21de9115f62dcc9efd36542119268e9366533feebf800a3c3963f2eb95abe20c0943fb841e73d085b5d5d5a99dc87c263577def512b252b0726cede61fd047436cb0f6ca9eae47c2a6af71972eebe5bdeb063e5d0fee7d33f8ed5fdcd003900c9a490b2506cffeb62917465197ffec9b117b0cf04a1354ce305eb0cb733"
}

接受参数的时候用的 get 需要注意一下 具体的官方文档没给介绍 我用get可以接受到
其他的 包括验签之类的操作 需要自己来处理 包括 回调方法里处理订单的状态 我这里就不过多接受了

如果对你有用 一键三连

PHP 对接建行龙支付相关推荐

  1. Android java对接建行支付SDK

    Android java 对接建行支付 准备工作 创建常量类 编写支付工具类 遇到的坑 用到的工具类 准备工作 在对接建行支付之前,需要准备好这几个东西:商户代码.商户柜台代码.分行代码.公钥 创建常 ...

  2. 建行聚合支付及支付宝二维码开发经验(C语言)

    由于笔者之前专业只是学习电子电路相关知识,参加工作后接手了一个对接建行的聚合支付二维码项目.之前我更改过设备中支付宝二维码的bug,而不是完整的开发工作.所以这是我第一次真正的对接一个API的项目,让 ...

  3. 建行B2B支付回调参数乱码现象解析

    建行B2B支付采用Java开发,页面回调采用POST提交方式,编码为GBK.而我们的系统为ASP.NET,编码UTF-8.通过Request获取的参数是乱码,无奈之下,只能从InputStream解析 ...

  4. java SpringBoot 对接支付宝 APP支付 证书模式及非证书模式

    一. 添加maven依赖 sdk <dependency><groupId>com.alipay.sdk</groupId><artifactId>al ...

  5. java 对接易宝支付完成真实网上支付

    java 对接易宝支付完成真实网上支付 目录结构 index.jsp界面 跳转界面 支付界面 确认界面 支付成功界面 回调界面 源码 学习资源推荐 https://blog.csdn.net/qq_4 ...

  6. php 银行支付通道_接口--php对接农行网上支付平台-b2b

    对接农行网上支付平台 从银行那边获取到对应的接口包 将文件保存在网站的路径中 我是destoon网站系统对接,就放在了api/pay/新建一个文件夹abc/下 完成之后填写接口的配置文件 路径:ebu ...

  7. 建行B2B支付回调参数乱码现象解析(转)

    建行B2B支付采用Java开发,页面回调采用POST提交方式,编码为GBK.而我们的系统为ASP.NET,编码UTF-8.通过Request获取的参数是乱码,无奈之下,只能从InputStream解析 ...

  8. 游戏平台对接哪种支付公司好(选择标准介绍)

    场上关于游戏平台的支付方式纷繁杂多,那支付公司也是相对较多,究竟哪个支付公司的支付方式更适合自己的游戏平台呢?我们今天首先要了解市场上现在有哪些支付公司以及这些支付公司之间有何区别. 一.各支付公司的 ...

  9. java+uniapp对接app微信支付

    java+uniapp对接app微信支付 1.准备工作 注册app APP接入微信支付,需要先将商户APP在微信开放平台进行注册,登记APP开发参数以生成APPID.具体操作步骤如下: 一.登录微信开 ...

  10. java后端+uniapp 对接微信app支付 报错-1

    问题描述: 原因分析: 上面两张图片完美的呈现了对接微信APP支付所能遇见的问题 排查流程: 检测自己的app是否 以及注册到微信开放平台 并且填写了与APP中的包名相对应的 检测自己的App是否开通 ...

最新文章

  1. java的final也并不是那么高冷
  2. Flask常见错误与解决方法
  3. Redis的三个框架:Jedis,Redisson,Lettuce
  4. JZ The First Day 总结
  5. 每日笔记---使用@ConfigurationProperties读取yml配置
  6. 无线传感器网络 | 期末复习知识点1
  7. VBA中数组(Array)与随机数(Rnd)的使用
  8. 【HDU5536】Chip Factory(01字典树+01字典树上删除某个数)
  9. java读取dbf数据类型,读取foxpro格式的dbf文件-JSP教程,Java技巧及代码
  10. 信安小组 第四周 总结
  11. Visio画拓扑图随记
  12. 在uni-app中使用腾讯视频插件播放视频
  13. 白银之手服务器 不稳定,截止TBC CWOW服务器及公会PVE实力排行榜
  14. 英语新闻app——TagLayout+ViewPager+Fragment实现分类切页功能
  15. 计算机散热程序,电脑的散热方法_百度经验
  16. 7-11正式进军柬埔寨;2021年全球乳业排行榜公布;麦咖啡跨界多芬推出新品 | 食品饮料新品...
  17. Windows下尝试PHP7提示丢失VCRUNTIME140.DLL的问题解决
  18. sklearn波士顿房价数据集——线性回归
  19. R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据、对股票进行除权除息调整、设置使用Adjusted列的数据
  20. 计算机网络协议编号是什么,因特网协议

热门文章

  1. python不是5的倍数_python – 低于1000的3或5的所有倍数的总和
  2. 如何用ps修改图片的大小不变形
  3. 人工智能应用-手把手教你用Python硬件编程实现打开或关闭电灯泡
  4. VS(Visual Studio)间接引用
  5. 如何在php中添加动图,PS如何制作gif动图
  6. u盘里的东西删除怎么还原,分享2个指南
  7. html网页设计作品文字,40个以大文字排版的网页设计作品
  8. PHP一句话木马,中国菜刀
  9. 严禁使用计算机存储,处理,传输涉密信息,非涉密计算机及其网络保密管理要求...
  10. 使用福禄克CFP光纤测试仪进行Tier 1和Tier 2光纤测试