📄 正文
组织开户、员工创建、建卡、卡状态、3DS 挑战、交易三态与入金预警,共 18 个出站事件,分五组。所有事件共用同一套信封——读webhookType 再解析对应的 data 即可,接收端只需一个接口。
前置条件:先登记回调地址、准备好用SK复算X-Signature。配置步骤与验签代码见 Webhook 配置。
信封
信封与平台其他产品线的 Webhook 公共结构一致,您可以用同一套代码消费各产品线的事件。所有 ID 字段均为字符串;金额为字符串且不保证尾随零。
事件总览(18 个)
除
ORGANIZATION_REJECTED(主体尚未创建)与三个交易事件(归属可由 cardId 稳定推导)外,所有事件的 data 都带 organizationId,您无需回查主体归属。组织事件
ORGANIZATION_CREATED
ORGANIZATION_REJECTED
ORGANIZATION_STATUS_CHANGED
镜像更新组织限制项,限制项变更落定后推送。
员工事件
CUSTOMER_CREATED
CUSTOMER_REJECTED
CUSTOMER_STATUS_CHANGED
镜像更新员工限制项。
卡事件
CARD_CREATED
CARD_REJECTED
CARD_SHIPPED
物流单号生成时推送,恰好一次。
CARD_ACTIVATED
CARD_STATUS_CHANGED
本事件不含「激活」与「过期」:激活单独发
CARD_ACTIVATED,过期当前无触发源。7 个卡状态见管理卡片。AUTHORISATION_3DS_CHALLENGE
业务流程与回传见 3DS 挑战。
以下四个字段仅
challengeFlowType=OTP_DELEGATE 且入驻方配置 otpSendMode=ENTERPRISE 时填充:
解密:
AES/GCM/NoPadding,128 位认证标签;密钥即接入方 SK(与请求签名同一把),与获取卡敏感信息同一套约定。
交易事件
三个交易事件描述的事实与账单明细同源,复用账单域的词条:panLast4 / transactionTime / transactionCategory / originalAmount+originalCurrency(交易原始金额)/ postAmount+postCurrency(入账金额)/ merchantName / mcc / merchantCountryCode。
交易事件不带
organizationId:归属可由 cardId 稳定推导——卡与所属组织的关系在建卡时确定且此后不变,您在 CARD_CREATED 里已经收到该卡的 organizationId。交易类事件量级远高于生命周期事件,故只带必需字段。需要按组织汇总时请用账单与交易查询。CARD_TRANSACTION
授权与 release 合一,通过与拒绝由 status 区分。
CARD_TRANSACTION_SETTLEMENT
CARD_TRANSACTION_DEBT
进入欠款态时推送。
本载荷有两个语义不同的金额(欠款额、入账额),故各自带限定语、不用裸
amount。
资金事件
LOW_BALANCE
资金池余额低于阈值时预警。阈值设置见公司维护。
BANK_TRANSFER_INFO
VA 入金到账,成功与失败均发,由 status 区分。
BALANCE_CHANGE
尚待定的三件事:通知覆盖哪些余额维度(组织资金池余额 / 自由余额 / 独立余额卡的卡余额);如何标识主体与余额类型;是否每笔账变都发。
下一步
- 回调地址登记、验签与重试约定:Webhook 配置
- 3DS 挑战的接收与结果回传:3DS 挑战
- 用查询接口做兜底对账:账单与交易查询

