> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thedecard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 实时授权与清算

> 授权在 DCS 侧实时完成主体状态、限额与余额的校验链并冻结金额（UNPOSTED）；结果经 CARD_TRANSACTION 推送，清算经 CARD_TRANSACTION_SETTLEMENT 转为 POSTED 入账，欠款经 CARD_TRANSACTION_DEBT 通知。

## 📄 正文

授权环节您没有同步动作要做——每一笔授权由 DCS 实时拍板，您的工作是把三个交易事件消费好：授权结果（`CARD_TRANSACTION`）、清算入账（`CARD_TRANSACTION_SETTLEMENT`）、欠款告警（`CARD_TRANSACTION_DEBT`）。本页按一笔交易的生命周期，讲清授权在 DCS 侧的校验链、每个事件到达时的资金语义，以及对账时该以哪个字段为准。生命周期概念见[交易生命周期](../basic-concepts/transaction-lifecycle)。

## 授权：DCS 侧的校验链

持卡人消费时，DCS 在授权环节实时完成一条校验链，任一环不通过即拒绝：

1. **主体状态**——公司、员工与卡片须处于可交易状态；
2. **限额规则**——校验该卡命中的限额规则（规则配置见[设置消费限额](./spend-limits)）；
3. **可用余额**——公司资金池可用余额须足额覆盖授权金额。

校验通过后，DCS **冻结相应金额并占用对应的限额额度**。此时资金尚未真正划出，交易在账单中呈现为授权占用，`postStatus` 为 `UNPOSTED`。授权与清算之间通常间隔数小时至数日。

## 三个交易事件一览

交易环节涉及的事件共三个，触发时机如下：

| 事件 `type`                     | 触发时机                                 |
| ----------------------------- | ------------------------------------ |
| `CARD_TRANSACTION`            | 卡授权 / release（通过与拒绝合一，由 `status` 区分） |
| `CARD_TRANSACTION_SETTLEMENT` | 卡清算                                  |
| `CARD_TRANSACTION_DEBT`       | 卡片进入欠款态                              |

线上消费触发 3DS 时还会推送 `AUTHORISATION_3DS_CHALLENGE`，属挑战验证环节，见[3DS 挑战处理](./3ds-challenges)。

## CARD\_TRANSACTION：授权结果事件

授权与 release 的结果统一经 Webhook `CARD_TRANSACTION` 推送，**通过与拒绝合一**，由 `status` 区分（`APPROVED` 通过 / `DECLINED` 拒绝）。`data` 字段如下：

| 字段                                    | 说明                                 |
| ------------------------------------- | ---------------------------------- |
| `cardId`                              | 卡 ID                               |
| `panLast4`                            | 卡号后四位                              |
| `status`                              | 授权结果：`APPROVED` 通过 / `DECLINED` 拒绝 |
| `direction`                           | 资金方向（消费为 `DEBIT`）                  |
| `originalAmount` / `originalCurrency` | 原始交易金额与币种                          |
| `postAmount` / `postCurrency`         | 核销金额与币种                            |
| `transactionCategory`                 | 交易性质（如 `PURCHASE`）                 |
| `mcc`                                 | 商户类别码                              |
| `merchantName`                        | 商户名称与位置                            |
| `merchantCountryCode`                 | 商户国家代码                             |
| `transactionId`                       | 交易标识，用于与流水 / 账单对账                  |

示例（授权通过的一笔消费）：

```json theme={null}
{
  "webhookId": "7800000000000000941", "webhookType": "CARD_TRANSACTION",
  "businessId": "5185740066240791001", "notificationTime": "2026-08-25T02:30:00Z",
  "data": { "cardId": "7830000000000009001", "panLast4": "4417",
    "status": "APPROVED", "direction": "DEBIT",
    "originalAmount": "16.45", "originalCurrency": "USD",
    "postAmount": "16.45", "postCurrency": "USD",
    "transactionCategory": "PURCHASE", "mcc": "5812",
    "merchantName": "ONLINE MERCHANT",
    "merchantCountryCode": "US", "transactionId": "TXN20260802000012345" }
}
```

## 清算：从占用到入账

