Skip to main content

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 de forma automática, transfiriendo desde cualquier cuenta bancaria o virtual, al CVU de tu titularidad en Zenrise.

Importante! La transferencia de dinero es instantánea pero a veces puede demorar unos minutos hasta que la veas.

Payout

Para realizar una transferencia de dinero son necesarias al menos dos peticiones a nuestra API si la cuenta de banco a donde decidís enviar dinero no está 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: Sí, ver Autenticación

Request Payload:

{
"type": "ALIAS" | "CBU_CVU",
"value": "string",
"reference": "string",
"email": "string",
"bankAccountType": "WITHDRAW" | "PAYOUT"
}

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 de respuestas erróneas:

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:

{
"bankAccountId": 0,
"cbvu": "0000125000000000000017",
"alias": "pepe.pepe",
"holderName": "Gabriel",
"holderIdNumber": "20409928312",
"holderType": "CUIT",
"currency": "ARS"
}

Detalles importantes del Request:

type Tipo de cuenta que se está por dar de alta. Valores permitidos: ALIAS y CBU_CVU.

bankAccountType Se puede tipificar la cuenta de banco para después filtrar más fácil en los reportes: WITHDRAW (si es cuenta tuya), PAYOUT (si es cuenta de terceros).

Detalles importantes del Response:

bankAccountId Te recomendamos guardar el bank account id en tu sistema ya que esto te facilitará el paso 2 para realizar la transferencia.

2) Crear Payout (Transferencia de dinero)

URL: /v1/transfer-requests/add

Método: POST

Requiere Auth: Sí, ver Autenticación

Request Payload:

{
"amount": 0,
"bankAccountId": 0,
"externalReference": "string",
"type": "TRANSFER",
"insights": {
"ip": "string",
"uaString": "string",
"deviceId": "string",
"userNationality": "AR",
"userDocType": "NATIONAL_ID",
"userDocId": "string",
"userFullName": "string",
"userFirstName": "string",
"userLastName": "string",
"userBirth": "1999-04-15",
"userGender": "M",
"userEmail": "user@example.com",
"userPhone": "1234567890",
"userVerifLevel": "NA",
"userStreet": "string",
"userStreet2": "string",
"userPostcode": "string",
"userCity": "string",
"userState": "string",
"userCountry": "AR",
"profileUid": "string",
"profileCreated": 1673302661
}
}

Request Response:

{
"id": 0
}

Detalles importantes del Request:

  • amount: Monto a transferir.

  • bankAccountId: Id de la cuenta de banco dada de alta en el paso 1, a la que se transferirá el dinero.

  • 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

Tenés 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 suscribiéndote 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: Sí, ver Autenticación

Request Response:

{
"isProcessed": false,
"status": "Pending",
"coelsaId": "coelsaId"
}
  1. Configurando nuestros Webhooks

Ciclo de vida de una Transferencia

EstadosDescripción
PendingLa Transferencia se encuentra en estado de PENDING cuando se crea y está pendiente de enviarse al banco.
InProgressLa Transferencia está en este estado cuando se envía al banco y se está esperando la confirmación del mismo.
FailLa Transferencia termina en este estado cuando el banco no puede ejecutar la transferencia.
AccreditedLa Transferencia termina en este estado cuando el banco confirma que fue exitosa la transferencia.
ReversedLa Transferencia pasa a este estado cuando se produce una reversa sobre una transferencia previamente acreditada.