腾讯游戏登录和接入米大师游戏币托管模式支付(入坑指南,微信支付)

登录我没遇到头疼的问题,主要是在支付上;

充值时序:

youxibimoshi-03.png

扣款时序:

youxibimoshi-04.png

坑1:请求地址https://ysdktest.qq.com/mpay/get_balance_m

签名时是需要在url前面拼接上“/v3/r”的,这个也不怪腾讯,他的文档太多了好几个版本,要怪就怪自己没看完他的全部文档

坑2:看上面的充值扣款时序图,实际充值服务端要做的就是下单时客户端要调用服务端的用户余额查询接口,支付成功后客户端通知服务端进行扣除用户余额调用;这里遇到的问题是手Q支付整个逻辑很顺利没有一点问题(参数用的qq_app_id和qq_app_id),但是做微信支付的时候,要么签名失败,要么返回应用未开通权限(原因:我使用的wx_app_key和wx_app_id)

最初我看了文档,看了几遍。最后在错误码说明中找到这么一句话

服务端接口appid使用错误;特别注意的是微信支付后台接口使用的也是手Qappid

但是并没有什么地方说,key也要用手q的key(也就是下面的qq_app_id),至少我找了几遍文档没有说微信的调用用户余额查询接口是用手q的appid和appkey

因为是先做的登录验证,登录验证是各用各的appid和appkey,做支付时,思维惯性以为也是要区分各用各的,至少查询官方文档里面没做这个说明,后面是最终报着试一下的心态成功了,特此记录一下;

注意:调用扣费接口、退款、赠送逻辑同上面的用户余额查询(手q和微信都需要使用手q的appid和appkey进行签名和传输)

参数说明:

接入时会有四个参数,名称我自己定义的知道意思就行:

qq_app_key:手q的应用key()

wx_app_key:微信的应用key

qq_app_id:手q的应用id

wx_app_id:微信的应用id

 

以下为还有其他问题的排查指南

JAVA后台接口:

1, 腾讯开放平台:

http://wiki.open.qq.com/wiki/%E9%A6%96%E9%A1%B5

2,YSDK介绍,大概流程:

http://wiki.open.qq.com/wiki/YSDK%E4%BB%8B%E7%BB%8D#4._YSDK.E7.8E.AF.E5.A2.83.E6.9D.83.E9.99.90

3,下面这个步骤完全可用,没有问题:

http://wiki.open.qq.com/wiki/%E8%85%BE%E8%AE%AF%E7%A7%BB%E5%8A%A8%E6%94%AF%E4%BB%98%E6%8F%92%E4%BB%B6Midas%E7%99%BD%E7%9A%AE%E4%B9%A6

(1)URL地址
【现网】https:// ysdk.qq.com/mpay/get_balance_m
【沙箱】https://ysdktest.qq.com/mpay/get_balance_m 

(2)URI示例:/v3/r/mpay/get_balance_m

4,下面签名生成规则完全可以用:

http://wiki.open.qq.com/wiki/YSDK%E6%94%AF%E4%BB%98%E6%8E%A5%E5%8F%A3%E7%AD%BE%E5%90%8D%E8%AF%B4%E6%98%8E

5, 联调工具:可以在线生成签名sig,与自己的进行对比:

http://open.qq.com/tools?%EF%BC%8C%E6%A3%80%E6%9F%A5%E5%B7%A5%E5%85%B7%E8%AE%A1%E7%AE%97%E5%87%BA%E7%9A%84

6,可以查看常见错误码:

http://wiki.open.qq.com/wiki/Android%E5%B8%B8%E8%A7%81%E9%94%99%E8%AF%AF%E7%A0%81%E6%9F%A5%E8%AF%A2#1._.E9.94.99.E8.AF.AF.E7.A0.81.EF.BC.9A1016-1016-0

7,容易出错的地方:

登录:微信Appkey, QQAppkey, 微信appId, QQappId,可以用于登录检测,

支付: 不管微信还是QQ都用 另外的appid, 和 appkey, 其中数值上 支付的appid等于QQappid, 而充值appkey是另外的值,分为沙箱Appkey,和 现网Appkey, 多查看一下, 开放平台管理中心自己app的那些提示说明以及参数.

8,URLEncoder.encode的时候, 注意替换"+"和"*"

URLEncoder.encode(input, "UTF-8").replace("+", "%20").replace("*", "%2A");

9, GET, POST请求都可以

10,https 或者 http 都可以

11,注意是否要进行URLEncoder

12, 参考:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28317825&id=5747136

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值