Skip to main content

Overview

The PayOut API for Colombia enables secure disbursements to bank accounts and digital wallets through multiple payment methods including standard bank transfers, TumiPay wallet, and Bre-B instant payments. Transactions are processed asynchronously with webhook notifications.

Key Features

  • Multiple Disbursement Methods: BANK_TRANSFER,TUMIPAY, BREB
  • Currency: Colombian Peso (COP)
  • Asynchronous Processing: Background processing with webhook notifications
  • Instant Payments: Bre-B support for real-time transfers (24/7/365)
  • Wide Bank Coverage: Support for major Colombian banks and digital wallets

Quick Reference

ParameterValueDescription
EndpointPOST /api/v1/payoutInitiate PayOut transaction
CurrencyCOPColombian Peso
Country CodeCOColombia
Auth RequiredYesToken-Top + Basic Auth
ProcessingAsyncStatus updates via webhook

Request Parameters

Required Fields

FieldTypeDescriptionExample
payment_methodstringDisbursement method"BANK_TRANSFER", "BREB", "TUMIPAY"
referencestringUnique transaction identifier from your system"3cNPNGbX7meiMppXzVz7g781ysektqq5X"
amountintegerTransaction amount in cents (minor currency unit)1000 (= $10.00 COP)
currencystringThree-letter currency code (ISO 4217)"COP"
countrystringTwo-letter country code (ISO 3166-1 alpha-2)"CO"
ipn_urlstringWebhook URL for transaction status updates"http://example.com/tu-webhook"
customer_dataobjectCustomer and account information (see below)-

Customer Data Object

FieldTypeRequiredDescriptionExample
legal_docstringCustomer’s legal document number"1002184990"
legal_doc_typestringDocument type: CC, CE, PPN, NIT"CC"
phone_codestringCountry calling code"57"
phone_numberstringPhone number without country code"3003540831"
emailstringCustomer email address"johndoe@email.com"
full_namestringCustomer full name"John Doe"
bankstringDestination bank code"BANCOLOMBIA", "NEQUI", etc.
account_numberstringBank account number or wallet ID"3990000011"
account_typestringAccount type: AHORRO, CORRIENTE"AHORRO"

Response Structure

Success Response

FieldTypeDescription
codestringResponse code ("01" = success)
statusstringTransaction status ("SUCCESS")
messagestringDescription of the response
dataobjectTransaction data object

Data Object

FieldTypeDescription
ticketstringUnique transaction identifier (TumiPay ID)
datestringTransaction timestamp (YYYY-MM-DD HH:MM:SS)
transactionobjectTransaction details echo

Transaction Status Flow

StatusDescription
PENDINGTransaction created, processing initiated
APPROVEDFunds successfully transferred to recipient
REJECTEDTransaction rejected by bank or validation failure

Request Example

cURL
curl --request POST 'https://api-empresas.staging.tumipay.co/production/api/v1/payout' \
--header 'Token-Top: your_auth_token' \
--header 'Authorization: Basic your_auth_key' \
--header 'Content-Type: application/json' \
--data-raw '{
    "payment_method": "BANK_TRANSFER",
    "reference": "3cNPNGbX7meiMppXzVz7g781ysektqq5X",
    "amount": 1000,
    "currency": "COP",
    "country": "CO",
    "ipn_url": "http://example.com/tu-webhook",
    "customer_data": {
        "legal_doc": "1002184990",
        "legal_doc_type": "CC",
        "phone_code": "57",
        "phone_number": "3003540831",
        "email": "johndoe@email.com",
        "full_name": "John Doe",
        "bank": "EXAMPLE_BANK",
        "account_number": "3990000011",
        "account_type": "AHORRO"
    }
}'

Response Example

{
    "code": "01",
    "status": "SUCCESS",
    "message": "Operacion exitosa",
    "data": {
        "ticket": "19kazMPNue2fOIp",
        "date": "2025-10-16 00:58:54",
        "transaction": {
            "reference": "3cNPNGbX7meiMppXzVz7g781ysektqq5X",
            "amount": 1000,
            "currency": "COP",
            "payment_method": "BANK_TRANSFER"
        }
    }
}

Advanced Integration

For Bre-B integration to send money to digital wallets and bank accounts using unique identifiers, see Bre-B Integration.