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:
- Registrar la información bancaria del cliente.
- 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:USDTUSDC
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ó.