收藏
回答

midasGetBalance 90011 sig error

PHP后端请求


按照文档的签名算法


PHP实现

$stringA = "appid=".config('wx')['appid']."&offer_id=1450016276&openid=".$openid."&pf=android&ts=".$time."&zone_id=1";
$stringSignTemp= $stringA."&org_loc=/cgi-bin/midas/sandbox/getbalance&method=POST&secret=zNLgAGgqsEWJOg1nFVaO5r7fAlIQxr1u";
$sig = hash_hmac('sha256', $stringSignTemp, 'zNLgAGgqsEWJOg1nFVaO5r7fAlIQxr1u');


返回错误

{"errcode":90011,"errmsg":"sig error hint: [JdHZea0977shb1]"}


一开始是mp_sig错误 ,解决了mp_sig问题后出现sig错误,算法检查了很多次,还是一直失败


回答关注问题邀请回答
收藏

3 个回答

  • 琥珀
    琥珀
    2019-04-04

    我也遇到一样的问题,兄弟有没有解决呢?

    2019-04-04
    有用
    回复
  • ziy
    ziy
    2018-09-27

    这种情况一般考虑是appkey有误   可能用的是沙箱的appkey

    2018-09-27
    有用
    回复
  • 游侠
    游侠
    2018-07-30
    /**
    * 生成签名
    * @return string 签名,本函数不覆盖sign成员变量,如要设置签名需要调用SetSign方法赋值
    */
    public function MakeSign ($data)
    {

    //签名步骤一:按字典序排序参数

       ksort ($data);
       $string = self::ToUrlParams ($data);
       //签名步骤二:在string后加入KEY
       if (empty($this->key))
    $this->key = '你的数字签名key';
       $string = $string . "&key=" . $this->key;
       //签名步骤三:MD5加密
       $string = md5 ($string);
       //签名步骤四:所有字符转为大写
       return strtoupper ($string);
    }


    2018-07-30
    有用
    回复 5
    • 明天当男神
      明天当男神
      2018-07-30

      文档里写的是sha256加密方式

      2018-07-30
      回复
    • 游侠
      游侠
      2018-07-30回复明天当男神
      //签名步骤三:MD5加密
      $string = md5 ($string);

      改为 sha256方式


      2018-07-30
      回复
    • 游侠
      游侠
      2018-07-30回复游侠
      //签名步骤三:MD5加密

      $string = md5 ($string);


        $string  =  $string  .  "&key="  .  $this -> key ; 

      可能主要是缺少key



      2018-07-30
      回复
    • 明天当男神
      明天当男神
      2018-07-30回复游侠

      你这个不是米大师余额支付的签名方式吧 ,文档里写的排序后要拼接的是uri,method和米大师密钥,你这个只拼接了一个key

      2018-07-30
      回复
    • 游侠
      游侠
      2018-07-30

      这是是微信支付的

      2018-07-30
      回复
登录 后发表内容