Skip to Content
Pagar ProveedoresResumen

Pagar Proveedores (PAYOUT)

Aprende cómo enviar pagos desde tu saldo virtual a cuentas bancarias externas.

¿Qué es PAYOUT?

PAYOUT es el tipo de orden utilizado para enviar fondos desde tu cuenta de saldo virtual a cuentas bancarias externas (proveedores, vendedores, contratistas, etc.).


Casos de Uso

🏢Pagos a Vendedores

Pagar a proveedores y vendedores por bienes y servicios

👔Pagos a Contratistas

Enviar pagos a freelancers y contratistas

↩️Reembolsos

Devolver pagos a clientes

🤝Liquidaciones Marketplace

Pagar a vendedores en tu plataforma marketplace


Cómo Funciona

Flujo de Alto Nivel

Verifica tu saldo virtual

Asegúrate de tener fondos suficientes

Crea contacto de proveedor

Almacena información del proveedor y cuenta bancaria

Crea orden PAYOUT

Especifica monto y cuenta bancaria de destino

Fondos son debitados

Dinero es inmediatamente reservado de tu cuenta virtual

Transferencia bancaria iniciada

Koywe inicia transferencia al banco del proveedor

Proveedor recibe fondos

Tiempo de liquidación varía por país (instantáneo a 24 horas)

Recibes confirmación

Notificación webhook cuando la transferencia se completa

Diagrama de Flujo Detallado


Prerequisitos

Antes de hacer payouts:

Requerido:

  • ✅ Fondos suficientes en cuenta virtual
  • ✅ Contacto de proveedor creado
  • ✅ Cuenta bancaria de proveedor vinculada
  • ✅ Detalles de cuenta bancaria verificados

Crítico: Siempre verifica el saldo de tu cuenta virtual antes de crear una orden PAYOUT. Las órdenes fallarán si no tienes fondos suficientes.


Países Soportados

Colombia 🇨🇴

  • Método: Transferencia bancaria directa
  • Moneda: COP
  • Liquidación: 1-2 horas (horas hábiles)
  • Bancos: Todos los bancos colombianos

Brasil 🇧🇷

  • Método: Transferencia PIX
  • Moneda: BRL
  • Liquidación: Instantánea
  • Bancos: Todos los bancos brasileños con PIX

México 🇲🇽

  • Método: Transferencia SPEI
  • Moneda: MXN
  • Liquidación: 2-24 horas
  • Bancos: Todos los bancos mexicanos

Chile 🇨🇱

  • Método: Transferencia bancaria
  • Moneda: CLP
  • Liquidación: 1-2 días hábiles
  • Bancos: Todos los bancos chilenos

Argentina 🇦🇷

  • Método: Transferencia bancaria
  • Moneda: ARS
  • Liquidación: 1-2 días hábiles
  • Bancos: Todos los bancos argentinos

Ejemplo Rápido

Aquí hay un flujo PAYOUT simple:

// 1. Verificar saldo const balance = await getBalance(token, orgId, merchantId, 'COP'); console.log('Disponible:', balance.availableBalance); // ej., 1,000,000 COP // 2. Crear contacto de proveedor const provider = await createContact(token, orgId, merchantId, { fullName: 'Servicios ABC SAS', email: 'proveedor@ejemplo.com', country: 'CO', documentType: 'NIT', documentNumber: '900123456-1', businessType: 'COMPANY' }); // 3. Agregar cuenta bancaria const bankAccount = await addBankAccount(token, orgId, merchantId, provider.id, { country: 'CO', currency: 'COP', bankCode: 'BANCOLOMBIA', accountNumber: '1234567890', accountType: 'checking', holderName: 'Servicios ABC SAS' }); // 4. Crear orden PAYOUT const payout = await createPayoutOrder(token, orgId, merchantId, { type: 'PAYOUT', originCurrencySymbol: 'COP', destinationCurrencySymbol: 'COP', amountIn: 500000, // 500,000 COP contactId: provider.id, destinationAccountId: bankAccount.id, description: 'Pago por Factura #INV-001' }); console.log('Payout creado:', payout.id); console.log('Estado:', payout.status); // "PROCESSING"

Diferencias Clave vs PAYIN

CaracterísticaPAYINPAYOUT
DirecciónCliente → Tu cuentaTu cuenta → Proveedor
SaldoAcredita tu cuentaDebita tu cuenta
URL de PagoSí (para cliente)No
Cuenta BancariaOpcionalRequerida
ContactoOpcionalRecomendado
Verificación SaldoNo necesariaCrítica

Comparación de Flujo de Pago

PAYIN (Recibir)

Cliente paga → Fondos acreditados → Webhook → Cumplir orden

PAYOUT (Enviar)

Verificar saldo → Crear orden → Fondos debitados → Transferencia bancaria → Confirmación webhook

Requisitos de Saldo

Verificar Saldo Antes de PAYOUT

async function safeCreatePayout(token, orgId, merchantId, payoutData) { // 1. Obtener saldo actual const balances = await getMerchantBalances(token, orgId, merchantId); const balance = balances.find(b => b.currencySymbol === payoutData.currency); // 2. Verificar saldo disponible if (!balance || balance.availableBalance < payoutData.amount) { throw new Error( `Saldo insuficiente. Disponible: ${balance?.availableBalance || 0} ${payoutData.currency}, ` + `Requerido: ${payoutData.amount} ${payoutData.currency}` ); } console.log(`✓ Saldo suficiente: ${balance.availableBalance} ${payoutData.currency}`); // 3. Crear payout const payout = await createPayoutOrder(token, orgId, merchantId, payoutData); return payout; }

Tiempos de Liquidación

Comprender cuándo los proveedores reciben fondos:

PaísMétodoLiquidación Típica
ColombiaTransferencia Bancaria1-2 horas (horas hábiles)
BrasilPIXInstantánea (24/7)
MéxicoSPEI2-24 horas
ChileTransferencia Bancaria1-2 días hábiles
ArgentinaTransferencia Bancaria1-2 días hábiles

Horas Hábiles: Para países con restricciones de horario hábil, las transferencias iniciadas fuera de horario o fines de semana pueden procesarse el próximo día hábil.


Próximos Pasos


Recursos Adicionales

Last updated on