关于QQ钱包支付
来源:互联网 发布:国家电网数据运维待遇 编辑:程序博客网 时间:2024/06/11 20:03
最近公司项目aap需要加上qq钱包支付的功能,以前也没做过支付,然后就先去qq支付的官方文档去看了一下,需要做些什么。
qq支付api文档地址:https://qpay.qq.com/qpaywiki/showdocument.php?pid=38&docid=58
看了一下文档,文档参数给的也很详细,但是毕竟没写过,感觉毫无头绪,然后就去网上搜一搜关于qq支付的文章,但是发现聊聊无几,基本没人写过。
现在写一下,也是希望以后的人能够很快上手这个功能。
首先你需要在用户在app点击购买按钮的时候,先生成订单,然后选择自己想要付款的方式(这里选择qq支付),然后你可以去看一下文档,有哪些请求参数是必须要的,你也可以写一些app上自己的参数,文档上有一个请求参数是sign,
在这里进行第一次签名
然后如上图去请求qq的统一下单的接口,返回得到的数据是以xml形式的,所以我么需要将其转换为map。
然后判断返回的return_code是否为SUCCESS.
如果成功的话,我们需要将一些参数返回给前端(我是后台),这里需要注意一下,前端请求我们写的接口所需要得到的参数
详见https://qpay.qq.com/qpaywiki/showdocument.php?pid=38&docid=165 (安卓为例)
如下图:
注意它们的参数有一个为pubAcc的参数数,这个参数没用,但是必须要有且值为空。
然后后台需要对参数进行签名,这里的签名方式不再是MD5,而是HMAC-SHA1
然后前端调起支付功能,此时qq会请求我们的回调接口
我们需要验证传过来的是否是qq的回调,此时进行签名的验证(获取的参数得去掉sign再进行签名)
这里验证签名也是需要用HMAC-SHA1的方式。
然后再与sign对比,判断是否成功。成功之后后台处理逻辑
注意:验证是否成功不能以前端返回信息为准,我们通过回调参数来自己进行判断
这个功能算是写完了,但是安卓和ios都辞职了,新的同事也未来,所以等新同事来了之后,对接好了再进行更新。
有什么写的不对的地方,也欢迎大家指出来,一起研究研究。
昨天和新来的安卓已经对接好了,上面的是没有问题的,只不过第二次签名的时候,签名的密匙不能是上图中的QQ_API_KEY,不然签名是不通过的,这里的密匙应为APPKEY,且要在其末尾加上一个&符号,这样才能签名成功。APPKEY找前端问一下就好了。
- 关于QQ钱包支付
- Android-qq钱包支付集成
- 手Q支付(QQ钱包)
- Android使用微信、支付宝、qq钱包H5支付
- 支付宝钱包界面
- 支付宝钱包架构
- 支付宝微信QQ钱包收款码合并教程及源码下载
- 集成QQ钱包---踩坑
- 浅析支付宝钱包插件
- 浅析支付宝钱包插件
- IOS 支付宝钱包整合
- 关于比特币钱包
- 支付宝发布支付宝钱包 新增声波支付
- 支付宝移动支付之IOSApp调用支付宝钱包
- 支付宝钱包客户端技术架构
- iOS中 支付宝钱包详解
- 支付宝钱包技术架构剖析
- 支付宝钱包系统架构内部剖析
- JavaScript实现链表
- 实现js计数器
- 几个移动端直播SDK开源地址
- 60年后的你长什么样?人脸老化三大技术探秘
- 主键和唯一索引的区别?
- 关于QQ钱包支付
- ArryList和LinkedList的底层实现以及比较
- 汉诺塔问题(Towers of Hanoi)
- IT常用知识备忘
- mac 终端命令大全
- Centos7下Yum安装PHP5.5,5.6,7.0
- 为MT7688 SPI添加N个SPI接口
- Maven管理的web项目,在使用tomcat发布的时候出现java.lang.NoClassDefFoundError
- 推荐一款以Rest服务方式的通用权限系统\智能权限系统\Java权限系统\j2ee权限系统