收藏
回答

微信支付没弹出支付窗口

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug wx.requestPayment 客户端 Android 6.6 2.0

调用统一支付成功后,获取到prepay_id,然后把  小程序的appid, 当前的timestamp,随机生成 nonceStr,用微信支付的key 生成签名信息,(签名验证正确),调用

wx.requestPayment  没反应,是什么原因


var payObj = {

appId: res.appId,

timeStamp: res.timeStamp,

nonceStr: res.nonceStr,

package: res.package,

signType: res.signType,

paySign: res.paySign,

success: function (res) {

// success

console.log(res);

},

fail: function (e) {

// fail

console.log(e);

}

};

console.log(payObj);

wx.requestPayment(payObj);


最后一次编辑于  2018-06-14  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  •           
              
    2018-06-14

    是工具上没弹出还是只有真机上没有

    2018-06-14
    赞同
    回复
  • 老章
    老章
    2018-06-14

    都没弹出

    2018-06-14
    赞同
    回复 6
    •           
                
      2018-06-14

      你先检查一下接口成功返回这些支付配置参数没有,我的是全部正常,就是不出来支付界面

      2018-06-14
      回复
    • 老章
      老章
      2018-06-14

      谢谢啦,md5的key 是 支付里面的key,对吗? 我的好像是签名错了

      2018-06-14
      回复
    •           
                
      2018-06-14回复老章

      可以了吗?接口这些参数都返回有的话,还报签名错误,那就可能是后台商户支付配置那里有问题了

      2018-06-14
      回复
    • 老章
      老章
      2018-06-14回复          

      不可以,同事支付验证签名失败,不知道哪个环节出了错, timeStamp 和      nonceStr    我现在和统一下单 那里是不一致的,我统计下单调用的是范例里提供的 代码。

       Map<String, String> data = new HashMap<String, String>();

          data.put("body", "测试商品");

          data.put("out_trade_no", szorder);

          data.put("device_info", "web");

          data.put("fee_type", "CNY");

          data.put("total_fee", merprice);

          data.put("spbill_create_ip", "123.12.12.123");

          data.put("notify_url", "https://dj.jhscco.com/wxpay/notify");

          data.put("trade_type", "JSAPI ");  // 此处指定为扫码支付 JSAPI 

          data.put("product_id", "12");

          data.put("openid", openid);

          System.out.println("**test1**:date:" + data);

          try {

          System.out.println("**test2**:date:");

         

              Map<String, String> resp = wxpay.unifiedOrder(data);


      现在 调用

      wx.requestPayment

      出现签名错误 和 统一下单 那里 会不会有关联

      2018-06-14
      回复
    •           
                
      2018-06-14回复老章

      一般不会,只要后台给的接口可以生成订单,并且调用支付也返回时间戳那些参数了就没问题,这样的话可能就是商户支付证书那些东西的配置有问题了

      2018-06-14
      回复
    查看更多(1)
  • joyinto
    joyinto
    2018-06-14

    我都发布了,真机上弹出微信支付 闪退是怎么回事

    2018-06-14
    赞同
    回复 2
    • 老章
      老章
      2018-06-14

      方便帮我看下吗? 我的参数信息:

      1. appId:"wxefa06e74181962d8"


      2. key:"d8d8b8742364a1014a266f5cc3e875e9"

      3. nonceStr:"2eab1f1cdf3e42f0b9e2cdab0b919f32"

      4. package:"prepay_id=wx1414182949625726d66c4e872132995171"

      5. paySign:"AE92A183A2B2A88912BB455451D47165"

      6. result:"suc"

      7. signType:"MD5"

      8. timeStamp:"1528957314"  用工具验证签名正确,但调试那里显示签名错误。 timeStamp 和   nonceStr  和统一支付 那里的参数没关系吧? 是否统一支付返回了prepay_id 表示统一订单是没问题的?


      2018-06-14
      回复
    • 老章
      老章
      2018-06-14回复老章

      方便帮我看下吗? 我的参数信息:

      1. appId:"wxefa06e74181962d8"


      2. key:"d8d8b8742364a1014a266f5cc3e875e9"

      3. nonceStr:"2eab1f1cdf3e42f0b9e2cdab0b919f32"

      4. package:"prepay_id=wx1414182949625726d66c4e872132995171"

      5. paySign:"AE92A183A2B2A88912BB455451D47165"


      6. signType:"MD5"

      7. timeStamp:"1528957314"  用工具验证签名正确,但调试那里显示签名错误。 timeStamp 和   nonceStr  和统一支付 那里的参数没关系吧? 是否统一支付返回了prepay_id 表示统一订单是没问题的?


      2018-06-14
      回复