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

# 使用奖励支付

> 在 createTransfer 或 requestAccountTransfer 上传入 useRewardsBalance,即可使用发送方的奖励余额(单独使用或与现金余额一起使用)向 Fluz 账户转账。

设置 `useRewardsBalance: true`,即可让发送方在向 Fluz 账户转账时使用其**奖励余额**支付。Fluz 会先扣除发送方的现金,不足部分使用奖励余额。如果发送方没有可用现金,则全部金额均从奖励余额中扣除。

该参数适用于两个操作:

| 操作 | 输入 | 范围 | 认证 |
| :- | :- | :- | :- |
| [`createTransfer`](https://docs.fluz.app/features/send-to-a-fluz-account) | `CreateTransferInput` | `MAKE_PAYOUT_TRANSFER_SEND` | Bearer 令牌,或在 `ACTIVE` 状态的公共应用上使用 Basic Auth |
| [`requestAccountTransfer`](https://docs.fluz.app/features/request-account-transfer-approval) | `RequestAccountTransferInput` | `REQUEST_ACCOUNT_TRANSFER` | 与 `createTransfer` 相同 |

转账的其他方面,例如目标账户、认证和幂等性,均与[发送资金](https://docs.fluz.app/features/send-to-a-fluz-account)中所述一致。

> [!NOTE]
>
> **奖励只能用于向 Fluz 账户转账。**
>
> * `sendMoney` 和 `createExternalPayout` 只能使用现金余额。
> * 若要将奖励转入用户自己的银行账户,请使用 [`withdrawCashBalance`](https://docs.fluz.app/features/withdraw-to-external-account) 并设置 `source: REWARDS_BALANCE`。每次提现请求只能选择一个来源,现金或奖励,不能同时使用两者。
> * 预付款 / 礼品卡余额不能用于任何转账。

***

## useRewardsBalance

`useRewardsBalance: Boolean` 在两个输入中均为可选项。

| 值 | 资金来源 |
| :- | :- |
| 省略或 `false` | 仅使用发送方的消费账户。这是默认值。 |
| `true` | 先使用发送方的消费账户,最高不超过转账金额,其余部分由奖励余额支付。如果消费账户没有可用现金,则全部金额均从奖励余额中扣除。 |

收款方收到的资金始终进入消费账户。您无法向他人的奖励余额转账。

***

## createTransfer

```graphql theme={null}
mutation {
  createTransfer(input: {
    idempotencyKey: "550e8400-e29b-41d4-a716-446655440010"
    amount: 25.00
    useRewardsBalance: true
    destination: {
      accountId: "b2c3d4e5-f6a7-8901-bcde-f23456789012"
    }
  }) {
    success
    message
    transferId
  }
}
```

```text theme={null}
Authorization: Bearer <user-access-token>
```

这与仅使用现金的转账相同,只是增加了 `useRewardsBalance: true`。

### 使用已关联的资金来源

使用 Bearer 令牌时,`bankCardId`、`bankAccountId` 和 `paypalVaultId` 仍然有效,每次请求只能使用其中一个。Fluz 会先从该来源向发送方的消费账户存入资金,然后 `useRewardsBalance` 仍会应用于该笔转账。

***

## requestAccountTransfer

`requestAccountTransfer` 会将转账提交审批,而不是立即发送。请在请求中传入 `useRewardsBalance`,审批人批准后将按该设置执行。

```graphql theme={null}
mutation {
  requestAccountTransfer(input: {
    idempotencyKey: "550e8400-e29b-41d4-a716-446655440011"
    amount: 25.00
    useRewardsBalance: true
    destination: {
      accountId: "b2c3d4e5-f6a7-8901-bcde-f23456789012"
    }
  }) {
    success
    messageId
    error {
      code
      message
    }
  }
}
```

使用 `approveApprovalRequest` 或 `declineApprovalRequest` 来批准或拒绝,这两个操作需要 `MANAGE_APPROVALS`。请参阅[请求账户转账审批](https://docs.fluz.app/features/request-account-transfer-approval.md)。

***

## 错误

错误以标准 GraphQL 格式返回。当转账无法完成时,`createTransfer` 返回 `null`。

```json theme={null}
{
  "data": {
    "createTransfer": null
  },
  "errors": [
    {
      "message": "Insufficient funds",
      "extensions": {
        "code": "WDR-0001",
        "name": "InsufficientBalanceError",
        "status_code": 400
      }
    }
  ]
}
```

| 代码 | 触发情况 |
| :- | :- |
| `WDR-0001` | 现金加奖励,或仅奖励,不足以支付该金额。不会进行任何转账。 |
| 其他 `createTransfer` 错误 | 通常的目标账户、认证、幂等性和资金来源规则仍然适用。请参阅[发送资金](https://docs.fluz.app/features/send-to-a-fluz-account#errors)。 |

请在 API 参考中查看 [`createTransfer`](https://docs.fluz.app/api-reference/mutations/create-transfer) 和 [`CreateTransferInput`](https://docs.fluz.app/api-reference/types/create-transfer-input)。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.