收藏
回答

小程序支付这么多坑吗?

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.requestPayment() 客户端 iOS 6.6.6 2.0.0

首页,不知道是我们的问题还是怎样,这个小程序下单支付搞了一个多星期了,确实恶心到极限了。

哪位大神熟悉小程序支付的麻烦指点一下,小弟非常感谢。


开始一直提示没有total_tee,这个其他一直都有传。最后会贴上我的代码。



我向后台发送订单请求:

利用前端把参数传给后台

{
      "openid":“”,
      "desc": "paytest",//支付描述
      "orderPrice": "1",//支付金额
      "tradeType": "JSAPI",//订单号
      "appId": "",
      "mchId": "",
      "timeStamp": ""
}

这7个参数。


然后台调用 统一下单支付 接口,下图这个接口。

如图:


后台整理了参数后把必填的12个参数都传了,其他选填的都没有做处理和发送。



接着后台做签名计算。

“appid=“xxxxxxxx”&nonceStr="xxxxxxx"&package=prepay_id="xxxxxxxx"&signType=MD5&timeStamp="xxxxxxx"&key="随机数"

签名 计算方式是按文档来计算的




在下单流程我们测试是成功的。

但是到转到支付就失败了。







我的支付请求:


var that = this;
    //获取openid
 
    console.log("接口:" + API.getPayOrder());
    console.log(that.OPEN_ID);
 
    var timestamp = Date.parse(new Date());
    timestamp = timestamp / 1000; 
    var n = timestamp * 1000;
    console.log("时间截:" + n)
    var data = {
      "openid": that.OPEN_ID,
      "desc": "paytest",//支付描述
      "orderPrice": "1",//支付金额
      "tradeType": "JSAPI",//订单号
      "appId": "这里填我们的appid",
      "mchId": "这里填我",
      "timeStamp": ""+n
    }
 
    //调用后台接口获取单号
    HTTP_REQUEST.getRequest(API.getPayOrder(), data, function (res) {
      console.log("打印“统一下单”返回数据");
      console.log(res);
 
      // 发起拉起支付请求
      wx.requestPayment({
        timeStamp: "" + res.data.timeStamp, //时间戳
        nonceStr: "" + res.data.nonceStr,    //随机字符串
        package: "prepay_id=" + res.data.prepay_id, //统一下单接口返回的 prepay_id 参数值
        signType: "" + res.data.signType,    //签名算法,暂支持 MD5
        paySign: "" + res.data.sign,         //签名,具体签名方案参见
 
        success: function (res) {
          console.log("支付成功");
          console.log(res);
        },
        fail: function (res) {
          console.log("支付失败");
          console.log(res);
        }
      })
 
    }, function (res) {
      console.log("请求失败" + res);
    })


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

9 个回答

  • 陈盼〔有关知识产权事务〕
    陈盼〔有关知识产权事务〕
    2018-05-16

    支付验证签名失败,是因为调用统一下单接口之后没有按照小程序的要求进行二次签名,只有把二次签名的数据返回回去了才能成功的唤醒微信支付功能。

    2018-05-16
    有用
    回复
  • 光头强
    光头强
    2018-05-15

    怎么解决的?找到问题根源了吗?

    2018-05-15
    有用
    回复
  • GL
    GL
    2018-05-07

    请问,你是怎么解决的?

    2018-05-07
    有用
    回复
  • Double
    Double
    2018-05-07

    怎么解决的。放出来问题啊!

    2018-05-07
    有用
    回复
  • GL
    GL
    2018-05-04

    兄弟,解决了没有?我也是一样的问题~~至今没人解答啊。。


    2018-05-04
    有用
    回复
  • Double
    Double
    2018-05-04

    4567

    2018-05-04
    有用
    回复
  • Double
    Double
    2018-05-04

    123123

    2018-05-04
    有用
    回复
  • Double
    Double
    2018-05-04

    坑解决了吗?   来个人回答一下啊

    2018-05-04
    有用
    回复
  • GL
    GL
    2018-05-03

    兄弟,我们的踩的坑是一样的,坐等大佬吧~~~

    2018-05-03
    有用
    回复
登录 后发表内容