收藏
回答

使用uniapp,调微信支付报requestPayment:fail cancel?

uni.requestPayment({
provider: that.supplier,
orderInfo: '111',
timeStamp: Math.round(new Date() / 1000).toString(),
nonceStr: res.data.wxRsp.nonce_str,
package: res.data.packageString,
signType: 'MD5',
paySign: res.data.paySign,
success: function(resData) {
debugger
console.log('success:' + JSON.stringify(res));
},
fail: function(err) {
debugger
console.log('fail:' + JSON.stringify(err));
},
与前端联调出现的问题,provider也有值就是wxpay,现在不确定是不是timeStamp的问题,我见其他人写的都是从后端拿的,获取的秒级的当前时间戳,
paySign数据未MD5加密之前我也看了,传的参数数据和顺序也是正确的。发一下我后端调统一接口的返回数据:
{
    "code"200,
    "message""请求成功",
    "data": {
        "wxRsp": {
            "return_code""SUCCESS",
            "return_msg""OK",
            "appid""wxe46c68e584c58404",
            "mch_id""1602288268",
            "device_info""sandbox",
            "nonce_str""0VK7HPgs7YjkkQUHZk0HNjNQxwkfVBXM",
            "sign""128D0295C29E72DD99BA0B86C6979879",
            "result_code""SUCCESS",
            "err_code""SUCCESS",
            "err_code_des""ok",
            "trade_type""JSAPI",
            "prepay_id""wx20201212183745539816"
        },
        "paySign""72AF71516894C83C8F5FE4DC3457FD69",
        "packageString""prepay_id=wx20201212183745539816",
        "timeStamp""1607769370"
    }
}
我感觉我后端写的也没有问题呀~   package的格式也弄好了传给的前端,到底是哪里出了问题呢?整体的支付操作是在沙箱环境测得,
以前也报过total_fee的错误,感觉小程序支付这里的坑都让我踩到了啊~求拯救SOS
回答关注问题邀请回答
收藏

2 个回答

  • 折纸成鸢
    折纸成鸢
    2021-07-05

    这个问题有解决嘛?现在我们是同一套代码配置不同的小程序支付,遇到了同样的问题

    2021-07-05
    有用
    回复
  • 👌
    👌
    2020-12-14
    timeStamp应该是有问题的 这个应该后端生成的 不是前端自己取当前时间 
    
    2020-12-14
    有用
    回复 2
    • Ethan
      Ethan
      2020-12-14
      嗯嗯,这个已经改了,但是还是报的requestPayment:fail cancel
      2020-12-14
      回复
    • ibos
      ibos
      2020-12-31回复Ethan
      解决了吗?我也遇到相同问题了,求解
      2020-12-31
      回复
登录 后发表内容
问题标签