Saltar al contenido principal

Descripción general

Un retiro permite a los usuarios transferir fondos desde su saldo de Fluz a una cuenta externa. Los usuarios pueden retirar de dos tipos de saldos:
  • Saldo en efectivo - Fondos depositados por el usuario en su cuenta de Fluz
  • Saldo de recompensas - Ganancias de cashback acumuladas por compras
Fluz admite los siguientes métodos de retiro:

Retirar saldo en efectivo

Ejemplo de solicitud

Puedes iniciar un retiro con la mutación withdrawCashBalance. Esta mutación transfiere fondos del saldo de Fluz del usuario a su cuenta externa especificada.
Esta mutación requiere el tipo de entrada WithdrawCashBalanceInput. Cualquier campo marcado con un signo de exclamación (!) en el esquema es obligatorio y debe incluirse en la solicitud.

Campos de entrada

WithdrawCashBalanceInput


Ejemplo de respuesta

La respuesta de la mutación withdrawCashBalance incluye el(los) registro(s) de retiro y los saldos actualizados del usuario.

Campos de la respuesta

Objeto Withdraw


Alcance requerido

Esta mutación requiere que el scope MAKE_WITHDRAWAL sea otorgado al token de acceso.

Métodos de retiro por tipo de cuenta


Manejo de errores

Escenarios comunes de error:

Ejemplo de respuesta de error


Retiros múltiples

En algunos casos, una sola solicitud de retiro puede dar como resultado múltiples registros de retiro. Esto puede suceder cuando el monto del retiro se divide entre múltiples asientos (posiciones de red). La respuesta contendrá todos los registros de retiro creados.

Mejores prácticas

  1. Usa siempre claves de idempotencia únicas - Genera un nuevo UUID para cada solicitud de retiro y evita transacciones duplicadas.
  2. Verifica los saldos antes de retirar - Utiliza la consulta getWallet para confirmar que el usuario tiene fondos suficientes antes de iniciar un retiro.
  3. Maneja estados pendientes - Los retiros pueden tardar en procesarse. El campo status indicará el estado actual del retiro.
  4. Almacena las referencias de transacción - Guarda el withdrawId y el transactionLogId para conciliación y soporte.

Registro de cambios

v1.2.0 - 2024-11-20

Ajustes de esquema y limpieza de campos
  • Se eliminó el campo isExpedited de WithdrawCashBalanceInput - el ACH expedito ya no es configurable vía la API
  • Se cambió el campo seat_id en el tipo Withdraw de opcional a obligatorio (UUIDUUID!)
  • Se actualizó la descripción del método BANK_CARD para eliminar la referencia a “expedited”

v1.1.0 - 2024-10-15

Se agregó compatibilidad con Venmo y retiros de saldo de recompensas
  • Se añadió VENMO al enum WithdrawMethods
  • Se añadió el campo venmoAccountId a WithdrawCashBalanceInput
  • Se añadió REWARDS_BALANCE al enum WithdrawSource para permitir retirar ganancias de cashback
  • Se añadió el campo seat_id al tipo de respuesta Withdraw para el seguimiento de cuentas con múltiples asientos

v1.0.0 - 2024-09-01

Lanzamiento inicial
  • Se introdujo la mutación withdrawCashBalance con el requisito de scope MAKE_WITHDRAWAL
  • Se añadió el enum WithdrawMethods con los métodos PAYPAL, BANK_ACH y BANK_CARD
  • Se añadió el enum WithdrawSource con la fuente CASH_BALANCE
  • Se añadió el tipo de entrada WithdrawCashBalanceInput con soporte de idempotencia
  • Se añadió el tipo de respuesta Withdraw con detalles completos del registro de retiro
  • Se añadió el tipo WithdrawCashBalanceResponse que devuelve los registros de retiro y los saldos actualizados
  • Integrado con payout-service para el procesamiento de retiros
  • Se añadió el registro de acciones de la aplicación para la auditoría