Saltar al contenido principal

Retiros

La API de Retiros permite transferir el balance disponible de tus clientes a su cuenta bancaria o a una dirección de criptomonedas.

Estas funcionalidades sólo aplican a cuentas del tipo MARKETPLACE, ya que el saldo disponible se refiere a los fondos que los clientes tienen en sus cuentas de Amplify, y no a los fondos que el marketplace tiene en su cuenta principal.

Para que un retiro en moneda local sea válido, el cliente debe tener un saldo mínimo de ARS 50.000.


Retiros en moneda local (ARS)

Este flujo consta de dos pasos:

  1. Registrar la información bancaria del cliente.
  2. Crear la solicitud de retiro.

Registrar información bancaria

[PUT] /receiver/:receiverId

Agrega o actualiza la información bancaria del cliente.

Body

{
"name": "Juan",
"lastName": "Perez",
"dob": "1990-01-30",
"accountNumber": "000000XX0000XXXXXXXXXX",
"identificationNumber": "20123456789",
"bankAccountNumber": "4020000-3 012-3",
"bankName": "Galicia"
}

Parámetros

  • name: Nombre del titular de la cuenta.
  • lastName: Apellido del titular.
  • dob: Fecha de nacimiento (formato YYYY-MM-DD).
  • accountNumber: CBU del cliente.
  • identificationNumber: CUIL o CUIT del cliente.
  • bankAccountNumber: Número de cuenta bancaria.
  • bankName: Nombre del banco.

Respuesta

{
"status": "ok"
}

Crear retiro en moneda local

[POST] /withdrawal

Crea una nueva solicitud de retiro en moneda local.

Headers requeridos

{
"apiKey": "123xxx456",
"clientId": "123xxx456"
}

Body

{
"receiverId": "id-del-cliente"
}

Respuesta

{
"userId": "123...456",
"amount": "123",
"exchangeRate": "1000",
"status": "PENDING",
"testnet": false,
"receiverId": "id-del-cliente",
"created_at": "2024-01-01T12:00:24.677Z"
}

Campos de la respuesta

  • userId: Identificador del usuario.
  • amount: Monto a retirar en moneda local.
  • exchangeRate: Tipo de cambio aplicado.
  • status: Estado del retiro.
  • testnet: Indica si el retiro fue realizado en entorno de prueba.
  • receiverId: Identificador del cliente.
  • created_at: Fecha de creación del retiro.

Retiro en criptomonedas

[POST] /withdrawal/crypto

Crea una nueva solicitud de retiro en criptomonedas.

Headers requeridos

{
"apiKey": "123xxx456",
"clientId": "123xxx456"
}

Body

{
"receiverId": "id-del-cliente",
"address": "direccion-de-retiro",
"chainId": "id-red-de-retiro",
"currency": "USDT"
}

Parámetros

  • receiverId: Identificador del cliente.
  • address: Dirección de la billetera destino.
  • chainId: Identificador de la red blockchain.
  • currency: Moneda a retirar. Valores soportados:
    • USDT
    • USDC

Respuesta

{
"amount": "123",
"exchangeRate": "0",
"status": "PENDING",
"testnet": false,
"receiverId": "id-del-cliente",
"created_at": "2024-01-01T12:00:24.677Z"
}

Campos de la respuesta

  • amount: Monto retirado en criptomoneda.
  • exchangeRate: Tipo de cambio aplicado (si corresponde).
  • status: Estado del retiro.
  • testnet: Indica si el retiro fue realizado en entorno de prueba.
  • receiverId: Identificador del cliente.
  • created_at: Fecha de creación del retiro.

Estados posibles de un retiro

  • PENDING: El retiro fue creado y está en proceso.
  • PROCESSING: El retiro está siendo procesado.
  • COMPLETED: El retiro fue completado correctamente.
  • ERROR: El retiro falló.