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

# Pagar con recompensas

> Pasa useRewardsBalance en createTransfer o requestAccountTransfer para enviar dinero a una cuenta de Fluz desde las recompensas del remitente, solas o junto con su saldo en efectivo.

Establece `useRewardsBalance: true` para que el remitente pueda pagar con su **saldo de recompensas** al enviar dinero a una cuenta de Fluz. Fluz toma primero el efectivo del remitente y usa las recompensas para el resto. Si el remitente no tiene efectivo disponible, el monto completo se toma de las recompensas.

Funciona en dos operaciones:

| Operación | Input | Scope | Autenticación |
| :- | :- | :- | :- |
| [`createTransfer`](https://docs.fluz.app/features/send-to-a-fluz-account) | `CreateTransferInput` | `MAKE_PAYOUT_TRANSFER_SEND` | Bearer token, o Basic Auth en una aplicación pública `ACTIVE` |
| [`requestAccountTransfer`](https://docs.fluz.app/features/request-account-transfer-approval) | `RequestAccountTransferInput` | `REQUEST_ACCOUNT_TRANSFER` | Igual que `createTransfer` |

Todo lo demás sobre el envío, como el destino, la autenticación y la idempotencia, funciona como se describe en [Enviar dinero](https://docs.fluz.app/features/send-to-a-fluz-account).

> [!NOTE]
>
> **Las recompensas solo pueden pagar envíos a una cuenta de Fluz.**
>
> * `sendMoney` y `createExternalPayout` solo aceptan saldo en efectivo.
> * Para mover recompensas a la cuenta bancaria del propio usuario, usa [`withdrawCashBalance`](https://docs.fluz.app/features/withdraw-to-external-account) con `source: REWARDS_BALANCE`. Un retiro admite una sola fuente por solicitud, efectivo o recompensas, no ambas.
> * El saldo prepagado / de tarjetas de regalo no puede financiar ningún envío.

***

## useRewardsBalance

`useRewardsBalance: Boolean` es opcional en ambos inputs.

| Valor | De dónde proviene el dinero |
| :- | :- |
| Omitido o `false` | Solo la cuenta de gasto del remitente. Este es el valor predeterminado. |
| `true` | Primero la cuenta de gasto del remitente, hasta el monto. Las recompensas cubren el resto. Si la cuenta de gasto no tiene efectivo disponible, el monto completo se toma de las recompensas. |

El destinatario siempre recibe el dinero en una cuenta de gasto. No es posible enviar dinero al saldo de recompensas de otra persona.

***

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

Es igual que un envío solo en efectivo, con `useRewardsBalance: true` añadido.

### Con una fuente de fondos vinculada

`bankCardId`, `bankAccountId` y `paypalVaultId` siguen funcionando con un Bearer token, uno por solicitud. Fluz deposita primero desde esa fuente en la cuenta de gasto del remitente, y `useRewardsBalance` se sigue aplicando al envío.

***

## requestAccountTransfer

`requestAccountTransfer` envía la transferencia para aprobación en lugar de enviarla de inmediato. Pasa `useRewardsBalance` en la solicitud, y se usará cuando el aprobador la apruebe.

```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
    }
  }
}
```

Aprueba o rechaza con `approveApprovalRequest` o `declineApprovalRequest`, que requieren `MANAGE_APPROVALS`. Consulta [Solicitar aprobación de transferencia de cuenta](https://docs.fluz.app/features/request-account-transfer-approval.md).

***

## Errores

Los errores se devuelven en el formato estándar de GraphQL. `createTransfer` devuelve `null` cuando el envío no puede completarse.

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

| Código | Cuándo |
| :- | :- |
| `WDR-0001` | El efectivo más las recompensas, o las recompensas por sí solas, no pueden cubrir el monto. No se realiza ninguna transferencia. |
| Otros errores de `createTransfer` | Se siguen aplicando las reglas habituales de destino, autenticación, idempotencia y fuente de fondos. Consulta [Enviar dinero](https://docs.fluz.app/features/send-to-a-fluz-account#errors). |

Consulta [`createTransfer`](https://docs.fluz.app/api-reference/mutations/create-transfer) y [`CreateTransferInput`](https://docs.fluz.app/api-reference/types/create-transfer-input) en la referencia de la API.


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