交易状态 trade_status
绑卡主流程查单(HTTP-003)与扣款主单(HTTP-007/008、NOTIFY-002)使用 bind_status / trade_status;NOTIFY-001 绑卡+开户用 account_opened,单独绑卡用 bind_status(不再下发 trade_status)。
| 取值 |
说明 |
典型场景 |
INIT |
已受理,等待处理 |
绑卡流水刚落库 |
PROCESSING |
处理中 |
用户未完成绑卡页、渠道扣款处理中 |
SUCCESS |
终态成功 |
绑卡/开户收敛成功、扣款成功 |
FAIL |
终态失败 |
绑卡失败、扣款失败、链接过期等 |
商户判断建议
- 绑卡/扣款入口同步受理:可能直接返回
SUCCESS / PROCESSING,或网关非 200(见 §14)。 - 查单(HTTP-003 / HTTP-008):以
trade_status 为准;PROCESSING 时网关 code 常为 USER_PAYING。 - 异步通知(NOTIFY-001):
account_opened / bind_status 与查单终态一致;失败详情读 error_code / error_message(§14)。
异步通知事件 event_type
event_type |
说明 |
OPEN_ACCOUNT_SUCCESS |
开户成功 |
OPEN_ACCOUNT_FAIL |
开户失败 |
BIND_CARD_SUCCESS |
绑卡成功 |
BIND_CARD_FAIL |
绑卡失败 |
DEDUCT_SUCCESS |
扣款成功 |
DEDUCT_FAIL |
扣款失败 |
证件类型 identity_document_type
卡类型 bank_card_type
脱敏卡号 bank_card_no_masked
| 项目 |
说明 |
| 格式 |
统一 `**+ 卡号后四位**,如****5661` |
HTTP-003 / NOTIFY-001 bank_card_list |
当次绑卡明细快照,按上表格式脱敏后返回 |
| HTTP-007/008、NOTIFY-002 扣款成功 |
扣款成功卡快照,落库后原样返回 |
不返回明文卡号。
币种 currency
金额字段 payment_amount 单位为 分,类型为 整数(integer / JSON number)。
网关错误码 code
HTTP 同步失败时由 统一网关 返回 code 与 message(通常 HTTP 非 200,或查单处理中 HTTP 200 + code=USER_PAYING)。与 §0.4 一致,补充典型场景:
网关 code |
说明 |
典型场景 |
INVALID_PARAMETER |
参数错误 |
必填缺失、未开户、证件格式错误 |
MERCHANT_NOT_FOUND / MERCHANT_NOT_MATCH |
商户鉴权失败 |
Header 与主体不匹配 |
TRADE_ERROR |
交易/业务失败 |
产品未开通、无可用协议、扣款全失败、绑卡链接申请失败 |
USER_PAYING |
处理中 |
绑卡/扣款 trade_status=PROCESSING |
NOT_FOUND |
记录不存在 |
查单流水不存在 |
ORDER_DUPLICATED / OUT_TRADE_NO_USED |
幂等重复 |
同 out_trade_no 重复受理 |
UNBIND_FAILED |
解绑失败 |
HTTP-006 账户侧解绑未成功 |
REMOTE_CALL_FAILED |
下游调用失败 |
统一会员反查失败等 |
SYSTEM_ERROR |
系统异常 |
未预期错误 |
业务终态码 error_code(通知)与内部 final_code
| 来源 |
字段 |
说明 |
| 异步通知 Body |
error_code / error_message |
失败时下发;成功时为空串 |
常见业务码
| 码 |
说明 |
WF_004003 |
绑卡链接已过期 |
WF_005004 |
协议号全部扣款失败 |
WF_005006 |
指定 agreement_no 与签约号不匹配 |
WF_005007 |
扣款受理超时 |
BF* 等 |
支付渠道返回码 |
主要字段含义
| 字段 |
含义 |
out_trade_no |
商户订单号;绑卡/扣款幂等键:merchant_id + out_trade_no |
trade_no |
平台交易号;查单、通知主键之一 |
contract_no |
钱包账户签约号;扣款必填;绑卡收敛后获得 |
agreement_no |
账户协议绑定号;来自 HTTP-005 或绑卡结果 bank_card_list |
request_id / requestId |
(去掉) |
out_trade_no |
out_trade_no |
success_agreement_no |
扣款成功的协议绑定号 |
bind_order |
协议扣款顺序,升序尝试 |
bank_code |
银行编码 |
bank_card_type |
卡类型 D/C |
bank_card_no_masked |
脱敏卡号,格式 ****5661 |
payment_amount |
扣款金额(分) |
successful_payment_time |
扣款成功时间,ISO 8601(2026-06-09T12:30:45+08:00) |
notify_url |
异步通知地址(HTTPS) |
page_url |
用户绑卡完成后浏览器回跳地址 |
url / token |
绑卡入口;token 为明文 |
expire_time |
绑卡链接/token 过期时间 |
account_opened |
是否已开户 |
customer_no |
客户号 |
create_time |
开户时间;异步通知中为通知创建时间(NOTIFY-001/002) |
unbind_status |
解绑状态:SUCCESS / FAIL |
bind_status |
绑卡结果状态:SUCCESS / PROCESSING / FAIL |
reason |
解绑原因 |
merchant_id |
商户号;通知 Body 中下发;HTTP 请求由 Header 解析 |
event_type |
异步通知事件类型(等同旧版 notifyType) |
bank_card_list |
NOTIFY-001 中为 JSON 数组字符串;HTTP-003 中为 数组 |
card_agreement_list |
HTTP-005 协议列表 数组 |