腾讯开放平台联调工具集php
签名SDK下载html
支付API接口的联调git
sig 说明github
Android常见错误码api
包下载地址ruby
游戏进行手Q登陆受权的是提示“该应用非官方正版应用,请去应用宝下载后进行QQ登陆。(错误码100044)微信
还有网上其它人说的工具
须要有后台确认下签名问题和测试问题测试
=> {"ret"=>1001, "err_code"=>"1001-1001-0", "msg"=>"请求参数错误(sig error)"}
签名ruby版
参考 https://github.com/zires/open_qq/blob/master/lib/open_qq/signature.rb
def make_source(http_method, url, params) escape_opt = params.sort_by{|k,v| k.to_s}.map{|kv| "#{kv.first}=#{kv.last}" }.join('&') "#{http_method}&#{url_escape(url)}&#{url_escape(escape_opt)}" end def get_sign(platform, http_method, url, sign_params) if platform == 'qq' key = "#{qq_app_key}&" else key = "#{wx_app_key}&" end signature(key, make_source(http_method, url, sign_params)) end
腾讯是让这样验证订单是否成功的
开发者可根据get_balance_m接口去查询用户的累计充值金额来判断用户的充值变化信息。
切换到release环境后须要申请一下正式环境的审核
1.Android assets/msdkconfig.ini 设置 MSDK_URL=http://msdk.qq.com;其余未使用域名用;注释掉。 2.支付客户端调用setEnv方法,设置成release 3.IOS MSDK_URL=http://msdk.qq.com 4.后台全部接口使用http://msdk.qq.com
get_balance_m 这个api 微信是要留空的
requires :pay_token, type: String, allow_blank: true, desc: '手Q登陆时从手Q登陆态中获取的pay_token的值,使用MSDK登陆后获取到的eToken_QQ_Pay返回内容就是pay_token; 微信登陆时特别注意该参数传空。'
sdk 这边取qqtoken是手q的,wxToken经过getAccessToken获取
if(loginRet.flag == 0){ for (TokenRet tr : loginRet.token) { switch (tr.type) { case TokenType.eToken_QQ_Pay: qqToken = tr.value; break; default: break; } } } wxToken = loginRet.getAccessToken();
支付的时候若是平台是weixin也要用手q的appid和appkey
只接1, 2就能够提交审核
腾讯的支付是有延迟的,意味着你去请求get_balance_m
这个 api的时候,结果能够是一直不变的,
比较玩家是银行卡支付的。通常大约两三分钟
解决方案是,对于get_balance_m
返回不变的状况,加剧试逻辑,能够20-30秒重试一次,重试两到三分钟
还有就是腾讯的支付参数,其中有些是有失效时间的,遇到有重试过程当中,参数失效的状况。如今没好的解决方案,只能手动补单了