收藏
回答

该订单已经过期,请更换商户单号

2019年1月28号19点到2019年1月29号12点 出现多起用户提现成功 但是反馈到我们服务

提示"该订单已经过期,请更换商户单号"


业务凭证号 20190128215120UU5REIM3ES2O4N

业务单号 1000041701201901283000224809499

业务凭证号 20190128222021UUYL194BERWDZR

业务单号 1000041701201901283000229638480

业务凭证号 20190128223346UUE5MV805I5KN6

业务单号 1000041701201901283000232829343


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

1 个回答

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

    您好,请详细描述一下错误。

    02-13
    赞同
    回复 6
    • 翔翎(ling)
      翔翎(ling)
      02-13

      2019-01-28 19 至 2019-01-28 12 期间,微信发送普通红包接口(https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack) 查询红包接口(https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo) 多次出现 通信失败,我方失败日志如下:


      由于通信失败,因此我方一直使用原业务订单号重试发送普通红包,直到某次通信成功,微信返回信息如下:


      返回信息中 err_code 是 SEND_FAILED,按照开发文档的定义,是为发放失败,因此我方业务逻辑按照发放失败做了处理。


      开发文档中该错误码的定义:

      但在月底的资金流水单中,我们发现这类订单微信方都是实际发出红包了的,并且跟用户交流得知用户也领取了该红包。

      在以上时间段内,我方一共有12笔发放红包的订单出现了这种情况,麻烦你们查证一下。

      02-13
      回复
    • 微信支付技术助手
      微信支付技术助手
      02-14回复翔翎(ling)

      您好,查到都是领取成功的。◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复发放红包等资金风险。 发放失败时,需要查询一下进行确认。

      02-14
      回复
    • 翔翎(ling)
      翔翎(ling)
      02-14回复微信支付技术助手

      返回的错误码并非 SYSTEMERROR,而是   SEND_FAILED,该错误码在开发文档中的描述是  该红包已经发放失败 。 对于支付相关接口,我认为对于同一订单号,处理结果应该是幂等的。如果处理不是幂等,需要在发放失败后走查询接口确认结果,这点是需要在文档中写明并且强调的才对啊。

      02-14
      回复
    • Joe 严加乔
      Joe 严加乔
      02-14回复微信支付技术助手

      为什么系统返回SEND_FAILED 然后订单红包是发放成功 现在的情况是 因为对返回码判断和预期不一致 导致了给用户多发放了红包 所以希望能把问题确认情况并如何避免类似问题的发生


      02-14
      回复
    • 微信支付技术助手
      微信支付技术助手
      02-15回复Joe 严加乔

      您好,在发放红包之后,需要如果出现问题,需要查询一次,进行确认,而且再次发放时不可以更换商户订单号,这些文档中都有说明,请仔细查看,另外感谢您的反馈,我们这边也会跟进您们所遇见的问题。

      02-15
      回复
    查看更多(1)