腾讯MSDK支付接入记录

登入问题

游戏进行手Q登录授权的是提示“该应用非官方正版应用,请去应用宝下载后进行QQ登录。(错误码100044)

查到是 客户端和管理端的签名不一致

还有网上其它人说的

clipboard.png
需要有后台确认下签名问题和测试问题

签名问题

=> {"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环境


切换到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 

pay_token

get_balance_m 这个api 微信是要留空的

requires :pay_token, type: String, allow_blank: true, desc: '手Q登录时从手Q登录态中获取的pay_token的值,使用MSDK登录后获取到的eToken_QQ_Pay返回内容就是pay_token; 微信登录时特别注意该参数传空。'

openkey

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();

微信的appid appkey

支付的时候如果平台是weixin也要用手q的appid和appkey

审核

只接1, 2就可以提交审核

支付服务端延迟问题

腾讯的支付是有延迟的,意味着你去请求get_balance_m 这个 api的时候,结果可以是一直不变的,
比较玩家是银行卡支付的。一般大约两三分钟

解决方案是,对于get_balance_m 返回不变的情况,加重试逻辑,可以20-30秒重试一次,重试两到三分钟

还有就是腾讯的支付参数,其中有些是有失效时间的,遇到有重试过程中,参数失效的情况。现在没好的解决方案,
只能手动补单了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值