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

# 虚拟账号（Virtual Account Numbers）

> 为每个消费账户分配真实的路由号和账号，使外部付款方可通过 RTP、FedNow、电汇或 ACH 向其推送资金。

**虚拟账号（VAN）** 是由银行签发的真实路由号与账号组合，指向用户的某个[消费账户](/features/spend-accounts)。Fluz 之外的任何人——雇主、银行、客户、平台——都可以向该路由号与账号组合汇款，资金将作为一笔存款进入该消费账户。

VAN 本身不持有资金。**消费账户持有余额。** VAN 只是路由至该账户的另一个地址。

<Note>
  **一份余额，多个地址。**

  一个消费账户可以拥有多个激活的虚拟账号，其中恰有一个被标记为**主账号（primary）**。同一账户上的每个 VAN 都计入同一余额——它们的存在是为了区分不同的付款方，例如工资发放与某个特定客户，而无需拆分资金。
</Note>

***

## 它们如何协同工作

```mermaid theme={null}
flowchart LR
    subgraph EXT["External Senders"]
        E1[Employer payroll]
        E2[User's outside bank]
        E3[Customer or partner]
    end

    subgraph VANS["Virtual Account Numbers"]
        V1["VAN — primary\nrouting + account"]
        V2["VAN — secondary\nrouting + account"]
    end

    SA[("Spend Account\nUserCashBalance\nholds the balance")]

    OUT["Gift cards · Virtual cards\nInternal transfers · Withdrawals"]

    E1 -->|ACH credit| V1
    E2 -->|RTP / FedNow| V1
    E3 -->|Wire| V2

    V1 --> SA
    V2 --> SA
    SA --> OUT
```

资金通过 VAN 流入。资金流出仍与以往一致——礼品卡与虚拟卡充值、内部转账，以及提现至已关联的外部账户。

***

## 支持的支付轨道

汇入虚拟账号的入账目前支持四条轨道：

| Rail       | Direction   | Typical availability | Notes                             |
| ---------- | ----------- | -------------------- | --------------------------------- |
| **RTP**    | Credit (in) | 近乎实时，7×24            | 付款方银行必须接入 The Clearing House RTP。 |
| **FedNow** | Credit (in) | 近乎实时，7×24            | 付款方银行必须是 FedNow 参与行。              |
| **Wire**   | Credit (in) | 同个工作日                | 仅限境内电汇。汇出行费用由付款方承担。               |
| **ACH**    | Credit (in) | 1–2 个工作日             | 标准 ACH 入账，包括工资直接存入。               |

<Warning>
  **暂不支持 ACH 借记（pull）。**

  目前虚拟账号只能**接收**资金。你不能使用 VAN 的路由号与账号来发起 ACH 借记——第三方无法凭这些信息从消费账户中拉取资金。对 ACH 借记的支持**即将推出**。

  如需在当前将资金转出，请使用[提现至外部账户](/features/withdraw-funds)或[内部转账](/features/transfer-between-spend-accounts)。
</Warning>

***

## 一笔入账的表现形式

当资金到达虚拟账号时，Fluz 会在目标消费账户上记录一笔标准**存款**。该存款的**资金来源（funding source）为虚拟账号**——而非银行卡、银行账户或 PayPal——因为这笔资金源自 Fluz 之外，是被“推入”的，而不是从关联支付方式“拉取”的。

这意味着：

* 这笔入账会和其他存款一起显示在交易与存款历史中。
* 不会有可对账的关联资金来源对象，也不存在备用卡冻结，因为并未对用户进行扣款。
* 存款可归因到接收该笔资金的具体 VAN，因此当一个消费账户拥有多个 VAN 时，你可以区分工资入账与客户付款。

```mermaid theme={null}
sequenceDiagram
    participant S as External sender
    participant B as Receiving bank
    participant F as Fluz
    participant SA as Spend account

    S->>B: Push funds to VAN routing + account
    B->>F: Credit received (RTP / FedNow / Wire / ACH)
    F->>F: Match VAN to spend account
    F->>SA: Post deposit (funding source: virtual account)
    F-->>S: Funds available to spend
```

***

## 获取用户的虚拟账号

使用 `getSpendAccountVirtualAccountNumbers` 列出某个消费账户上的激活 VAN。它会返回所有激活的 VAN，其中一个被标记为主账号（primary）。

**所需权限范围（Scope）：** `LIST_PAYMENT`

```graphql theme={null}
query getSpendAccountVirtualAccountNumbers($userCashBalanceId: UUID!) {
  getSpendAccountVirtualAccountNumbers(userCashBalanceId: $userCashBalanceId) {
    virtualAccountNumberId
    routingNumber
    accountNumber
    accountType
    bankName
    isPrimary
    status
    createdAt
  }
}
```

```json Variables theme={null}
{
  "userCashBalanceId": "9c1f6b2e-4d7a-4c3b-9f11-2a5e8b0d6c74"
}
```

| 参数                  | 类型      | 必填 | 说明              |
| ------------------- | ------- | -- | --------------- |
| `userCashBalanceId` | `UUID!` | 是  | 你要查询其虚拟账号的消费账户。 |

返回 `[SpendAccountVirtualAccountNumber!]!`。完整字段列表参见[类型参考](/api-reference/types/spend-account-virtual-account-number)。

<Note>
  **展示账号信息。**

  VAN 的完整账号属于敏感信息。请在列表视图中进行掩码处理，仅在用户明确操作后才展示完整值，类似处理卡片 PAN 的方式。当用户需要将信息提供给第三方时，优先使用[虚拟账号文档](/features/virtual-account-documents)中所述的 PDF 生成文件，而不是自由复制粘贴。
</Note>

***

## 将信息交给第三方

与其让用户在工资发放门户中手动输入路由号和账号，或通过电子邮件发送给对手方，Fluz 支持按需生成 PDF 文档：

| 文档          | 查询                                   | 使用场景                           |
| ----------- | ------------------------------------ | ------------------------------ |
| **付款说明**    | `getSpendAccountPaymentInstructions` | 提供发起电汇或 ACH 入账所需的详细信息给客户或合作伙伴。 |
| **工资存款表单**  | `getSpendAccountPaycheckDepositForm` | 预填的直接存款表，供雇主薪资部门使用。            |
| **账户状态证明信** | `getSpendAccountStatusLetter`        | 账户证明，可选显示当前余额。                 |

在省略 `virtualAccountNumberId` 时，这三类文档都会默认使用消费账户的**主** VAN，且均需要 `LIST_PAYMENT` 权限范围。

完整参考请见[虚拟账号文档](/features/virtual-account-documents)。

***

## 前置要求

* 用户必须至少拥有一个**激活的消费账户**。
* 读取虚拟账号与生成文档都需要用户访问令牌上具备 `LIST_PAYMENT` 权限范围。
* 虚拟账号由 Fluz 统一配置，不能通过 API 创建。

***

## 相关内容

<CardGroup cols={2}>
  <Card title="消费账户" icon="wallet" href="/features/spend-accounts">
    实际持有余额的账户。
  </Card>

  <Card title="虚拟账号文档" icon="file-pdf" href="/features/virtual-account-documents">
    付款说明、存款表单与账户状态证明。
  </Card>

  <Card title="存入资金" icon="arrow-down-to-line" href="/features/deposit-from-external-accounts">
    从已关联的银行账户或银行卡拉取资金入账。
  </Card>

  <Card title="资金来源" icon="credit-card" href="/features/funding-sources">
    Fluz 对入账资金的分类方式。
  </Card>
</CardGroup>

***

**想了解更多？** 与我们的专家交流以获取更多信息或申请演示。
