通用场景
商户订阅该券过期消息,在用户优惠券过期后,支付宝会把相关过期结果和用户信息发送给商户。
公共请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
notify_id | string | 必选 | 50 | 通知id | 5608cccc09ddb39d41c2e3c06e3d9fejh2 |
utc_timestamp | string | 必选 | 13 | 消息发送时的服务端时间 | 1514210452731 |
msg_method | string | 必选 | 100 | 消息接口名称 | alipay.marketing.activity.message.expired |
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 |
消息属性
id|幂等号必选string(128)
【描述】事件id。可用于业务去重。
【示例值】expired_2021042400826001508407723739
activity_id|活动id必选string(128)
【描述】活动id
【示例值】2016042700826004508401111111
event_time|事件创建时间必选string(64)
【描述】事件创建时间。
【注意事项】精确到毫秒。返回的时间是long型的时间戳字符串,可用于消息的乱序处理。
【示例值】1619338271
voucher_id|支付宝券id必选string(32)
【描述】用户券 id。支付宝为用户优惠券唯一分配的 id。
【示例值】2021072900073002214009f8qhr3
以下参数 二选一 传入
user_id|支付宝用户idstring(32)
【描述】支付宝user_id账号
新商户建议使用open_id替代该字段。对于新商户,user_id字段未来计划逐步回收,存量商户可继续使用。如使用open_id,请确认 应用-开发配置-openid配置管理 已启用。无该配置项,可查看openid配置申请。
【示例值】2088512417841101
open_id|支付宝用户openidstring(128)
【描述】领券的支付宝用户openid 详情可查看 openid简介
【示例值】074a1cctg1lelxke4xqc0zgndid0nxi95b5lsnpazwyoco5
voucher_code|券码可选string(64)
【描述】用户领取的券码code,支付宝商家券活动才会返回券码,其他优惠券活动该值为空
【示例值】voucher_code
消息示例
默认示例
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={
"user_id":"2088512417841101",
"open_id":"074a1cctg1lelxke4xqc0zgndid0nxi95b5lsnpazwyoco5",
"activity_id":"2016042700826004508401111111",
"voucher_id":"2021072900073002214009f8qhr3",
"voucher_code":"voucher_code",
"id":"expired_2021042400826001508407723739",
"event_time":"1619338271"
}' \
--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.marketing.activity.message.expired'
说明:notify_url是开发者在开放平台控制台上设置的应用网关地址
通知应答
响应报文 | 描述 | 是否重试 | 是否区分大小写 |
---|---|---|---|
success | 消息处理成功 | 否 | 否 |
fail | 消息处理失败 | 是 | 否 |
说明:消息服务会根据响应报文判断商户系统是否已经成功处理消息。如果http同步响应报文返回 success 字符串,消息服务则认为消息已经处理成功,停止投递,如果返回 fail ,表示消息获取失败,支付宝会根据投递重试策略重新发送消息到应用网关地址;
投递重试策略:一般情况下,25 小时以内完成 8 次通知,除了第一次是实时投递外,后续的每次重试都会间隔一段时间,间隔频率一般是:2m、10m、10m、1h、2h、6h、15h(第二次消息投递是在第一次投递失败后的 2 分钟;第三次投递是在第二次投递失败后的 10 分钟,以此类推)
接口工具
消息服务文档
获取sdk