1. Wire Transfer
Kushki Docs
English
  • Español
  • English
  • Home
  • Quick Start
    • Frequently Asked Questions
    • Moving to Production
    • Policy for Important API Changes
    • Test Data
    • Error Codes
    • Latest Features
  • Payment Glossary
    • Payments Glossary
  • One-time card payments (Online)
    • Supported card brands
    • Functionalities by business model
    • Network Tokens
    • One-step Payments
      • How do Card Payments Work?
      • Accept a Card Payment
      • Direct charge (without token)
      • Accept One-Time Payments with OTP
      • OTP Authentication Error Codes
      • Error codes for single card payments
    • Two-steps Payments
      • How do one-time payments with authorization and capture work?
      • Receive payments with authorization and capture
    • Refunds
      • Returns, cancellations, and refunds
    • 3DS Authentication
      • Introduction to 3DS
      • 3DS API integration
      • 3DS integration with kushki.js library
      • 3DS API integration plus kushki.js library
      • 3DS Error Codes
    • Apple Pay Payments
      • Apple Pay Configuration
      • Apple Pay Sandbox testing
  • Recurring Card Payments (Online)
    • Functionalities by business model
    • External subscriptions to Kushki
    • Authenticate your subscriptions with 3DS
    • Accept one-click payments with 3DS
    • Error codes in recurring charges
    • Scheduled payments
      • How do Credit or Debit Card Payment Recurring Charges Work?
      • Schedule a recurring charge
      • Manage your Scheduled Charges
    • OneClick Payments
      • Accepting One-Click Payments
      • How does authorization and capture work in OneClick payments?
      • Receive OneClick payments with authorization and capture
  • Card-present payments
    • Accept card present payments
    • Test data
    • Webhooks for card present
    • Raw card-present API
      • Raw card-present API overview
      • Cryptographic key exchange
      • Sample script to encrypt information
      • Take Payments
      • Frequently Asked Questions
      • Error codes for card-present transactions
    • Kushki One
      • First Steps
      • Autenticación y Cifrado de Requests
      • Accept payments with Kushki One
      • Amount Format
      • Async services and webhooks
      • Printing on SmartPOS terminal
      • Unified Error Catalog — Kushki ONE Connect
    • Kushki One Payment App
      • Overview
      • Process a payment
      • Split payment on the terminal
      • Refunds and PreAuth & Capture
      • Review Your Transactions
      • Terminal Setup
    • Transactions
      • Transactions
      • Cancel payments
  • Wire Transfers
    • Banks and transaction details for bank transfer payments
    • Receive Wire Transfers
    • Check the Status of a Transaction
    • Error Codes for Transfers
  • Cash Payments
    • How do Cash Payments Work?
    • Accept a Cash Payment
    • Authorized locations
    • Error Codes for declined cash transaction
  • Alternative payment methods (APM)
    • How do APM payments work?
    • Accept Bre-B payments
  • Money Disbursement
    • Payment Distribution
    • Recharge your balance for dispersions
    • Wire Transfer
      • How Does a Payment Distribution by Wire Transfer Work?
      • Payment Distribution to Bank Accounts
      • Disburse with Bre-B
      • Error codes for transfer dispersions
    • Cash
      • How does payment distribution in cash work?
      • Distribute Payments in Cash
      • Manage your Payment Distribution Transactions
  • Plugins
    • Shopify
      • Shopify
      • Plugin Operation
    • VTEX
      • VTEX Integration Guide
  • Payment Links
    • Smartlinks
  • Payment forms and buttons
    • Kajita
      • How Does it Work?
      • Payment Kajitas
    • Payment Button
      • Overview
      • Generate a payment button
  • Branch Offices Management
    • How to Onboard Submerchants via API
  • Notifications
    • Good Practices
    • Check your Webhooks
    • One-time Payments Webhooks
      • Webhook for One-Time Payments made with a card
      • Webhook for One-Time Payments by Wire Transfer
      • Webhook for One-Time Payments in Cash
    • Recurring Payments Webhooks
      • Webhook for Recurring Payments Made with Card
    • Payment Distribution Webhooks
      • Webhook for payment disbursement through wire transfer
      • Webhook for Payment Distribution in Cash
    • Payment button Webhooks
      • Webhooks with Payment Button
    • Smartlinks Webhooks
      • Webhooks with Smartlinks
    • Refunds Webhooks
      • Webhook for Voids and Refunds
      • Chargeback Webhooks
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴
Peru 🇵🇪
HomeMexico 🇲🇽Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴
Peru 🇵🇪
Status
Soporte / Support
English
  • Español
  • English
  1. Wire Transfer

