收藏
回答

wx.requestMidasPaymentGameItem(Object object) 一直异常

补充

appid : wx311b9862e3f80996


https://docs.qq.com/doc/DVFBybVlRWHVhRmZj?code=TxnmQLUsjkiErEunFwGJ5CoekYpT1ZPe7Tn5Seqgi5I&state=weworklogin&u=4187683d01314903b57f8cf4bb93aa63

https://developers.weixin.qq.com/minigame/dev/guide/open-ability/signature.htmlhttps://developers.weixin.qq.com/minigame/dev/guide/open-ability/virtual-payment/goods.html

这文档跳来跳去的 就没有一个能说下这个

requestMidasPaymentGameItem 这个接口里的 signature 是如何计算的


目前我这边接入 开发者工具 客户端 请求服务端计算这些数据 ,服务端将结果返回给开发者工具 后 ;由开发者工具调用 wx.requestMidasPaymentGameItem 将参数传入

一直报

errCode: -15012

errMsg: "requestMidasPaymentGameItem:fail SIGNATURE INVALID"


https://docs.qq.com/doc/DVFBybVlRWHVhRmZj?code=TxnmQLUsjkiErEunFwGJ5CoekYpT1ZPe7Tn5Seqgi5I&state=weworklogin&u=4187683d01314903b57f8cf4bb93aa63

该文档上声称

https://docs.qq.com/doc/DVUN0QWJja0J5c2x4?u=4187683d01314903b57f8cf4bb93aa63

该文档上又声称


总是让参看文档

就是没有一个能说明的

希望这个能提供完整的php 版本sdk 或这个 demo代码

希望官网的大神有时间看下

最后一次编辑于  05-11
回答关注问题邀请回答
收藏

1 个回答

  • 小布
    小布
    05-11

    补充下

    在我的服务端 使用登录时 存于服务器的用户 session_key 当做signKey

    加密的参数为

    $signKey = "sessionKey";
    $signData = [
        'mode'         => 'goods',              // string 支付的类型
        'offerId'      => (string)$offerId,     // string 应用id
        'buyQuantity'  => (int)$buyQuantity,    // number 购买数量
        'env'          => (int)$env,            // number 环境配置 0正式 1沙箱
        'currencyType' => 'CNY',                // string 'CNY'
        'platform'     => 'android',            // string android
        'zoneId'       => (string)$zoneId,      // string 分区ID
        'productId'    => (string)$productId,   // string 道具ID
        'goodsPrice'   => (int)$goodsPrice,     // number 道具单价(分)
        'outTradeNo'   => (string)$outTradeNo,  // string 业务订单号
        'attach'       => (string)$attach,      // string 透传数据
    ];
    $p = [ 'signData' => $signData, 'paySig' => $paySig];
    $signature = hash_hmac('SHA256',  json_encode($p),  $signKey);
    
    05-11
    有用
    回复 2
    • 小布
      小布
      05-11
      希望官网尽快反馈
      05-11
      回复
    • 小布
      小布
      05-13
      只需 将加密参数中的 json_encode($p)  换成 json_encode($signData)
      05-13
      回复
登录 后发表内容