> ## 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.

# 在消费账户之间转账

在你自己的两个 Fluz **消费账户** 之间移动资金——在一次操作中从来源消费账户取款并存入目标消费账户，使用 `transferInternalBalance` 变更。

<Note>
  **此操作在你自己的消费账户之间转账。**

  消费账户是一个现金余额账户（`UserCashBalance` 类型）。此变更会将资金从你的一个消费账户转移到另一个。若要向**其他 Fluz 用户**汇款，请改用 [转账到另一位 Fluz 账户](/features/transfer-to-another-fluz-wallet)。
</Note>

***

## 在消费账户之间转移资金

要将资金从一个消费账户转移到另一个，使用 `transferInternalBalance` 变更。它接收一个 `TransferInternalBalanceInput` 输入对象，用于标识来源消费账户、目标消费账户以及金额。

### TransferInternalBalanceInput

| 字段                           | 类型      | 必填 | 说明                                           |
| ---------------------------- | ------- | -- | -------------------------------------------- |
| amount                       | Float!  | 是  | 要从来源消费账户转到目标消费账户的金额。                         |
| idempotencyKey               | String! | 是  | 客户端生成的唯一字符串，确保请求处理的幂等性。若多次提交相同的键，仅第一次请求会被处理。 |
| sourceUserCashBalanceId      | UUID!   | 是  | 提取资金的**来源**消费账户。                             |
| destinationUserCashBalanceId | UUID!   | 是  | 存入资金的**目标**消费账户。                             |

<Callout icon="💡">
  ### 两个 ID 都必须是你自己的消费账户。

  使用 [获取消费账户](/features/get-spend-accounts) 查找每个消费账户的 `userCashBalanceId`。来源与目标必须是两个不同的消费账户，且来源账户须有足够的可用余额覆盖本次转账。
</Callout>

### 示例请求

GraphQL

```text theme={null}
mutation transferInternalBalance($input: TransferInternalBalanceInput!) {
  transferInternalBalance(input: $input) {
    cashBalanceDeposit {
      cashBalanceDepositId
      depositDisplayId
      depositAmount
      depositFee
      bankAccountId
      transactionDate
      clearedDate
      status
      expectedClearedDate
      cashBalanceDepositType
      cashBalanceSettlements {
        cashBalanceSettlementId
        cashBalanceDepositId
        availabilityType
        status
      }
    }
    withdraw {
      withdrawId
      amount
      processingFee
      chargedFee
      status
      displayStatus
      withdrawSource
      submissionDate
      createdAt
      updatedAt
      transactionLogId
      externalTransactionId
      payoutId
      emailAddress
      bankAccountId
      userCashBalanceId
      seatId
    }
  }
}
```

### 示例输入

在此示例中，\$6.00 从来源消费账户转入目标消费账户。

JSON

```text theme={null}
{
  "idempotencyKey": "1f1df3e7-5d43-4e3d-83de-31922d4aefb7",
  "amount": 6.00,
  "sourceUserCashBalanceId": "6d1b4b19-deef-42f5-80d7-ec34804ce090",
  "destinationUserCashBalanceId": "bb584e49-d030-4a6e-a5a9-1c34368cbaed"
}
```

### 示例响应

***

## 了解响应

一次内部转账会被记录为两个关联的流水：从来源消费账户的**取款**，以及向目标消费账户的**存款**。响应会返回这两部分。

| 字段名                | 类型                 | 说明            |
| ------------------ | ------------------ | ------------- |
| cashBalanceDeposit | CashBalanceDeposit | 记入目标消费账户的存款。  |
| withdraw           | Withdraw           | 从来源消费账户发起的取款。 |

### cashBalanceDeposit

`cashBalanceDeposit` 对象包含记入目标消费账户的存款详情。

| 字段名                    | 类型                        | 说明                                                                  |
| ---------------------- | ------------------------- | ------------------------------------------------------------------- |
| cashBalanceDepositId   | UUID!                     | 现金余额存款的唯一标识符。                                                       |
| depositDisplayId       | String!                   | 用于面向用户展示的存款显示标识符。                                                   |
| depositAmount          | String!                   | 存款金额。                                                               |
| depositFee             | String                    | 与存款相关的费用（如适用）。                                                      |
| bankCardId             | UUID                      | 用于存款的银行卡标识符。                                                        |
| bankAccountId          | UUID                      | 用于存款的银行账户标识符。                                                       |
| paypalVaultId          | UUID                      | 用于存款的 PayPal 保险库标识符。                                                |
| transactionDate        | DateTime!                 | 发起交易的日期与时间。                                                         |
| clearedDate            | DateTime                  | 存款入账的日期与时间（如适用）。                                                    |
| status                 | CashBalanceDepositStatus! | 存款的当前状态。                                                            |
| expectedClearedDate    | DateTime!                 | 预计的入账日期与时间。                                                         |
| cashBalanceDepositType | CashBalanceDepositType!   | 现金余额存款的类型，包括 CASH\_BALANCE、GIFT\_CARD\_PREPAYMENT、RESERVE\_BALANCE。 |
| cashBalanceSettlements | \[CashBalanceSettlement]  | 存款的结算时间详情，包括状态与类型。                                                  |

### withdraw

`withdraw` 对象包含从来源消费账户取款的详情。

| 字段名                   | 类型              | 说明                             |
| --------------------- | --------------- | ------------------------------ |
| withdrawId            | UUID!           | 取款的唯一标识符。                      |
| amount                | String!         | 取款金额。                          |
| processingFee         | String!         | 处理该取款所收取的费用。                   |
| chargedFee            | String!         | 向用户收取的取款费用。                    |
| status                | String!         | 取款的内部状态。                       |
| displayStatus         | String!         | 取款的用户可见显示状态。                   |
| withdrawSource        | WithdrawSource! | 取款所对应的资金来源余额。                  |
| submissionDate        | DateTime!       | 提交取款的日期与时间。                    |
| createdAt             | DateTime!       | 创建取款记录的日期与时间。                  |
| updatedAt             | DateTime!       | 最近一次更新取款记录的日期与时间。              |
| transactionLogId      | UUID            | 关联的交易日志标识符。                    |
| externalTransactionId | String          | 来自支付网关的外部交易标识符（用于 ACH）。        |
| payoutId              | String          | 来自支付网关的付款标识符（用于 PayPal/Venmo）。 |
| emailAddress          | String          | 与取款关联的电子邮箱地址。                  |
| bankAccountId         | UUID            | 使用的银行账户标识符（如适用）。               |
| userCashBalanceId     | UUID            | 资金被取出的来源消费账户标识符。               |
| seatId                | UUID            | 与账户关联的席位标识符。                   |

<Warning>
  **需要授权**

  此变更需要 `MAKE_INTERNAL_TRANSFER` 范围。请在尝试在消费账户之间进行内部转账之前，确保你的访问令牌已被授予该范围。
</Warning>

<br />
