收藏
回答

微信支付-小程序支付-小程序JS调起支付提示订单过期



小程序登录-获取openid-统一下单三步全都正常,但获取prepay_id后使用5个参数签名后小程序调起支付时总是返回"该订单已过期"。从下单到小程序调起支付,时间并没有超过交易结束时间。

请问这是怎么回事?

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

2 个回答

  • 微信支付技术助手
    微信支付技术助手
    02-20

    您好,请参考:https://developers.weixin.qq.com/community/develop/doc/72226396559cc5addc36a20c667ce43a?highLine=%25E8%25AF%25A5%25E8%25AE%25A2%25E5%258D%2595%25E5%25B7%25B2%25E8%25BF%2587%25E6%259C%259F

    02-20
    赞同
    回复 7
    • 雾里看花
      雾里看花
      02-20

      谢谢,不过他和我的问题不一样,他是等了几个小时,我这是下单之后马上就使用5个参数签名然后 小程序调起支付,但还是提示过期,而我的交易结束时间是在30分钟之内的,整个操作也没有超过30分钟

      02-20
      回复
    • 微信支付技术助手
      微信支付技术助手
      02-20回复雾里看花

      time_expire是针对订单的,但是因为系统返回的prepay_id有效期跟传的time_expire并不同步,所以需要继续支付的话,可以通过订单参数不变重新调一次统一下单生成新的prepay_id才可以重新支付。

      02-20
      回复
    • 雾里看花
      雾里看花
      02-20回复微信支付技术助手

      即使不同步,也不会每次都过期吧?

      02-20
      回复
    • 雾里看花
      雾里看花
      02-20回复微信支付技术助手

      我们用的银联提供的商户服务,他们的返回信息信息以这样的

      {
        "msgType": "wx.unifiedOrder",
        "connectSys": "UNIONPAY",
        "msgSrc": "WWW.UT.CN",
        "merName": "旅游服务有限公司",
        "mid": "898370259620212",
        "msgId": "3115",
        "settleRefId": "06518199478N",
        "tid": "02120026",
        "totalAmount": 1,
        "targetMid": "266529900",
        "responseTimestamp": "2019-02-20 16:17:10",
        "errCode": "SUCCESS",
        "miniPayRequest": {
          "timeStamp": "1550650630",
          "package": "prepay_id=wx2016171089982409734300a13985994904",
          "paySign": "ewdAK9WdFkprdKUeNo/Uk5acTlvRe8a9BeTQS0Jo/fTCaFmn8WDtgNB8Uis46Z901tS8hTqUDXqpffGHvoKrVCaR8SmsO9nYskwVyrlSJok2CuOuVqvrEWgrtFOdmdvY963Ndcd+s5NvnQWEXEwOv5P8SFiYEsL+67zepmcI1fsazRi688AYnDKmlhzzZh4W5TJdjEpacfoCL3rA1Wfr6M6FlmCLP7cAEe25KhBM1H85GAkfW4f/runY2A79fG2UNVYDjx4OL5pj5jbaqDLElXH9zP+neNPj6m8JwXR5RVL1iOZnhMLA/66c2LNa9DxmKOgMGQNjN1DqiK97KbJv2Q==",
          "appId": "wx944675f4157b1fac",
          "signType": "RSA",
          "nonceStr": "9a5cbfcf9f6a43478798b8981702b98c"
        },
        "targetStatus": "SUCCESS|SUCCESS",
        "seqId": "06518199478N",
        "merOrderId": "3115201902201617105747484266",
        "status": "WAIT_BUYER_PAY",
        "targetSys": "WXPay",
        "sign": "0DF96561F6918A55F4F9E01D892685E2"
      }

      使用里面的miniPayRequest原样信息返回总是过期

      02-20
      回复
    • 微信支付技术助手
      微信支付技术助手
      02-21回复雾里看花

      您好,把您的下单请求参数发出来我看一下。

      02-21
      回复
    查看更多(2)
  • Alex
    Alex
    07-01

    同样的问题,我一扫二维码就报这个错。请问解决了吗?

    07-01
    赞同
    回复