收藏
回答

jsapi支付 - 对于未支付且未超时的订单是否支持同一个out_trade_no参数重入?

请问,jsapi发起的支付,第一次获取的prepay_id未支付,用户再次发起支付的时候,是否可以用同样的 out_trade_no 再次发起prepay获取新的prepay_id

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

4 个回答

  • Affection
    Affection
    2024-12-26

    我们的做法是 有个内部订单号,还有个外部订单号,每次拉起时外部订单号都要更新成新的,外部订单号用于拉起微信/支付宝 支付使用。

    2024-12-26
    有用
    回复 4
    • ?
      2024-12-26
      是你们系统有两个系统内部的订单号?一个用于展示给用户,一个用户每次更新然后拉起支付?
      2024-12-26
      回复
    • Affection
      Affection
      2024-12-26回复
      内部订单号 是给对账用,外部订单号用于拉起支付给支付平台的
      2024-12-26
      回复
    • ?
      2024-12-26
      那你们给前端用户展示的订单号是哪个?
      2024-12-26
      回复
    • Affection
      Affection
      2024-12-27回复
      内部订单号,这样用户通过内部订单号能查到系统里的订单了,内部订单号也是不重复的
      2024-12-27
      回复
  • 跨商通
    跨商通
    2024-12-25

    不要去考虑任何复用的事,自找麻烦,直接新编号完事。

    2024-12-25
    有用
    回复
  • 启年
    启年
    2024-12-25

    既然是 未支付,未超时,你接着还用上一次的prepay_id不就好了么,prepay_id有效期2小时。

    2024-12-25
    有用
    回复 5
    • ?
      发表于移动端
      2024-12-25
      我通过api尝试,同一个out trade no多次调用prepay接口,不会报错,返回的prepay_id是新的
      2024-12-25
      回复
    • 启年
      启年
      2024-12-25回复
      不建议用同一个out_trade_no再次调用生成prepay_id,当前可能不会报错,但官方是不推荐这样用的,没准哪天不行了,之前是不行的
      2024-12-25
      回复
    • ?
      发表于移动端
      2024-12-25回复启年
      一般做法是保存首次的prepay_id还是再次调用更新out_trade_no?
      2024-12-25
      回复
    • 启年
      启年
      2024-12-25回复
      一般我这边是更新out_trade_no
      2024-12-25
      回复
    • ?
      发表于移动端
      2024-12-25回复启年
      是根据数据库这条未支付订单的id更新一下新的out trade no,然后再重新发起prepay吗?
      2024-12-25
      回复
  • 智能回答 智能回答 该问答由AI生成
    2024-12-25
    有用
登录 后发表内容