收藏
回答

请大神帮忙解决,微信支付取消预订单失败

微信小程序下单且已产生预支付订单(JSAPI),此时使用NATIVE支付方式支付前,

通过取消之前的预订单,然后产生新订单操作,取消订单时(调用api https://api.mch.weixin.qq.com/secapi/pay/reverse ),

请求参数如下:

<xml>
  <appid>---</appid>
  <mch_id>---</mch_id>
  <transaction_id>wx022154055463064d0f4c0f811aa4c20000</transaction_id>
  <nonce_str>--</nonce_str>
  <sign>--</sign>
</xml>

此时返回数据错误信息:

Error: socket hang up
    at connResetException (internal/errors.js:607:14)
    at TLSSocket.socketOnEnd (_http_client.js:493:23)
    at TLSSocket.emit (events.js:327:22)
    at TLSSocket.EventEmitter.emit (domain.js:467:12)
    at endReadableNT (internal/streams/readable.js:1327:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  code: 'ECONNRESET',
  response: undefined
}



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

2 个回答

  • 支付社区运营
    支付社区运营
    2021-02-03

    请参考这个:

    以下情况需要调用关单接口:商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。


    注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。


    不是下单后直接调用关单

    2021-02-03
    有用
    回复
  • 寒江独钓
    寒江独钓
    2021-02-03

    你好,

    1.商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单

    这个操作顺序是否固定的,必须先用新的单号产生新的预支付单,然后调用关单才能成功,

    目前我们是先关闭订单,用原单号生成新预支付单的,但关单不能成功。

    2.系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。

    这里支付超时是指预支付单的超时时间生效了么?预订单超时的时候必须关闭订单,才能再创建新订单么?目前我们如果超时了,重新下预订单是可以生成,原预订单不关闭是否有影响?

    3.我们现在调用关闭订单,经过多次尝试,任时点调用都没成功(https://api.mch.weixin.qq.com/secapi/pay/reverse),均会报出以上错误。

    还麻烦进一步解答,谢谢🙏

    2021-02-03
    有用
    回复
登录 后发表内容
问题标签