Payouts | Transferencia de dinero
Conceptos Generales
Zenrise ofrece un CVU a cada uno de sus usuarios.
Los usuarios pueden usar este CVU para guardar el dinero que recaudan o transferirlo a cuentas propias o de terceros para realizar pagos a proveedores. El fondeo se hace automatico, transfiriendo desde cualquier cuenta bancaria o virtual, al CVU de tu titularidad en Zenrise.
Importante! La transferencia de dinero es instantanea pero a veces puede demorar unos minutos hasta que la veas.
Payout
Para realizar una transferencia de dinero es necesario al menos dos peticiones a nuestra api si la cuenta de banco a donde decidis enviar dinero no esta dada de alta aún.
1) Primero dar de alta la cuenta de banco del receptor con este endpoint. Esta request dará 200 si la cuenta pudo ser guardada o 400 si el alias o cbu es inválido y no se pudo guardar la cuenta.
URL: /wallet/cbu-alias
Método: POST
Requiere Auth: Si, ver Autenticación
Request Payload:
Datos de prueba entorno DEV:
Respuesta exitosa
CBU
- 0990100808100040477100
- 0880610330061000073700
CVU
- 0000128000000000000000
- 0000200000000000000010
ALIAS
- ruben.monitor.po
- pepe.pepe.po
- termo.conejo.st
- silla.puerta.pt
Prueba respuestas erroneas:
Cuenta en USD
CBU
- 0980610330061000073700 ALIAS
- silla.factura.pm
Cuenta Inexistente
- Msg: The CBU/CVU is not correct / The alias for CBU/CVU does not exist
- CVU: 0000222000000000000000
- Alias: langosta.gato.po
Cuenta Inactiva
- Msg: The CBU/CVU is not active
- CVU: 0000999000000000000010
- Alias: langosta.gato.po
- CBU: 0109100808100040477100
Request Response:
Detalle importantes del Response:
type Tipo de cuenta que se esta por dar de alta valores permitidos ALIAS y CBU_CVU
bankAccountType Se puede tipificar la cuenta de banco para despues filtrar mas facil en los reportes WITHDRAW (si es cuenta tuya) PAYOUT (si es cuneta de terceros )
Detalle importantes del Request:
bankAccountId Te recomendamos guardar el bank account id en tu sistema ya que esto te facilitara el paso 2 para realizar la transferencia.
2) Crear Payout (Transferencia de dinero)
URL: v1/transfer-requests/add
Método: POST
Requiere Auth: Si, ver Autenticación
Request Payload:
Request Response:
Detalle importantes del Response:
amount: Monto a transferir.
bankAccountId: Te recomendamos guardar el bank account id en tu sistema ya que esto te facilitará el paso 2 para realizar la transferencia.
externalReference: Si este parámetro está presente antes de crear una solicitud se fija si hay una creada con la misma externalReference, si existe devuelve la ya creada de lo contrario crea una nueva.
type: Tipo de transacción. Valores permitidos: "TRANSFER" (Transferencia) o "REFUND" (Reembolso). Valor predeterminado: "TRANSFER" (Transferencia).
invoiceId: Id de la factura que se desea devolver. Solo para type = "REFUND" (Reembolso).
insights: Información adicional para análisis.
ip: Dirección IP del usuario que originó la transacción.
uaString: Campo User-Agent de la cabecera HTTP.
deviceId: Hash identificador del dispositivo (device fingerprint).
userNationality: Nacionalidad del usuario, utilizando el código de país de 2 letras definidos en la ISO 3166-1 alpha-2. (Argentina = AR).
userDocType: Tipo de documento de identificación del usuario: NATIONAL_ID = Identificaciones nacionales (ej: DNI), PASSPORT = Pasaporte, OTHER = otro tipo de documento especificado.
userDocId: Número de documento de identificación del usuario.
userFullName: Nombre y apellido completo del usuario.
userFirstName: Nombres del usuario.
userLastName: Apellidos del usuario.
userBirth: Fecha de nacimiento del usuario en formato AAAA-MM-DD (ej: 1999-04-15).
userGender: Género del usuario: M = Masculino, F = Femenino, X = comprende a la autopercepción de género con la que pudiera identificarse una persona que se sienta comprendida en el binomio masculino/femenino.
userEmail: Dirección de correo electrónico del usuario.
userPhone: Número de teléfono del usuario.
userVerifLevel: Nivel de validación de los datos identificativos del usuario.
userStreet: Domicilio del usuario: Calle y número.
userStreet2: Domicilio del usuario: Piso, departamento, unidad, barrio, etc.
userPostcode: Domicilio del usuario: Código postal. Para domicilios de Argentina se debe utilizar formato CPA.
userCity: Domicilio del usuario: Ciudad o localidad.
userState: Domicilio del usuario: Provincia o estado.
userCountry: Domicilio del usuario: País utilizando el código de 2 letras definidos en la ISO 3166-1 alpha-2. (Argentina = AR).
profileUid: Identificador único asociado al perfil del usuario registrado en tu aplicación o sitio.
profileCreated: Marca de tiempo en que el usuario se registró por primera vez en tu sitio, utilizando el formato de hora UNIX y la zona horaria UTC, sin milisegundos. Ejemplo: 1673302661.
3) Consultar estado de extracción de dinero
Tenes dos formas de consultar el estado de la extracción de dinero. Una es consultando directo con nuestra api con este endpoint y la otra es suscribiendote a nuestros Webhooks y escuchando las actualizaciones sobre el estado de la transferencia Webhooks.
1) Consultando directo con nuestra api
URL: v1/transfer-requests/check-is-processed/{transferRequestId}
Método: GET
Requiere Auth: Si, ver Autenticación
Request Response:
2) Configurando nuestros Webhooks
Ciclo de vida de una Transferencia
Estados | Descripción |
---|---|
Pending | La Transferencia se encuentra en estado de PENDING cuando se crea y esta pendiente de enviarse al banco. |
InProgress | La Tansferencia esta en este estado cuando se envia al banco y se esta esperando la confirmacion del mismo. |
Fail | La Transferencia termina en este estado cuando el banco no puede ejecutar la transferencia. |
Accredited | La Transferencia termina en este estado cuando el banco confirma que fue exitosa la transferencia. |