Envíos a terceros

Un Envío es un Retiro cuyo destino es otra persona, y esa diferencia cuesta un paso más. Sale de la misma Billetera, reserva el monto igual, pasa por los mismos Estados y se le descuentan las mismas Comisiones. Lo único que cambia es quién recibe, y por eso Aloha pide confirmar que quien lo ordenó es quien dice ser.

Sirve para pagar a un proveedor, a un empleado, a un cliente o a cualquiera que no sea el propio comercio. Si la cuenta que recibe es del comercio, lo que se busca es un Retiro.

Ordenarlo no lo crea: primero llega un código

Esta es la parte que descoloca a quien viene de los Retiros. La llamada que crea un Retiro crea el Retiro. La misma llamada, pidiendo un Envío, no crea nada todavía: devuelve un identificador de verificación con su hora de caducidad, manda un código de seis dígitos por correo y se queda esperando. El Envío existe recién cuando ese código se confirma en una segunda llamada.

El código tiene sus propias reglas, y todas importan porque la primera vez se descubren fallando:

  • Va al correo de la empresa, el que está registrado en la cuenta de Aloha, no al de la persona que ordenó el Envío. En un equipo, eso significa que quien ordena y quien recibe el código pueden no ser la misma persona. Si la cuenta no tiene correo registrado, el Envío no llega ni a iniciarse.
  • Dura diez minutos. Pasado ese plazo hay que pedir otro.
  • Se puede fallar cinco veces. A la quinta la verificación queda cerrada y hay que empezar el Envío de nuevo.
  • Se puede reenviar tres veces. Cada reenvío genera un código nuevo, vuelve a dar diez minutos y pone el contador de intentos otra vez en cero.
  • Solo hay una verificación pendiente a la vez por persona. Empezar un Envío nuevo da por caducada la verificación anterior que siguiera abierta, aunque el código todavía no hubiera expirado.

Hasta que el código se confirma, el Saldo no se mueve

Al iniciar el Envío se comprueba que haya Saldo disponible suficiente, pero no se reserva nada. La reserva, y con ella todo lo que cuenta Saldo y Movimientos, ocurre al confirmar el código, que es cuando el Envío se crea de verdad.

De ahí se sigue algo poco intuitivo: casi todas las comprobaciones de la operación se hacen después del código, no antes. El mínimo, el cálculo de las Comisiones y la conversión se resuelven al crear el Envío, es decir en la segunda llamada. Un Envío por debajo del mínimo se rechaza con el código ya escrito, no al pedirlo.

Una verificación que caduca, que se agota o que se abandona no deja nada detrás: ni Envío, ni reserva, ni Movimiento de Saldo.

El mínimo es el suyo, y son dos pisos

Un Envío no usa el mínimo de un Retiro. Tiene dos límites a la vez y manda el más alto de los dos:

  • El piso propio de los Envíos, que fija Aloha, es el mismo para todas las cuentas y está expresado en dólares. Contra una Billetera en otra moneda hay que convertirlo, y no se convierte con la Tasa de Cambio de la cuenta sino con el precio del dólar de la propia ruta, que se mueve por su lado. Su equivalente, por tanto, no es un número que se pueda anotar una vez: se pregunta.
  • El mínimo de la ruta de destino, el mismo que se aplicaría a un Retiro por ese camino. En algunas rutas es bastante mayor que el piso.

Preguntar por el mínimo sin decir a qué país va responde solo el primero, que es la mitad de la respuesta: un Envío puede aceptarse contra el piso y rechazarse igual por la ruta. La operación acepta el país de destino por eso, y también para que el número venga calculado de la misma forma en que se va a comprobar.

Y, como en un Retiro, ese número se compara contra lo que queda después de las Comisiones —en la moneda de la Billetera y antes de convertir—, no contra el monto que se ordena.

El destinatario tiene que existir antes, y estar activo

Un Envío no lleva datos bancarios: lleva la referencia a un Beneficiario ya registrado. No hay forma de cargar una cuenta de destino en el momento de enviar.

Estar registrado tampoco basta. El Beneficiario tiene que estar activo, y uno desactivado se rechaza con ese motivo. Un Beneficiario nace activo al registrarlo, así que esto muerde en el caso concreto de uno que se desactivó antes y se intenta reutilizar.

