基本定义
- 方向:通知商户
notify_url - 方法:
POST - Content-Type:
application/json
事件类型 event_type
event_type |
说明 |
DEDUCT_SUCCESS |
扣款成功 |
DEDUCT_FAIL |
扣款失败 |
通知体字段(分支 A:成功 trade_status=SUCCESS)
| 字段 |
类型 |
必填 |
说明 |
event_type |
string |
是 |
DEDUCT_SUCCESS |
trade_no |
string |
是 |
平台交易号 |
merchant_id |
string |
是 |
商户号 |
out_trade_no |
string |
是 |
商户订单号 |
contract_no |
string |
是 |
签约号 |
trade_status |
string |
是 |
固定 SUCCESS |
payment_amount |
integer |
是 |
扣款金额(分),JSON number |
success_agreement_no |
string |
是 |
成功协议绑定号 |
successful_payment_time |
string |
是 |
成功时间 |
bank_code |
string |
否 |
扣款成功卡银行编码 |
bank_card_type |
string |
否 |
扣款成功卡类型,如 D/C |
bank_card_no_masked |
string |
否 |
扣款成功卡脱敏卡号;账户侧 cardNoMask 原样透传,格式如 ****5661 |
error_code |
string |
是 |
空串 |
error_message |
string |
是 |
空串 |
create_time |
string |
是 |
通知创建时间 |
通知示例:
{
"event_type": "DEDUCT_SUCCESS",
"trade_no": "4101010120250525120000000001",
"merchant_id": "M100001",
"out_trade_no": "DED202505250001",
"contract_no": "C20250525000001",
"trade_status": "SUCCESS",
"payment_amount": 1990,
"success_agreement_no": "AGR20250525000001",
"successful_payment_time": "2026-05-25T15:10:01+08:00",
"bank_code": "ICBC",
"bank_card_type": "D",
"bank_card_no_masked": "****5661",
"error_code": "",
"error_message": "",
"create_time": "2026-05-25T15:10:01+08:00"
}
通知体字段(分支 B:失败 trade_status=FAIL)
| 字段 |
类型 |
必填 |
说明 |
event_type |
string |
是 |
DEDUCT_FAIL |
trade_no |
string |
是 |
平台交易号 |
merchant_id |
string |
是 |
商户号 |
out_trade_no |
string |
是 |
商户订单号 |
contract_no |
string |
是 |
签约号 |
trade_status |
string |
是 |
固定 FAIL |
payment_amount |
integer |
否 |
失败时可能为空 |
error_code |
string |
是 |
失败错误码 |
error_message |
string |
是 |
失败原因 |
create_time |
string |
是 |
通知创建时间 |
通知处理规范
- 验签通过后处理业务,建议返回 HTTP
2xx。 - 响应 JSON 体(如
{ "code": "SUCCESS" })