订阅产品商户消息通知
更新时间:
接口说明
消息名称:alipay.trade.subscription.changed
适用场景
订阅产品商户消息通知。
公共请求参数
| 参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
|---|---|---|---|---|---|
notify_id | String | 必选 | 50 | 通知ID | 5608cccc09ddb39d41c2e3c06e3d9fejh2 |
utc_timestamp | String | 必选 | 13 | 消息发送时的服务端时间 | 1514210452731 |
msg_method | String | 必选 | 100 | 消息接口名称 | alipay.trade.subscription.changed |
app_id | String | 必选 | 20 | 消息接受方的应用id | 2014060600164699 |
version | String | 必选 | 5 | 版本号(1.1版本为标准消息) | 1.0或者1.1 |
biz_content | String | 必选 | - | 消息报文 | 参见消息属性 |
sign | String | 必选 | 344 | 签名 | WcO+t3D8Kg71dTlKwN7r9Pz... |
sign_type | String | 必选 | 10 | 签名类型 | RSA2 |
charset | String | 必选 | 10 | 编码集,该字符集为验签和解密所需要的字符集 | UTF-8 |
消息属性
| 参数 | 类型 | 是否必选 | 最大长度 | 描述 | 注意事项/枚举值 | 示例值 |
|---|---|---|---|---|---|---|
change_type | String | 必选 | 32 | 订阅变更类型 | 订阅已生效:active 订阅续费成功:period_extend 订阅项目升级成功/商品数量扩容成功:item_update 订阅已取消:cancel 订阅降级成功/商品数量缩容成功:item_downgrade 订阅取消后恢复:item_cancel_revert 订阅将在周期结束取消:cancel_at_period_end 试用期生效:trialing | active |
change_date | String | 可选 | 32 | 订阅变更时间 | - | 2026-03-22 21:00:00 |
trade_no | String | 可选 | 64 | 支付宝交易号,可根据该交易号调用支付宝交易查询接口(alipay.trade.query)进行支付明细查询 | - | 2026022276001434360514767918 |
order_no | String | 可选 | 64 | 创建/升级订阅时生成的支付请求单号 | - | 2026042019600065895 |
out_trade_no | String | 可选 | 64 | 商户侧外部单号 | - | OUT042019600065895 |
pay_amount | String | 可选 | 16 | 当笔订阅的支付金额,单位分 | - | 1001 |
subscription | String | 可选 | 20000 | { “subscription_id”:“20134141341”, “subscribe_title”:"", “cancel_at_period_end”, “created”:“2026-03-20 14:10”, “subscription_status”:“ACTIVE”, “customer_id”:"", “current_period_end”:“2026-03-20 14:10”, “canceled_date”:“2026-03-22 14:00”, “items”:[ { “quantity”, “item_id”:“2026032012314”, “created”:“2026-03-20 14:10”, “price”:{ “gmt_create”:“2026-03-26 12:58”, “product”:{ “gmt_create”:“2026-03-24 18:00”, “metadata”:”{“key”:“value”}”, “name”:“Gold ”, “description”:“基础”, “active”, “id”:“20260”, “default_price_id”:“202603240” }, “metadata”:”{“key”:“value”}”, “recurring”:{ “interval_count”, “usage_type”:“licensed”, “interval”:“MONTH”, “trial_period_days” }, “product_id”:“202603240020000001001”, “active”, “id”:"", “unit_amount”:"", “type”:“recurring” } } ], “current_period_start”:“2026-02-20 14:10”, “start_date”:“2026-03-22 14:00” } | - | 订阅信息大对象,参考alipay.trade.subscription.query |
触发通知示例
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={
"change_type":"active",
"change_date":"2026-03-22 21:00:00",
"trade_no":"2026022276001434360514767918",
"order_no":"2026042019600065895",
"out_trade_no":"OUT042019600065895",
"pay_amount":"1001",
"subscription":"订阅信息大对象,参考alipay.trade.subscription.query"
}' \
--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.trade.subscription.changed'通知应答
| 响应报文 | 描述 | 是否重试 | 是否区分大小写 |
|---|---|---|---|
| success | 消息处理成功 | 否 | 否 |
| fail | 消息处理失败 | 是 | 否 |
说明
消息服务会根据响应报文判断商户系统是否已经成功处理消息。如果HTTP同步响应报文返回 success 字符串,消息服务则认为消息已经处理成功,停止投递,如果返回 fail ,表示消息获取失败,支付宝会根据投递重试策略重新发送消息到应用网关地址;
投递重试策略
一般情况下,25 小时以内完成 8 次通知,除了第一次是实时投递外,后续的每次重试都会间隔一段时间,间隔频率一般是:2m、10m、10m、1h、2h、6h、15h(第二次消息投递是在第一次投递失败后的 2 分钟;第三次投递是在第二次投递失败后的 10 分钟,以此类推)