Start accepting payments from bank accounts

What is transfer?

Transfer allows payment by debit of a bank account.

How it works?


  1. Implement the customer request form to your page and consume the Bank list service.

  2. Kushki returns the list of available banks, on your site to your customers.

  3. The bank account information entered by your customer is sent to Kushki.

  4. Kushki takes the information and generate a valid token for a single transaction.

  5. Kushki returns the token, that has to be sent to your server and database, along with the information you consider necessary for processing the transaction.

  6. Using the API service Init, you send the request for payment.

  7. Kushki will respond with the url of the selected bank and the trazabality code.

  8. The trazabality code must be stored in your database.

  9. Your client will be redirected to the web portal of the selected bank, so that it can carry out the payment process (debit of money from your savings or checking account).

  10. The bank delivers the response of the transaction to Kushki.

  11. Consume the Get Status method of our API, to know the status of the transaction. You can use this service as many times as necessary.

  12. Kushki will return the status of the transaction, to get real time information implement our webhook

  13. Store the status of the transaction in your database, so you can perform the logistics process of delivery of your product, and service.

Considerations to keep in mind during integration

  1. All the values shown to the customer on your website must be shown in thousands format, for example: 10,000.00.

  2. The payment form that you build on your website must meet the following requirements:

    a. The customer must know and recognize the method of payment that is being used, PSE logo must be included. You can find the logo at the following address:

    b. The means of payment may be called as follows:

    • PSE
    • Debit from savings / checking account
    • PSE bank debit

    c. Do not use the following texts to call the means of payment:

    • Debit card
    • Account debit
    • Bank transfer

    d. The Get bank list service must be consumed at least once a day.

    e. The list of banks must show the payment form arranged alphabetically and without changing the names of the banks.

    f. Do not preselect any bank by default in the payment form.

    g. In the payment form, you must display a list, where the customer can choose if it is “Natural Person” (0) or “Legal Person” (1). You must send “0” or “1” depending on what the customer has chosen.

    h. In the payment form, you must display a list, where the customer can choose the type of document according, to the ISO code.

    Types of documents supported:

    • CC: Cédula de Ciudadanía
    • NIT: Identificación Tributaria
    • CE: Cédula de Extranjería
    • PP: Pasaporte

    i. As soon as the customer has clicked on the “Pay” button, it is mandatory that the button appears disable, in order to avoid sending several requests for the same payment (this avoids double payments).

    j. Kushki recommends you show your customer a message where you are being redirected to the bank’s virtual portal.

    k. You should never redirect your customer to a new tab, since the payment process should always occur in the same website where it started.

    l. The bank’s website should not be opened within iframes or frames, because some banks websites do not support this functionallity.

  3. The response page should show the status of the transaction and the following information:


    • Name of your company
    • Nit of your company
    • Description
    • Date of the transaction
    • Transaction status
    • Trazabality code
    • Bank
    • Transaction value


    • Include a button to retry the payment when the transaction responds with error. This action should allow your customer to resume the payment process.
    • Show an “Exit” or “Finish” button that allows the customer to return to the top of the page.
    • Clean the shopping cart each time the customer completes a transaction.
    • Include the option to print the page or proof of payment.

Technical Integration

Invoke the API enpoints in this order:

For more information please check our endpoints in Kushki API - Wire Transfer.

Implement a webhook to capture the confirmation of transactions made, and update your database so you can trigger your delivery or logistics process for your goods and services.

For more information look at Transfer Webhooks.