Koywe
On this page

Paying Providers (PAYOUT)

Learn how to send payments from your virtual balance to external bank accounts.

What is PAYOUT?

PAYOUT is the order type used to send funds from your virtual balance account to external bank accounts (providers, vendors, contractors, etc.).

Drawing diagram…

Use Cases

Vendor Payments

Pay suppliers and vendors for goods and services

Contractor Payouts

Send payments to freelancers and contractors

Refunds

Return payments to customers

Marketplace Settlements

Pay sellers on your marketplace platform


How It Works

High-Level Flow

  1. Check your virtual balance

    Ensure you have sufficient funds

  2. Create provider contact

    Store provider information and bank account

  3. Create PAYOUT order

    Specify amount and destination bank account

  4. Funds are debited

    Money is immediately reserved from your virtual account

  5. Bank transfer initiated

    Koywe initiates transfer to provider’s bank

  6. Provider receives funds

    Settlement time varies by country and destination bank (instant to the next business day)

  7. You receive confirmation

    Webhook notification when transfer completes

Detailed Flow Diagram

Drawing diagram…

Prerequisites

Before making payouts:

Required:

  • βœ… Sufficient funds in virtual account
  • βœ… Provider contact created
  • βœ… Provider bank account linked
  • βœ… Bank account details verified

Critical: Always check your virtual account balance before creating a PAYOUT order. Orders will fail if you have insufficient funds.


Supported Countries

The payout side of every corridor. For payin coverage, currencies and the local rail behind each one, see Supported Corridors & Currencies.

Colombia πŸ‡¨πŸ‡΄

  • Method: ACH Colombia, Bre-B
  • Currency: COP
  • Settlement: ACH runs on cycles; Bre-B settles in seconds
  • Banks: All Colombian banks
  • Bre-B destinations: declare rail: "BREB" on the destination account and put the key in accountNumber β€” see Payment Rails

Brazil πŸ‡§πŸ‡·

  • Method: PIX transfer
  • Currency: BRL
  • Settlement: Instant
  • Banks: All Brazilian banks with PIX

Mexico πŸ‡²πŸ‡½

  • Method: SPEI transfer
  • Currency: MXN
  • Settlement: Instant ⚑, 24/7
  • Limits: No limit
  • Banks: All Mexican banks

Chile πŸ‡¨πŸ‡±

  • Method: Bulk payment file
  • Currency: CLP
  • Settlement: 24/7, within 5 minutes
  • Limits: No per-transaction limit. Large amounts are paid out in batches of transfers of CLP 7,000,000 each
  • Banks: All Chilean banks

Argentina πŸ‡¦πŸ‡·

  • Method: Transfer to a named CVU
  • Currency: ARS
  • Settlement: Instant ⚑, 24/7 including weekends and holidays. No cut-off time
  • Limits: Minimum ARS 1, no per-transaction maximum
  • Banks: All Argentine banks. Named accounts only β€” the beneficiary’s identity has to match

Peru πŸ‡΅πŸ‡ͺ

  • Method: Wire transfer
  • Currency: PEN, USD
  • Banks: All Peruvian banks
  • Limits: Minimum PEN 1. Maximum PEN 420,000 / USD 75,000 per transfer to Interbank and other banks. No maximum to BCP (for USD, BCP to BCP)
  • Settlement: The same times apply to PEN and USD, and depend on the destination bank:
Destination bankSettlementAvailabilityMaximum per transfer
BCPInstant ⚑24/7, except 00:00–04:00No maximum (USD: BCP to BCP)
Interbank~20 minutesMon–Sat, 06:05–21:00PEN 420,000 / USD 75,000
Other banksScheduled (see below)By time sentPEN 420,000 / USD 75,000

Other banks β€” the credit time depends on when the payout is sent (Peru time):

SentCredited
00:00 – 11:4514:30 the same day
11:46 – 13:5917:30 the same day
14:00 – 21:5909:30 the next business day
22:00 – 23:59, weekends and holidays14:30 the next business day

Bolivia πŸ‡§πŸ‡΄

  • Method: Bank transfer
  • Currency: BOB
  • Settlement: Up to 20 minutes, 24/7, except during the ACH system cut-off window between 23:50 and 00:10. Payouts received in that window are processed as soon as the system is back
  • Limits: Minimum equivalent to USD 1, no per-transaction maximum
  • Compliance review: Payouts up to USD 1,000 are sent automatically. Above that, the payout goes through a compliance review before it is executed
  • Banks: All Bolivian banks

