收藏
回答

小程序唤起支付wx.requestPayment 输入支付密码报“支付失败,请稍后再试”

云托管后台调用统一下单接口https://api.weixin.qq.com/_/pay/unifiedorder成功,前端小程序拿到后台接口返回的timeStamp、nonceStr、package、signType、paySign调用wx.requestPayment后,能成功唤起支付页面,但当输入支付密码,点击确认支付后,返回requestpayment:fail cancel ,试过多次都是返回同样结果,请问是啥原因呢?调用wx.requestPayment参数如下:{"timeStamp":"1664348287","nonceStr":"f9fXqXHz30sOdyHe","package":"prepay_id=wx281458072062678807e560dd9166de0000","signType":"MD5","paySign":"ED1228577A3907222D185D069ABFB6AD"}

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

2 个回答

  • Y.C
    Y.C
    2022-10-09

    云托管统一支付的接口对底层做了封装,path字段猜测应该是和其他字段比如域名组合映射到微信支付底层notify_url字段的,官方文档path要求是string(64),但我只填了20多个字符就超了,notify_url的要求是String(256)。遇到相同问题的小伙伴可以把path尽量设置短一点试试

    2022-10-09
    有用 1
    回复
  • Memory
    Memory
    2022-09-29

    请按以下几点检查:

    1. fee_type字段枚举值:CNY,需要大写
    2. 金额字段不允许有小数点,请检查是否正确
    3. 参数是否有空格或者不合规的特殊字符
    2022-09-29
    有用 1
    回复 6
    • Y.C
      Y.C
      2022-09-30
      1、使用的是云托管下单接口,不需要传fee_type,所以也没有填,默认就是CNY
      2、金额字段填了100,没有问题
      3、参数全部都一个个检查了几遍,确认没有问题
      2022-09-30
      回复
    • Memory
      Memory
      2022-10-07回复Y.C
      打印下单请求参数出来看看
      2022-10-07
      回复
    • Y.C
      Y.C
      2022-10-08回复Memory
      {
       "body": "微信云托管支付测试",
       "callback_type": 2,
       "container": {
        "path": "/api/callback",
        "service": "minigram"
       },
       "env_id": "prod-43534634gsgdf",
       "openid": "oDUTr5C-F5vmIV-DufQaezBVmret",
       "out_trade_no": "1234592032328",
       "spbill_create_ip": "127.0.0.1",
       "sub_mch_id": "16293xxxxx",
       "total_fee": 100
      }
      2022-10-08
      回复
    • Memory
      Memory
      2022-10-08回复Y.C
      去托管后台提个工单,让他们查下日志
      2022-10-08
      回复
    • Y.C
      Y.C
      2022-10-09回复Memory
      是path字段太长。。但官方文档并没有说明该字段具体要求
      2022-10-09
      回复
    查看更多(1)
登录 后发表内容