人人红包开放接口

异步回调

平台收到支付宝通知后先落库,再按 voucher_id 找到 shop_id,POST 转发到贵方配置的 callback_url。请先验签,再按 voucher_id + biz_type 做幂等。

POST商户 callback_url

请求头

Header必填说明
Content-Type 是 application/json;charset=UTF-8
Authorization 是 平台签名,可用贵方 token 校验

通知字段

参数类型说明
biz_type string 事件类型,如 V_BATCH_PUBLISH / V_USE / V_REFUND / V_EXPIRE
voucher_id string 红包 ID,与发放接口返回一致
user_id string 支付宝用户 UID
activity_id string 活动 ID
activity_name string 活动名称
voucher_status string 券状态,如 ENABLED / DISABLED
publish_amount int 发放金额,单位一般为分
use_amount int 核销金额,单位一般为分,视报文而定
refund_amount int 退款金额,单位一般为分,视报文而定
order_id string 支付宝侧订单号
gmt_voucher_create int 发放时间戳,视报文而定
use_time int 使用时间,视报文而定
refund_time int 退款时间,视报文而定

你会收到什么

请求打到商户配置的 callback_url,Content-Type 为 application/json;charset=UTF-8。签名在请求头 Authorization 里。请尽快返回 HTTP 200,正文建议返回 success。同一 voucher_id + biz_type 可能重复通知。

验签

Authorization = md5( json_to_query_string(body) + "&token=" + 商户token )。先把 Body 各字段按 key 排序;普通值写成 key=value;若值为对象,写成 key="{...}"(内部双引号转成单引号);再用 & 连接。验签通过后再处理业务。

处理建议

实际字段以支付宝通知为准,请按存在字段解析,不要强依赖全部字段。金额相关字段单位一般为分。刚发放成功时本地可能暂时没有 user_id,以本回调为准。

常见 biz_type

biz_type含义
V_BATCH_PUBLISH发放成功
V_USE核销使用
V_REFUND退款
V_EXPIRE过期