跳到主要内容

售后

申请售后

只有已完成的订单才能申请售后。

  • URL/app-api/trade/after-sale/create
  • MethodPOST
  • 需要鉴权:是

请求参数

参数类型约束说明
orderItemIdLong必传订单项编号
wayLong必传售后方式,10-仅退款,20-退货退款
refundPriceString必传退款金额,必须大于 0,单位:分
applyReasonString必传申请原因
applyDescriptionString-补充描述
applyPicUrlsArray-补充图片凭证,图片数组,最多 9 张

请求示例

{
"orderItemId": 222,
"way": 10,
"refundPrice": 400,
"applyReason": "申请退货退款",
"applyDescription": "退款描述",
"applyPicUrls": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg"
]
}

响应示例

成功:

{
"code": 0,
"data": 25,
"msg": "成功"
}

失败示例:

{
"code": 1011000103,
"data": null,
"msg": "订单未支付,无法申请售后"
}

响应说明

参数类型说明
dataLong成功时返回售后数据编号

获取售后列表分页

获取用户的售后列表。

  • URL/app-api/trade/after-sale/page
  • MethodPOST
  • 需要鉴权:是

请求参数

参数类型约束说明
pageNoLong必传页码
pageSizeLong必传页大小

请求示例

{
"pageNo": 1,
"pageSize": 10
}

响应示例

{
"code": 0,
"data": {
"list": [
{
"id": 25,
"no": "r202411192210521",
"status": 40,
"way": 20,
"type": 10,
"applyReason": "申请退货退款",
"applyDescription": "退款描述",
"applyPicUrls": ["https://example.com/image.jpg"],
"createTime": 1732025452000,
"updateTime": 1732028588000,
"orderId": 142,
"orderNo": "o202312241132071",
"orderItemId": 135,
"spuId": 633,
"spuName": "索尼无线立体声耳机",
"skuId": 1,
"properties": [
{
"propertyId": 1,
"propertyName": "颜色",
"valueId": 5,
"valueName": "黑色"
}
],
"picUrl": "https://example.com/product.jpg",
"count": 1,
"auditReason": null,
"refundPrice": 100,
"refundTime": 1732025443000,
"logisticsId": 1,
"logisticsNo": "SF0262064666066",
"deliveryTime": 1732028575000,
"receiveTime": 1732028588000,
"receiveReason": null,
"afterSaleLogRespVO": {
"id": 44,
"content": "商家收货",
"createTime": 1732028588000
}
}
],
"total": 1
},
"msg": "成功"
}

响应说明

基本信息:

参数类型说明
idLong售后编号
noString售后流水号
statusLong售后状态,见下方枚举
wayLong售后方式,10-仅退款,20-退货退款
typeLong售后类型,10-售中退款,20-售后退款
applyReasonString申请原因
applyDescriptionString补充描述
applyPicUrlsArray补充凭证图片
createTimeLong创建时间
updateTimeLong更新时间

交易订单相关:

参数类型说明
orderIdLong交易订单编号
orderNoString交易订单流水号
orderItemIdLong交易订单项编号
spuIdLong商品 SPU 编号
spuNameString商品 SPU 名称
skuIdLong商品 SKU 编号
propertiesArray属性数组(propertyId/propertyName/valueId/valueName)
picUrlString商品图片
countLong退货商品数量
auditReasonString审批备注,仅审批不通过时填写

退款相关:

参数类型说明
refundPriceLong退款金额,单位:分
refundTimeLong退款时间

退货相关:

参数类型说明
logisticsIdLong退货物流公司编号
logisticsNoString退货物流单号
deliveryTimeLong退货时间
receiveTimeLong收货时间
receiveReasonString收货备注

售后日志(最新一条):

参数类型说明
afterSaleLogRespVO.idLong数据编号
afterSaleLogRespVO.contentString日志内容
afterSaleLogRespVO.createTimeLong创建时间
售后状态枚举
状态值说明
10申请中
20卖家通过(商家同意退款)
30待卖家收货(会员填写退货物流信息)
40等待平台退款(商家收货)
50完成(商家确认退款)
61买家取消售后
62卖家拒绝(商家拒绝退款)
63卖家拒绝收货(商家拒绝收货)

