📄 正文
授权环节您没有同步动作要做——每一笔授权由 DCS 实时拍板,您的工作是把三个交易事件消费好:授权结果(CARD_TRANSACTION)、清算入账(CARD_TRANSACTION_SETTLEMENT)、欠款告警(CARD_TRANSACTION_DEBT)。本页按一笔交易的生命周期,讲清授权在 DCS 侧的校验链、每个事件到达时的资金语义,以及对账时该以哪个字段为准。生命周期概念见交易生命周期。
授权:DCS 侧的校验链
持卡人消费时,DCS 在授权环节实时完成一条校验链,任一环不通过即拒绝:- 主体状态——公司、员工与卡片须处于可交易状态;
- 限额规则——校验该卡命中的限额规则(规则配置见设置消费限额);
- 可用余额——公司资金池可用余额须足额覆盖授权金额。
postStatus 为 UNPOSTED。授权与清算之间通常间隔数小时至数日。
三个交易事件一览
交易环节涉及的事件共三个,触发时机如下:
线上消费触发 3DS 时还会推送
AUTHORISATION_3DS_CHALLENGE,属挑战验证环节,见3DS 挑战处理。
CARD_TRANSACTION:授权结果事件
授权与 release 的结果统一经 WebhookCARD_TRANSACTION 推送,通过与拒绝合一,由 status 区分(APPROVED 通过 / DECLINED 拒绝)。data 字段如下:
示例(授权通过的一笔消费):
清算:从占用到入账
商户后续发起清算时,DCS 按实际清算金额完成扣款并正式入账,postStatus 从 UNPOSTED 转为 POSTED,交易计入对应账期的账单,并推送 Webhook CARD_TRANSACTION_SETTLEMENT。
清算金额可能与授权金额不同——如含小费、汇率差异或商户少扣。对账请以清算事件中的实际金额为准,不要假设它等于授权时冻结的金额。流水与账单查询见资金与对账。
冲正、退款与欠款的资金语义
清算并非唯一的后续走向。以下三类场景的资金语义各不相同,请勿混用记账逻辑:从授权到入账:一图看全
跟一笔消费走一遍
以上文示例中的那笔16.45 USD 消费为例:
- 授权——持卡人在商户下单,DCS 依次校验主体状态、限额规则与可用余额,全部通过后冻结
16.45并占用限额额度,推送CARD_TRANSACTION(status=APPROVED、direction=DEBIT)。您在账单上看到一笔UNPOSTED的授权占用。 - 清算——数小时至数日后商户请款,DCS 按实际清算金额扣款并入账,
postStatus转为POSTED、计入当期账单,推送CARD_TRANSACTION_SETTLEMENT。您以事件中的实际金额更新自己的账,并用transactionId与第 1 步的授权对上。 - 分叉——若商户在清算前撤销,则走冲正:冻结释放、限额恢复,不留残余占用;若清算后退货,退款作为方向相反的独立入账到达;若清算把可用余额穿透为负,则收到
CARD_TRANSACTION_DEBT,需按期还款。
消费好这些事件
三个交易事件都是 DCS 主动向您推送的 HTTP POST 回调,共用一套信封结构与验签、重试、幂等规则:- 以
webhookId做幂等去重,重复推送只处理一次; - 以
status判授权结果、以transactionId关联同一笔交易的授权与清算; - 记账更新以清算事件为准,授权事件只做占用展示。