Venezuela πŸ‡»πŸ‡ͺ

  • Method: Bank transfer
  • Currency: VES
  • Settlement: 1-2 business days
  • Banks: All Venezuelan banks
  • Daily payout limit: $3,500 USD equivalent per day

United States πŸ‡ΊπŸ‡Έ

  • Method: Wire or ACH to a named account
  • Currency: USD
  • Settlement: 1-2 business days
  • Banks: All US banks (routing number required)
  • Note: Requires a separate KYB/KYC onboarding

Quick Example

Here’s a simple PAYOUT flow:

JavaScript
// 1. Check balance
const balance = await getBalance(token, orgId, merchantId, 'COP');
console.log('Available:', balance.availableBalance); // e.g., 1,000,000 COP
 
// 2. Create provider contact
const provider = await createContact(token, orgId, merchantId, {
  firstName: 'Servicios ABC SAS',
  countrySymbol: 'CO',
  documentType: 'NIT',
  documentNumber: '9001234561',
  businessType: 'COMPANY',
  type: 'BUSINESS',
  email: 'provider@example.com'
});
 
// 3. Add bank account
const bankAccount = await addBankAccount(token, orgId, merchantId, provider.id, {
  name: 'Bancolombia COP',
  kind: 'BANK',
  isDefault: true,
  countrySymbol: 'CO',
  currencySymbol: 'COP',
  entity: 'BANCOLOMBIA',
  accountNumber: '1234567890',
  type: 'CHECKING'
});
 
// 4. Create PAYOUT order
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: 'Payment for Invoice #INV-001'
});
 
console.log('Payout created:', payout.id);
console.log('Status:', payout.status); // "PROCESSING"

Key Differences vs PAYIN

FeaturePAYINPAYOUT
DirectionCustomer β†’ Your accountYour account β†’ Provider
BalanceCredits your accountDebits your account
Payment URLYes (for customer)No
Bank AccountOptionalRequired
ContactOptionalRecommended
Balance CheckNot neededCritical

Payment Flow Comparison

PAYIN (Receiving)

Text
Customer pays β†’ Funds credited β†’ Webhook β†’ Fulfill order

PAYOUT (Sending)

Text
Check balance β†’ Create order β†’ Funds debited β†’ Bank transfer β†’ Webhook confirmation

Balance Requirements

Checking Balance Before PAYOUT

JavaScript
async function safeCreatePayout(token, orgId, merchantId, payoutData) {
  // 1. Get current balance
  const balances = await getMerchantBalances(token, orgId, merchantId);
  const balance = balances.find(b => b.currencySymbol === payoutData.currency);
  
  // 2. Check available balance
  if (!balance || balance.availableBalance < payoutData.amount) {
    throw new Error(
      `Insufficient balance. Available: ${balance?.availableBalance || 0} ${payoutData.currency}, ` +
      `Required: ${payoutData.amount} ${payoutData.currency}`
    );
  }
  
  console.log(`βœ“ Sufficient balance: ${balance.availableBalance} ${payoutData.currency}`);
  
  // 3. Create payout
  const payout = await createPayoutOrder(token, orgId, merchantId, payoutData);
  
  return payout;
}

Settlement Times

Understanding when providers receive funds:

CountryMethodTypical Settlement
ColombiaACH Colombia / Bre-BACH by cycle; Bre-B in seconds
BrazilPIXInstant (24/7)
MexicoSPEIInstant ⚑ (24/7)
ChileBulk payment fileWithin 5 minutes (24/7)
ArgentinaNamed CVU transferInstant ⚑ (24/7, including weekends and holidays)
Peru (PEN, USD)Wire transferBCP instant; Interbank ~20 min; other banks by schedule (see Peru above)
BoliviaBank transferUp to 20 minutes (24/7, except 23:50–00:10)

For every payout corridor, including Venezuela, the United States and cross-border settlement, see Supported Corridors & Currencies.

Business Hours: For countries with business-hour restrictions, transfers initiated after hours or on weekends may be processed the next business day.


Next Steps


Additional Resources