收藏
回答

签名时package值不需要赋值?


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

2 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    11-21

    package需要赋值,但没有太看明白你具体的问题所在。请详细描述

    11-21
    赞同
    回复
  • 黑化肥挥发会发灰
    黑化肥挥发会发灰
    11-21

    校验工具在md5加密前把package=prepay_id=XXXXXX重置为package=prepay_id,所以会导致我们加密值跟工具加密值不一致;

    另外小程序后台加密时只需要 以下参数(PHP为例)

    $data['appId'] = $this->app_id;
    $data['timeStamp'] = time();
    $data['nonceStr'] = (string) WechatTool::alnum();//获取随机字符串
    $data['package'] = 'prepay_id='.$message['prepay_id'];
    $data['signType'] = 'MD5';
    ksort($data);
    $str = $this->arrToUrl($data) . '&key=' . $this->key;
    $sign = strtoupper(MD5($str));

    $data['sign'] = $sign;   //生成的签名

    这里处理好,基本签名就没什么问题了


    11-21
    赞同
    回复