获取售后详情

获取售后单的详细信息。

  • URL/app-api/trade/after-sale/get
  • MethodPOST
  • 需要鉴权:是

请求参数

参数类型约束说明
idLong必传售后数据编号

请求示例

{
"id": 25
}

响应示例

{
"code": 0,
"data": {
"id": 25,
"no": "r202411192210521",
"status": 40,
"way": 20,
"type": 10,
"applyReason": "申请退货退款",
"applyDescription": "退款描述",
"applyPicUrls": ["https://example.com/image.jpg"],
"createTime": 1732025452000,
"updateTime": 1732028588000,
"orderId": 142,
"orderNo": "o202312241132071",
"orderItemId": 135,
"spuId": 633,
"spuName": "索尼无线立体声耳机",
"skuId": 1,
"properties": [
{
"propertyId": 1,
"propertyName": "颜色",
"valueId": 5,
"valueName": "黑色"
}
],
"picUrl": "https://example.com/product.jpg",
"count": 1,
"auditReason": null,
"refundPrice": 100,
"refundTime": 1732025443000,
"payTime": 1703388738000,
"payChannelCode": "wx_pub",
"payPrice": 100,
"logisticsId": 1,
"logisticsNo": "SF0262064666066",
"deliveryTime": 1732028575000,
"receiveTime": 1732028588000,
"receiveReason": null
},
"msg": "成功"
}

响应说明

响应字段同「获取售后列表分页」,额外包含以下字段:

参数类型说明
orderCreateTimeLong订单下单时间
payTimeLong支付时间
payChannelCodeString支付渠道,wx_pub-微信 APP,wx_lite-微信小程序,alipay_app-支付宝
payPriceLong支付价格

退回货物

商家同意退货退款后,买家需要将货物退回。

  • URL/app-api/trade/after-sale/delivery
  • MethodPOST
  • 需要鉴权:是

请求参数

参数类型约束说明
idLong必传售后数据编号
logisticsIdLong必传物流公司编号
logisticsNoString必传物流单号

请求示例

{
"id": 25,
"logisticsId": 1,
"logisticsNo": "SF0262064666066"
}

响应示例

{
"code": 0,
"data": true,
"msg": "成功"
}

响应说明

参数类型说明
dataBooleantrue 成功,false 失败

取消售后

仅在售后状态为申请中、卖家通过、待卖家收货时才能取消。

  • URL/app-api/trade/after-sale/cancel
  • MethodPOST
  • 需要鉴权:是

请求参数

参数类型约束说明
idLong必传售后数据编号

请求示例

{
"id": 25
}

响应示例

成功:

{
"code": 0,
"data": true,
"msg": "成功"
}

失败:

{
"code": 1011000111,
"data": null,
"msg": "取消售后单失败,售后单状态不是【待审核】或【卖家同意】或【商家待收货】"
}

响应说明

参数类型说明
dataBooleantrue 成功,false 失败

获取售后记录日志

获取售后单的操作日志列表。

  • URL/app-api/trade/after-sale-log/list
  • MethodPOST
  • 需要鉴权:是

请求参数

参数类型约束说明
afterSaleIdLong必传售后记录编号

请求示例

{
"afterSaleId": 23
}

响应示例

{
"code": 0,
"data": [
{
"id": 37,
"content": "商家收货",
"createTime": 1705408388000
},
{
"id": 36,
"content": "商家退款",
"createTime": 1705408043000
},
{
"id": 35,
"content": "会员填写退货物流信息,快递公司:申通快递,快递单号:888",
"createTime": 1705407886000
},
{
"id": 33,
"content": "商家同意退款",
"createTime": 1705407692000
},
{
"id": 32,
"content": "会员申请退款",
"createTime": 1705405978000
}
],
"msg": "成功"
}

响应说明

参数类型说明
idLong数据编号
contentString日志内容
createTimeLong创建时间