微信 APP JSAPI 小程序支付 统一下单 二次生成签名 验证失败问题记录

APP支付 JSAPI支付 小程序支付 二次生成签名参数排序都有严格要求

  1. ◆ 参数名ASCII码从小到大排序(字典序);
  2. ◆ 如果参数的值为空不参与签名;
  3. ◆ 参数名区分大小写;
  4. ◆ 验证调用返回或微信主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验。
  5. ◆ 微信接口可能增加字段,验证签名时必须支持增加的扩展字段

三种微信支付的appid是不一样的 

APP:

$str='appid=.....&noncestr=.....&package=Sign=WXPay&partnerid=.....&prepayid=.....×tamp=.....&key=.....';  

$return_data['paySign'] = strtoupper(md5($str));

JSAPI 和小程序  

 $str = 'appId=...&nonceStr=...&package=prepay_id=...&signType=MD5&timeStamp=...&key=....';
 $return_data['paySign'] = strtoupper(md5($str));

 

你可能感兴趣的:(PHP)