收藏
回答

原单支付问题

前端【JSAPI调起支付API】

比如超过 2小时就不行了。


补充下问题:

我们前端没有限制住点击支付的按钮,导致多次去微信创建订单,出现重复支付。我们后端遇到这种情况,想使用“原单支付”来解决。

如果使用原单支付来做。

问题 1:是否需要重新签名?

问题 2:如果需要重新签名,签名的时间戳是否要重新生成?

最后一次编辑于  2023-07-17
回答关注问题邀请回答
收藏

4 个回答

  • Memory (私信不回复)
    Memory (私信不回复)
    2023-07-17

    统一下单参数可以直接重入,调起支付参数需要重新计算签名,订单也不是一直有效,系统会对未支付订单定期去关闭

    2023-07-17
    有用 1
    回复 8
    • Rua!
      Rua!
      2023-07-18
      我试验了一下,使用 prepay_id 生成的签名,前端可以多次拉起微信支付,并不需要多次生成签名呢
      2023-07-18
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2023-07-18回复Rua!
      时间戳会有校验,等遇到报错你就知道了
      2023-07-18
      回复
    • Rua!
      Rua!
      2023-07-18回复Memory (私信不回复)
      我猜测也是有验证的,但是不知道是什么规则
      2023-07-18
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      2023-07-18回复Rua!
      5分钟
      2023-07-18
      回复
    • Rua!
      Rua!
      2023-07-19回复Memory (私信不回复)
      我试了下,20min 也没有过期,还可以使用,文档里面也没有明确说明
      2023-07-19
      回复
    查看更多(3)
  • 㐅卝
    㐅卝
    发表于小程序端
    2023-07-17

    1.第一次返回的预交易id,有效期两个小时,前提你在统一下单的时候没设置有效期。2.需要,还是使用之前的预交易id,走第二次生成签名就可以了。

    2023-07-17
    有用
    回复 2
    • Rua!
      Rua!
      2023-07-18
      也就是说,第二次拉起支付,使用第一次返回的 prepayId,重新签名,才能拉起第二次支付,对吧?还是说第二次不需要重新签名,直接使用第一次生成的签名就行了
      2023-07-18
      回复
    • 㐅卝
      㐅卝
      发表于小程序端
      2023-07-18回复Rua!

      是的,使用第一次返回的id重新计算签名,毕竟有几个参数是动态的,id有效期内可以发起多次支付。

      2023-07-18
      回复
  • 吴玉江
    吴玉江
    发表于移动端
    2023-07-17
    2023-07-17
    有用
    回复
  • 青寒
    青寒
    2023-07-17

    你是想问“微信支付prepay_id有效期为2个小时”这个?

    2023-07-17
    有用
    回复 1
    • Rua!
      Rua!
      2023-07-17
      不是的,我补充了问题,你可以看下
      2023-07-17
      回复
登录 后发表内容