La ruta por la que sale el dinero, y con ella el mínimo y el plazo, la decide el país del banco del Beneficiario, que no tiene por qué ser el país del Beneficiario. Están en dos campos distintos a propósito.

La función se habilita una vez, aceptando sus condiciones

Los Envíos tienen condiciones propias, aparte de las de la plataforma, y se aceptan una sola vez por cuenta. Mientras no estén aceptadas, cualquier intento de ordenar un Envío se rechaza con un error que dice exactamente eso y dónde aceptarlas. No afecta a los Retiros: la puerta se abre solo delante de los Envíos.

Cuesta lo mismo que un Retiro Regular

Conviene decirlo porque la intuición sugiere lo contrario: no hay un porcentaje propio de los Envíos. La configuración de cada cuenta tiene el de la Comisión del Retiro y el adicional del Retiro Instantáneo, y nada más; un Envío usa el primero, igual que un Retiro Regular. A eso se le suman, cuando corresponden, el impuesto sobre las salidas y la Comisión por cambiar de moneda, que en un Envío al extranjero casi siempre corresponde. Todo eso está en Comisiones.

Estados y avisos

Los Estados son los del Retiro —Solicitado, Procesando, Completado y Fallido—, con el mismo significado y las mismas consecuencias sobre el Saldo: al completarse se descuenta y queda su Movimiento de Saldo; al fallar, el monto vuelve al disponible y no queda ninguno. Tampoco hay forma de cancelar un Envío una vez creado.

Lo que sí es distinto son los avisos, porque aquí hay dos partes:

  • Al comercio le llega un correo cuando el Envío se crea y otro cada vez que cambia de Estado, con el motivo si falló.
  • Al Beneficiario le llega un correo solo cuando el Envío se completa, y solo si tiene una dirección registrada. Nunca antes: no se le avisa de un Envío en curso ni de uno que falló.

Esa es la razón de que el correo sea obligatorio al registrar un Beneficiario aunque el dinero no viaje por ahí.

En la API

Los Envíos se ordenan desde la API del panel, bajo /api/v1/clients, por la misma ruta que los Retiros:

OperaciónRutaPermiso
Iniciar un EnvíoPOST /api/v1/clients/payouts con type en transfercreate_payouts
Confirmar con el códigoPOST /api/v1/clients/payouts/verify-otpcreate_payouts
Pedir otro códigoPOST /api/v1/clients/payouts/resend-otpcreate_payouts
Mínimo de un EnvíoGET /api/v1/clients/payouts/transfer-min-amount—
Aceptar las condicionesPOST /api/v1/clients/transfers/accept-terms—
Ver si están aceptadasGET /api/v1/clients/transfers/terms-status—

La primera llamada pide beneficiary_id en lugar de bank_account_id, más la Billetera que paga en virtual_wallet_id, el monto en amount y una descripción en comment, obligatoria y de entre cinco y cincuenta caracteres. No responde con un Envío: responde con transfer_verification_id y expires_at, y con el estado pending_verification. La segunda llamada toma ese transfer_verification_id y el código en otp_code, y esa sí devuelve el Envío ya creado.

transfer-min-amount pide la moneda de origen y la de destino, y acepta además el país de destino. Sin ese país responde solo el piso de Aloha; con él, el mínimo que se va a exigir de verdad.

Los Envíos se listan y se consultan por las mismas operaciones que los Retiros, que están en Retiros: el filtro por tipo acepta transfer.

Esa API es la que usa el panel; no es una superficie de integración y no se documenta aquí. Se nombra para poder emparejar lo que se ve en pantalla con la operación que hay detrás. La API externa no ordena Envíos: cubre el cobro y termina en la Billetera.

Relacionado

  • Beneficiarios — qué datos necesita un destinatario y por qué se registra antes.
  • Retiros — la misma salida cuando la cuenta que recibe es del propio comercio.
  • Saldo y Movimientos — la reserva, y por qué el disponible baja sin dejar fila.
  • Comisiones — qué se descuenta del monto que sale, y por qué el destino recibe menos.
  • Billeteras y monedas — de qué Billetera sale el dinero y en qué moneda.
  • Glosario — la definición de cada término de esta página.

Did this page help you?