zoukankan      html  css  js  c++  java
  • 微信JSAPI支付提示支付签名验证失败、jsapi缺少参数 total_fee、当前url未注册问题的解决方法

    一、支付签名验证失败问题

    微信官方提供的JSAPI发起支付中对签名的描述并不是很清楚,详见:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

    找了很多资料才找到具体的签名方法,希望对大家有用。

    $data2['timeStamp']=time();
    $data2['appId']=$config['app_id'];
    $data2['nonceStr']=$nonce_str;
    $data2['package']="prepay_id=".$result['prepay_id'];
    $data2['signType']="MD5";
    $data2['paySign']= $wxpay->createMd5Sign($data2);

    要注意的是 参与签名的prepay_id,必须是 prepay_id=****  的格式。

     二、jsapi缺少参数 total_fee

    wx.chooseWXPay({
      timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
      nonceStr: '', // 支付签名随机串,不长于 32 位
      package: '', // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
      signType: '', // 微信支付V3的传入RSA,微信支付V2的传入格式与V2统一下单的签名格式保持一致
      paySign: '', // 支付签名
      success: function (res) {
        // 支付成功后的回调函数
      }
    });
    

    另外在微信浏览器发起微信支付时,package的格式要求也为 prepay_id=****  ,如果不是,则会出现 JSAPI缺少参数 total_fee 的问题

    三、当前url未注册

    当前url未注册 的问题需要登陆微信支付商户中,产品》JSAPI中设置支付授权目录 即可。设置要求为 https://www.alipay.com/pay/  到你支付的上级目录就行

    
    
  • 相关阅读:
    msql查询指定日期
    NLP常见任务
    KTT条件及其理解
    距离度量--熵,KL散度,JS散度,GAN相关应用
    常见的激活函数
    分类问题的判别标准
    最大似然估计
    损失函数
    【ML-10】多分类及多标签分类算法
    【ML-9】支持向量机--实验scitit-learn SVM
  • 原文地址:https://www.cnblogs.com/fogwang/p/15222311.html
Copyright © 2011-2022 走看看