取消支付分订单

更新时间:2024.11.18

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

注意:

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

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

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

接口说明

支持商户:【普通服务商】

请求方式:【POST】/v3/payscore/partner/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)

【商户订单号】商户系统内部服务订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。


body 包体参数

service_id  选填 string(32)

【服务ID】该服务ID有本接口对应产品的权限


sub_mchid  必填 string(32)

【子商户商户号】子商户商户号,由微信支付生成并下发


reason  必填 string(50)

【撤销原因】支持50个字符,按照字符计算,超过长度报错处理

请求示例

POST

1curl -X POST \
2  https://api.mch.weixin.qq.com/v3/payscore/partner/serviceorder/1234323JKHDFE1243252/cancel \
3  -H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4  -H "Accept: application/json" \
5  -H "Content-Type: application/json" \
6  -d '{
7    "service_id" : "2002000000000558128851361561536",
8    "sub_mchid" : "1900000109",
9    "reason" : "用户投诉"
10  }'
11

应答参数

无应答包体

应答示例

204 No Content

1'无应答包体'
2

 

错误码

公共错误码

状态码

错误码

描述

解决方案

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开头的状态码都为系统问题,请使用相同参数稍后重新调用

 

 

反馈
咨询
目录
置顶