取消支付分订单API

更新时间:2023.10.18

微信支付分订单创建之后,由于某些原因导致订单不能正常支付时,可使用此接口取消订单。

订单为以下状态时可以取消订单:CREATED(已创单)、DOING(进行中)(包括商户完结支付分订单后,且支付分订单收款状态为待支付USER_PAYING)

注意:

• DOING状态包含了订单用户确认、已完结-待支付(USER_PAYING)的状态,因此这种状态下订单也是可以被取消的,请确认当前操作是否正确,防止误操作将完结后需要支付分收款的单据取消。

特别注意:1.待支付(USER_PAYING)状态下,当用户正在尝试通过收银台主动支付订单金额时,取消支付分订单API无法调用成功,可等待3min后重试

2.重入时需保证参数完全一致,包括撤销原因

# 接口说明

支持商户:
【普通商户】
请求方式:
【POST】/v3/payscore/serviceorder/{out_order_no}/cancel
请求域名:
【主域名】
https://api.mch.weixin.qq.com
使用该域名将访问就近的接入点
【备域名】
https://api2.mch.weixin.qq.com
使用该域名将访问异地的接入点 ,指引点击查看

# 请求参数

    Header HTTP头参数
  • Authorization 必填 string
    请参考 签名认证 生成认证信息
  • Accept 必填 string
    请设置为 application/json
  • Content-Type 必填 string
    请设置为 application/json
    Path 路径参数
  • out_order_no 必填 string(32)
    【商户服务订单号】 商户系统内部服务订单号(不是交易单号),与创建订单时一致
    Body 包体参数
  • appid 必填 string(32)
    【公众账号ID】 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系 需要在本系统先进行配置. 需要与创建订单时保持一致.
  • service_id 选填 string(32)
    【服务ID】 该服务ID有本接口对应产品的权限
  • reason 必填 string(50)
    【撤销原因】 支持50个字符,每个汉字/数字/英语都按1个字符计算超过长度报错处理。注:重入时需保证参数完全一致,包括撤销原因

请求示例

POST

# 应答参数

    200OK
  • appid 必填 string(32)
    【公众账号ID】 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系 需要在本系统先进行配置. 需要与创建订单时保持一致.
  • mchid 必填 string(32)
    【商户号】 调用接口提交的商户号
  • out_order_no 必填 string(32)
    【商户订单号】 调用接口提交的商户服务订单号
  • service_id 必填 string(32)
    【服务ID】 调用该接口提交的服务ID
  • order_id 必填 string(128)
    【微信支付服务订单号】 微信支付服务订单号 每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应

应答示例

200 OK

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
400 INVALID_ORDER_STATE 单据状态错误 确认操作是否符合流程
400 INVALID_REQUEST 请求参数符合参数格式,但不符合业务规则 请确认相同单号是否使用了不同的参数
400 ORDER_CANCELED 单据已取消 当前状态无需操作
400 ORDER_DONE 订单已完成 当前状态无需操作
403 NO_AUTH 商户信息不合法 登录商户平台核对,传入正确信息
404 ORDER_NOT_ EXIST 订单不存在 确认入参,传入正确单据
429 FREQUENCY_LIMITED 频率超限 请求量不要超过接口调用频率限制
500 SYSTEM_ERROR 系统错误 5开头的状态码都为系统问题,请使用相同参数稍后重新调用
反馈
咨询
目录