异步通知(回调 notify_url)
扣款/支付类通知(event_type=PAYMENT)
| 字段 | 类型 | 必填 | 匹配后(key / 中文名) | 说明 |
|---|---|---|---|---|
event_type |
string | 是 | event_type / 通知的类型 |
固定 PAYMENT |
trade_no |
string | 是 | trade_no / 平台交易号 |
扣款单号 |
subscription_no |
string | 是 | subscription_no / 订阅号 |
订阅号 |
out_trade_no |
string | 是 | out_trade_no / 商户订单号 |
商户签约订单号 |
trade_status |
string | 是 | trade_status / 交易状态 |
交易状态(见 1.2) |
deduct_period |
integer | 是 | deduct_period / 扣款周期数 |
当前期数 |
bill_date |
string | 是 | bill_date / 账单日期 |
本期计划扣款日 |
original_amount |
integer | 是 | original_amount / 原始应扣金额 |
原始应扣金额(分) |
actual_amount |
integer | 否 | actual_amount / 实际扣款金额 |
实际扣款金额(分);失败时可能为空 |
subscription_status |
string | 是 | subscription_status / 订阅状态 |
当前订阅状态 |
channel_order_no |
string | 否 | channel_order_no / 渠道订单号 |
渠道订单号 |
error_code |
string | 是 | error_code / 业务错误码 |
错误码;成功时为空串 |
error_message |
string | 是 | error_message / 业务错误信息 |
错误描述;成功时为空串 |
通知示例(成功):
{
"event_type": "PAYMENT",
"trade_no": "DD01010120260319120000000001",
"subscription_no": "SP01010120260319120000000001",
"out_trade_no": "MCH202603190001",
"trade_status": "SUCCESS",
"deduct_period": 3,
"bill_date": "2026-05-25T16:00:00+08:00",
"original_amount": 1990,
"actual_amount": 1592,
"subscription_status": "ACTIVE",
"channel_order_no": "CH2026031912000001",
"error_code": "",
"error_message": ""
}
通知示例(失败):
{
"event_type": "PAYMENT",
"trade_no": "DD01010120260319120000000002",
"subscription_no": "SP01010120260319120000000001",
"out_trade_no": "MCH202603190001",
"trade_status": "FAILED",
"deduct_period": 3,
"bill_date": "2026-05-25T16:00:00+08:00",
"original_amount": 1990,
"subscription_status": "SUSPENDED",
"error_code": "INSUFFICIENT_BALANCE",
"error_message": "余额不足"
}
商户回执示例:
{
"code": "SUCCESS",
"message": "ok"
}
订阅类通知(event_type=SUBSCRIPTION)
| 字段 | 类型 | 必填 | 匹配后(key / 中文名) | 说明 |
|---|---|---|---|---|
event_type |
string | 是 | event_type / 通知的类型 |
固定 SUBSCRIPTION |
subscription_no |
string | 是 | subscription_no / 订阅号 |
订阅号 |
out_trade_no |
string | 是 | out_trade_no / 商户订单号 |
商户签约订单号 |
product_code |
string | 是 | product_code / 产品码 |
产品编码 |
merchant_user_id |
string | 否 | merchant_user_id / 商户用户 ID |
用户标识 |
subscription_status |
string | 是 | subscription_status / 订阅状态 |
订阅状态(见 1.1) |
deduct_period |
integer | 是 | deduct_period / 扣款周期数 |
当前期数 |
total_period |
integer | 否 | total_period / 总期数 |
总期数 |
period_amount |
integer | 是 | period_amount / 每期扣款金额 |
每期扣款金额(分) |
applied_pricing_type |
string | 否 | applied_pricing_type / 营销定价类型 |
营销定价类型 |
next_deduction_time |
string | 否 | next_deduction_time / 下次扣款时间 |
下次扣款时间 |
sign_time |
string | 是 | sign_time / 签约时间 |
签约时间 |
activate_time |
string | 否 | activate_time / 激活时间 |
激活时间 |
cancel_time |
string | 否 | cancel_time / 取消时间 |
取消时间 |
通知示例(签约成功):
{
"event_type": "SUBSCRIPTION",
"subscription_no": "SP01010120260319120000000001",
"out_trade_no": "MCH202603190001",
"product_code": "MONTHLY_VIP",
"merchant_user_id": "U10001",
"subscription_status": "ACTIVE",
"deduct_period": 1,
"total_period": 12,
"period_amount": 1990
}
通知示例(失败):
{
"event_type": "SUBSCRIPTION",
"subscription_no": "SP01010120260319120000000001",
"out_trade_no": "MCH202603190001",
"product_code": "MONTHLY_VIP",
"merchant_user_id": "U10001",
"subscription_status": "FAILED",
"deduct_period": 1,
"total_period": 12,
"period_amount": 1990,
"applied_pricing_type": "FIRST_PERIOD_DISCOUNT",
"sign_time": "2026-05-25T16:00:00+08:00"
}
商户回执示例:
{
"code": "SUCCESS",
"message": "ok"
}
##