Payment Distribution to Bank Accounts

Distribute payments to your customers' bank accounts.
Distributing payments by wire transfer means delivering money to bank accounts. In other words, if you already have your customers' or assistants' bank information, you can use your Kushki Payout account to deposit money directly in their accounts through wire transfer by using the logic you prefer.
This is ideal for:
Payments for suppliers or sellers
Marketplaces
Delivery applications
To keep in mind
Due to our risk policies, the available payment methods and the integration type may vary once you complete the affiliation. We will guide you on how to proceed if this process applies to your merchant.

Operation details#

The disbursement process in Colombia is carried out following the flow that appears below: Merchant > Kushki > Bank > User.
ParameterDetail
Minimum amount per transaction1,000 COP
Maximum amount per transaction13,900,000,000 COP (same tax ID)
Maximum amount per beneficiary13,900,000,000 COP per day
Processing schedule with the processorACH cycles
API processing schedule24/7 (For sending API requests to Kushki).
Processing start timeFrom the moment Kushki submits the batch files to the processing bank.
Approval time - same bankSame business day, within ACH operating cycles
Approval time - other banksUp to 72 business hours (excluding Saturdays, Sundays, and holidays)
Important Note: The Kushki API receives and processes transfer requests 24/7, but the actual transfer of funds is subject to the Colombian banking system's ACH Cycles, which operate only during business days and hours.

Flow#

The payment flow that you will integrate is as shown below:
Transfer out flow
Here you will learn how to start with payment disbursement.

1. Obtain the List of Associated Banks#

It is important that you make sure all the banks to which you will make the transfers are in the associated banks list. We recommend you check the information of the list of associated banks using our bank list endpoint.
Please keep in mind that each bank has an identifier code, and it must be sent in the tokenization request of the information.
JavaScript
Python
PHP

2. Tokenize Data#

After obtaining the bank code of the account where the transfer will be received, you have to request a token by using our tokenization endpoint.

Required fields to obtain the token#

Please note the required fields in the body of the request:
ADVERTENCIA
ACH — do not send the name field. In bank-account transfers (ACH), the token request is rejected ("invalid request body") when it includes the name field. In Bre-B transfers, the field is optional.
Dispersion to account number (accountType=CC,CA)
- documentType
- documentNumber
-accountType
-accountNumber
- bankId
- totalAmount
- currency
JavaScript
Python
PHP

3. Initializing the Transaction#

In this step, you should have obtained a token and can start the disbursement process with Kushki. You have to make a call to our initialization endpoint to start the payment.
JavaScript
Python
PHP
Check our API Reference for more information.
In the response a ticket number and a status are issued for the transaction.

4. Track the Transaction Status (Optional)#

Now that the transfer is about to be processed, you can find out the transaction status via Webhooks or manually, by using our API.

Webhooks#

The transaction status is automatically notified at the time when the money has been deposited in the bank account.
To configure a webhook in your test merchant site, you need to notify our agents via email, specifying the URL and the payment method.

API#

You can use our Get Status in our API to manually track the status of a specific transaction.

5. Test your Integration#

The final result of this test data depends on your merchant's configuration: it requires the test environment (sandbox) to be active for your merchant and the assigned processor to support simulating certain statuses. If you don't get the expected result, contact your Kushki account manager or support.
You may use some test identification document numbers in test mode to ensure that your integration is ready.
Approved transaction: 123456789
Declined transaction: 999999990

6. Prepare your Certification#

Read the following guidelines for technical certification approval (required to obtain productive account credentials):
Tax calculations must be correct.
Messages displayed on the screen should be aligned with Kushki's responses.
Save and record all the responses delivered by Kushki (required if you need support).
If there's no requirement for sending a reference voucher to the customer's mail, you don't need to specify an email address in the token request.
If webhook notifications are received correctly, respond to the request with a status 200.
The payment button must be disabled after the first click.
Kushki's logo must be visible for the customer. You can find our logo in several formats here.
Make sure that in the body of the request all the fields required in the API Reference are included.

Accept Webhooks
Manage correctly post-payment events.
Payment Distribution in Cash
Distribute safely payments in cash.
Modificado en 2026-10-20 17:46:17
Anterior
How Does a Payment Distribution by Wire Transfer Work?
Siguiente
Disburse with Bre-B
Built with