通用场景
售后单状态变更消息
公共请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
notify_id | string | 必选 | 50 | 通知id | 5608cccc09ddb39d41c2e3c06e3d9fejh2 |
utc_timestamp | string | 必选 | 13 | 消息发送时的服务端时间 | 1514210452731 |
msg_method | string | 必选 | 100 | 消息接口名称 | alipay.open.mini.order.aftersale.changed |
app_id | string | 必选 | 20 | 消息接受方的应用id | 2014060600164699 |
version | string | 必选 | 5 | 版本号(1.1版本为标准消息) | 1.0或者1.1 |
biz_content | string | 必选 | 消息报文 | 参见消息属性 | |
sign | string | 必选 | 签名 | wco t3d8kg71dtlkwn7r9pzuoxeabjwp8/fousxcuskxsovyxbpsaidpryscjhcjmaglncjokjqlj28/asl93jotw39fx6i07lxhnbpknezalwmvpdnqui01hzszf9v1i6ggzjbiad5lg8bzttxzoj87ub2i9guj3nr/nuc9vey= | |
sign_type | string | 必选 | 10 | 签名类型 | rsa2 |
charset | string | 必选 | 10 | 编码集,该字符集为验签和解密所需要的字符集 | utf-8 |
消息属性
out_order_id|商户订单号必选string(64)
【描述】商户订单号,创建订单请求由商户传入
【示例值】6823789339978248
order_id|交易组件订单号必选string(128)
【描述】交易组件订单号
【示例值】2015042321001004720200028594
out_aftersale_id|外部售后单号必选string(128)
【描述】外部售后单号
【示例值】1126823789339978248
aftersale_id|售后单号必选string(100)
【描述】交易组件售后单号
【示例值】2015042321001004720200028594
type|售后类型必选string(32)
【描述】售后单类型
【枚举值】
退款: refund
换货: change
退货: return
【示例值】refund
action_type|售后单触发类型必选string(32)
【描述】售后单触发类型
【枚举值】
用户主动退: active
过期自动退: expire
用户投诉: complaint
【示例值】active
aftersale_reason|用户售后发起原因必选string(128)
【描述】用户售后发起原因
【示例值】商户未发货
status|售后单状态必选string(32)
【描述】售后单状态
【枚举值】
处理中: processing
已退款: refund_closed
商户拒绝: seller_reject
【示例值】processing
以下参数 二选一 传入
user_id|买家支付宝用户idstring(32)
【描述】买家支付宝用户id
新商户建议使用open_id替代该字段。对于新商户,user_id字段未来计划逐步回收,存量商户可继续使用。如使用open_id,请确认 应用-开发配置-openid配置管理 已启用。无该配置项,可查看openid配置申请。
【示例值】2088***
open_id|用户openidstring(128)
【描述】买家open_id 详情可查看 openid简介
【示例值】074a1cctg1lelxke4xqc0zgndid0nxi95b5lsnpazwyoco5
action_code|操作code可选string(10)
【描述】推进到当前售后单状态的操作类型
【枚举值】
商家同意退货申请: 201
商家拒绝退货申请: 202
买家已退货: 203
【示例值】105
apply_refund_amount|申请退款金额可选string(11)
【描述】申请退款金额,单位:元,精确到小数点后两位
【示例值】88.88
finally_refund_amount|最终退款金额可选string(11)
【描述】最终退款金额,单位:元,精确到小数点后两位
【示例值】88.88
additional_reason|售后发起补充原因可选string(512)
【描述】创建售后单时用户填写的补充描述
【示例值】物品有损坏
aftersale_goods_info_list|商品列表可选aftersaleiteminfo
【描述】商品列表
out_item_id|外部商品id必选string(64)
【描述】外部商品id
【示例值】12345
item_cnt|商品数量必选string(32)
【描述】商品数量,单位:"个"
【示例值】5
out_sku_id|外部skuid可选string(64)
【描述】外部skuid
【示例值】1111324242424
aftersale_media_list|售后媒体资源列表可选ordermediainfo[]
【描述】用户通过标准售后组件申请售后时,上传的证明图片和视频信息
type|资源类型必选string(10)
【描述】资源类型
【枚举值】
视频: video
图片: image
【示例值】video
url|资源访问链接必选string(512)
【描述】资源访问链接地址
【示例值】https://www.alipay.net/file/***
poster_url|资源封面地址条件必选string(512)
【描述】资源封面地址
【必选条件】当type=video时必选
【示例值】https://www.alipay.net/file/***
消息示例
默认示例
curl -x post 'notify_url' \
--header 'content-type: application/x-www-form-urlencoded; charset=utf-8' \
--data-urlencode 'charset=utf-8' \
--data-urlencode 'biz_content={
"out_order_id":"6823789339978248",
"user_id":"2088***",
"open_id":"074a1cctg1lelxke4xqc0zgndid0nxi95b5lsnpazwyoco5",
"order_id":"2015042321001004720200028594",
"out_aftersale_id":"1126823789339978248",
"aftersale_id":"2015042321001004720200028594",
"type":"refund",
"action_type":"active",
"aftersale_reason":"商户未发货",
"status":"processing",
"action_code":"105",
"apply_refund_amount":"88.88",
"finally_refund_amount":"88.88",
"additional_reason":"物品有损坏",
"aftersale_goods_info_list":{
"out_sku_id":"1111324242424",
"out_item_id":"12345",
"item_cnt":"5"
},
"aftersale_media_list":[
{
"poster_url":"https://www.alipay.net/file/***",
"type":"video",
"url":"https://www.alipay.net/file/***"
}
]
}' \
--data-urlencode 'utc_timestamp=${now}' \
--data-urlencode 'sign=${sign}' \
--data-urlencode 'app_id=${appid}' \
--data-urlencode 'version=1.1' \
--data-urlencode 'sign_type=rsa2' \
--data-urlencode 'notify_id=${notify_id}' \
--data-urlencode 'msg_method=alipay.open.mini.order.aftersale.changed'
说明:notify_url是开发者在开放平台控制台上设置的应用网关地址
通知应答
响应报文 | 描述 | 是否重试 | 是否区分大小写 |
---|---|---|---|
success | 消息处理成功 | 否 | 否 |
fail | 消息处理失败 | 是 | 否 |
说明:消息服务会根据响应报文判断商户系统是否已经成功处理消息。如果http同步响应报文返回 success 字符串,消息服务则认为消息已经处理成功,停止投递,如果返回 fail ,表示消息获取失败,支付宝会根据投递重试策略重新发送消息到应用网关地址;
投递重试策略:一般情况下,25 小时以内完成 8 次通知,除了第一次是实时投递外,后续的每次重试都会间隔一段时间,间隔频率一般是:2m、10m、10m、1h、2h、6h、15h(第二次消息投递是在第一次投递失败后的 2 分钟;第三次投递是在第二次投递失败后的 10 分钟,以此类推)
接口工具
消息服务文档
获取sdk