商户后续发起清算时，DCS 按**实际清算金额**完成扣款并正式入账，`postStatus` 从 `UNPOSTED` 转为 `POSTED`，交易计入对应账期的账单，并推送 Webhook `CARD_TRANSACTION_SETTLEMENT`。

<Note>
  **清算金额可能与授权金额不同**——如含小费、汇率差异或商户少扣。对账请以清算事件中的实际金额为准，不要假设它等于授权时冻结的金额。流水与账单查询见[资金与对账](./funding-and-reconciliation)。
</Note>

## 冲正、退款与欠款的资金语义

清算并非唯一的后续走向。以下三类场景的资金语义各不相同，请勿混用记账逻辑：

| 场景    | 发生时点         | 资金语义                                                             |
| ----- | ------------ | ---------------------------------------------------------------- |
| 冲正与撤销 | 授权后、清算前      | DCS **原路释放**已冻结的金额并**恢复**已占用的限额额度，不留残余占用                         |
| 退款与拒付 | 清算后          | 退款作为一笔**方向相反的独立入账**处理，**不逆向冲销**历史的限额计数；拒付按争议流程跟踪至结案              |
| 欠款    | 延迟清算或商户超额请款等 | 账户可用余额可能被**穿透为负**，账户随即进入欠款态并推送 `CARD_TRANSACTION_DEBT`，合作伙伴需按期还款 |

<Warning>
  收到 `CARD_TRANSACTION_DEBT` 表示公司账户已进入欠款态。请及时充值还款——资金池的入金与余额管理见[资金与对账](./funding-and-reconciliation)。
</Warning>

## 从授权到入账：一图看全

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/dcs-0bf7a937/oUoeUKtwWWK2o-Li/imgs/diagrams/corp-realtime-auth-light.svg?fit=max&auto=format&n=oUoeUKtwWWK2o-Li&q=85&s=84d4ba0ef810e9198a8fe3ac64815517" alt="从授权占用到清算入账的资金流转" width="788" height="418" data-path="imgs/diagrams/corp-realtime-auth-light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/dcs-0bf7a937/oUoeUKtwWWK2o-Li/imgs/diagrams/corp-realtime-auth-dark.svg?fit=max&auto=format&n=oUoeUKtwWWK2o-Li&q=85&s=437d2e3e3c1d63fe3e34af78b8813865" alt="从授权占用到清算入账的资金流转" width="788" height="418" data-path="imgs/diagrams/corp-realtime-auth-dark.svg" />
</Frame>

### 跟一笔消费走一遍

以上文示例中的那笔 `16.45 USD` 消费为例：

1. **授权**——持卡人在商户下单，DCS 依次校验主体状态、限额规则与可用余额，全部通过后冻结 `16.45` 并占用限额额度，推送 `CARD_TRANSACTION`(`status=APPROVED`、`direction=DEBIT`）。您在账单上看到一笔 `UNPOSTED` 的授权占用。
2. **清算**——数小时至数日后商户请款，DCS 按实际清算金额扣款并入账，`postStatus` 转为 `POSTED`、计入当期账单，推送 `CARD_TRANSACTION_SETTLEMENT`。您以事件中的实际金额更新自己的账，并用 `transactionId` 与第 1 步的授权对上。
3. **分叉**——若商户在清算前撤销，则走冲正：冻结释放、限额恢复，不留残余占用；若清算后退货，退款作为方向相反的独立入账到达；若清算把可用余额穿透为负，则收到 `CARD_TRANSACTION_DEBT`，需按期还款。

## 消费好这些事件

三个交易事件都是 DCS 主动向您推送的 HTTP POST 回调，共用一套信封结构与验签、重试、幂等规则：

* 以 `webhookId` 做幂等去重，重复推送只处理一次；
* 以 `status` 判授权结果、以 `transactionId` 关联同一笔交易的授权与清算；
* 记账更新以清算事件为准，授权事件只做占用展示。

Webhook 接收端配置、信封结构与验签规则见[快速开始](../getting-started/quickstart)。

## 下一步

* 用限额规则控制授权通过率：[设置消费限额](./spend-limits)
* 线上消费触发 3DS 时如何参与验证：[3DS 挑战处理](./3ds-challenges)
