Skip to main content
Si divides tus cobros con otra empresa que también usa OnePay —un marketplace repartiendo con sus vendedores, una plataforma con sus comercios— el dinero puede caer directo en el saldo de esa empresa, sin pasar por un banco. Para eso registras su saldo como una cuenta más de un cliente. El banco es OnePay y, como número de cuenta, va el identificador del saldo que la otra empresa te comparte —igual que te compartiría el número de una cuenta bancaria.
El identificador del saldo lo obtiene la empresa aliada desde su panel, en Saldos. No es un dato que puedas consultar por API: te lo tiene que dar ella, como cualquier número de cuenta.

1. Registra a la empresa aliada como cliente

Guarda el id que devuelve: es el customer_id de los pasos siguientes.
Cuando user_type es company, el document_type debe ser NIT o RUT.

2. Registra su saldo como cuenta

string
required
WALLET identifica una cuenta de saldo OnePay.
string
required
El identificador del banco ONE BANK. Es siempre el mismo y también lo devuelve listar bancos.
string
required
El identificador del saldo de la empresa aliada. Se acepta con guiones o sin ellos.
Guarda el id de la cuenta: es el account_id del split.

Qué se valida

El saldo destino tiene que existir, pertenecer a una empresa, estar en el mismo entorno que tu llave y no ser uno tuyo. Si algo no cuadra, la respuesta es un 422 sobre account_number.
Un identificador inexistente y uno de otro entorno devuelven el mismo mensaje a propósito, para que este campo no sirva para averiguar saldos ajenos probando identificadores. Si te rechaza uno que crees correcto, revisa primero que tu llave y el saldo sean ambos de pruebas o ambos de producción.

3. Divide el cobro

A partir de acá no hay nada especial: es el mismo split que harías hacia cualquier cliente con cuenta bancaria.
El registro de los pasos 1 y 2 se hace una sola vez por empresa aliada. Después reutilizas ese par customer_id + account_id en todos los cobros.

Cuándo se acredita

Cuando el cobro queda aprobado, el monto se transfiere del saldo de tu empresa al de la aliada. Es un movimiento interno: llega al instante, sin pasar por un banco. Si el cobro se vence, se rechaza o nunca se paga, el split no se ejecuta.

Migrar desde to_company_wallet

El campo splits[].to_company_wallet queda obsoleto. Si tu integración lo usa, migra al flujo de esta página.
Antes había que mandar el identificador del saldo ajeno en cada cobro:
Con el flujo nuevo ese identificador se registra una vez y desaparece del payload del cobro. Ambas formas funcionan durante la transición; te avisaremos con antelación antes de retirar la anterior.