# Bancolombia

### Payment Process

<figure><img src="/files/dr5M6FOKlj5GagIFp3PS" alt=""><figcaption></figcaption></figure>

1. The user places an order on the merchant's website/app and selects Bancolombia to pay;
2. The merchant initiates a Bancolombia payment request to Supefina;
3. Supefina returns the Bancolombia payment URL address;
4. The merchant opens the address on the user's side;
5. The user follows the page prompts for verification and payment;
6. The user's payment is successful;
7. Supefina notifies the merchant of the payment success information.

### The address of the request

<table><thead><tr><th width="212.3363037109375">The name of the environment</th><th width="607">URL</th></tr></thead><tbody><tr><td>SandBox </td><td><mark style="color:blue;"><code>POST</code></mark><br>https://api.supefina.tech/api/supefina/transactions/payin</td></tr><tr><td><mark style="color:red;">Formal environment</mark></td><td><mark style="color:red;"><code>POST</code></mark><br><mark style="color:red;">https://api.supefina.net/api/supefina/transactions/payin</mark></td></tr></tbody></table>

### Request parameters

#### Request header

| Key            | Value              |
| -------------- | ------------------ |
| `Content-Type` | `application/json` |

#### Request body

<table data-full-width="true"><thead><tr><th width="216">Variable name</th><th width="110"> type</th><th width="95"> Required</th><th width="505"> description</th></tr></thead><tbody><tr><td>countryId</td><td>String</td><td>Yes</td><td><p>Country number </p><p>Reference: <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#afwzp">Dictionary table - country number</a> Columbia, <code>COL</code></p></td></tr><tr><td>currency</td><td>String</td><td>Yes</td><td>Currency<br>Reference: <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#huo-bi-currency">Dictionary Table - Currency</a><br>Colombian Peso：<code>COP</code></td></tr><tr><td>orderAmount</td><td>String</td><td>Yes</td><td><p>The amount of the order<br>3000 >= orderAmount &#x3C;= 2000000</p><p>Decimals are not supported</p></td></tr><tr><td>payProduct</td><td>String</td><td>Yes</td><td><a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#mfocd">Payment type</a><br>Bancolombia：<code>28</code></td></tr><tr><td>merId</td><td>String</td><td>Yes</td><td>Merchant ID<br>Merchant ID acquisition path: Supefina Merchant Background - Merchant Management - Basic Information - Merchant ID</td></tr><tr><td>merOrderNo</td><td>String</td><td>Yes</td><td>Merchant order number</td></tr><tr><td>sign</td><td>String</td><td>Yes</td><td>signature<br><a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/qian-ming-suan-fa">For details, please refer to: Signature algorithm</a></td></tr><tr><td>nonceStr</td><td>String</td><td>Yes</td><td>Random strings<br>The length cannot exceed 32 bits</td></tr><tr><td>customerEmail</td><td>String</td><td>Yes</td><td>The user's email address Email username cannot be just a number (e.g. 31231234@gmail.com)In addition, the same email address cannot request more than 20 payments per day.</td></tr><tr><td>customerName</td><td>String</td><td>Yes</td><td>Username</td></tr><tr><td>customerPhone</td><td>String</td><td>Yes</td><td>User phone<br>Ten digits starting with 3 are required</td></tr><tr><td>customerIdentification</td><td>String</td><td>Yes</td><td>The ID number of the user</td></tr><tr><td>checkOut</td><td>Boolean</td><td>Yes</td><td><p>Cash register<br><code>true</code>：The cashier is required<br><code>false</code>：The cash register is not required </p><p>It is recommended to pass <code>true</code></p></td></tr><tr><td>customerAccount</td><td>String</td><td>No</td><td>User Accounts<br><code>checkOut</code> must be passed when it is <code>false</code></td></tr><tr><td>lastName</td><td>String</td><td>No</td><td>The user's last name<br><code>checkOut</code> must be passed when it is <code>false</code></td></tr><tr><td>customerIdentificationType</td><td>String</td><td>No</td><td><p>The type of user ID<br><code>00</code>：Identification Card（CC）<br><code>01</code>：Alien Identity Card（CE）<br><code>02</code>：Tax Identification Number<br><code>03</code>：Passport<br><code>06</code>：Miscellaneous<br><code>07</code>：Proof of citizenship<br><code>08</code>：Residence permit</p><p><code>checkOut</code> must be passed when it is <code>false</code></p></td></tr><tr><td>customerAddress</td><td>String</td><td>No</td><td>User's address<br><code>checkOut</code>为<code>false</code>时必传</td></tr><tr><td>tipo_persona</td><td>String</td><td>No</td><td>Payment Subject<br><code>checkOut</code> must be passed when it is <code>false</code></td></tr><tr><td>bankId</td><td>String</td><td>No</td><td><p>Bank code<br>See also:</p><p>https://api.supefina.net/api/supefina/transactions/internal/getEbixuBankList<br><code>checkOut</code> must be passed when it is <code>false</code></p></td></tr><tr><td>expireTimeL</td><td>Long</td><td>No</td><td>Expiration time<br>Unit: seconds; Default: 10 minutes, maximum: 10 minutes</td></tr><tr><td>callbackUrl</td><td>String</td><td>No</td><td><p>Callback address</p><p>For details, see <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/tong-zhi-hui-tiao-shuo-ming">Notification Callbacks</a></p></td></tr><tr><td>description</td><td>String</td><td>Yes</td><td><p>description</p><p>It cannot contain special symbols and should not exceed 200 characters in length</p></td></tr></tbody></table>

### Sample request

{% code fullWidth="true" %}

```json
{
    "callbackUrl": "https://d3vf2zxd9jv8rh.cloudfront.net/apigate/v6sx2i/api/pay_notice/in_payback/payId/CDEA3CA37DBC4C2CB6301AED14011122",
    "checkOut": true,
    "countryId": "COL",
    "currency": "COP",
    "customerAccount": "60872832",
    "customerEmail": "33339426@gmail.com",
    "customerIdentification": "9145652857",
    "customerName": "Aaliyah Rogers",
    "customerPhone": "3073030686",
    "lastName": "cith",
    "merId": "8301113635310326",
    "merOrderNo": "R20240619032018545",
    "nonceStr": "6D9B18BFD37240EB846FC923059D001B",
    "orderAmount": "20000",
    "payProduct": "28",
    "sign": "727D7B7416A570284E97F295DECF8490",
    "description":"Supefina"
}
```

{% endcode %}

### Response parameters

<table data-full-width="true"><thead><tr><th width="220">Variable name</th><th width="179">type</th><th width="396">description</th></tr></thead><tbody><tr><td>code</td><td>String</td><td><p>Response coding </p><p>For details, see <a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/xiang-ying-zhuang-tai-ma">Response Status Code</a></p></td></tr><tr><td>msg</td><td>String</td><td>Response Information</td></tr><tr><td>data</td><td>Object</td><td>Response data</td></tr><tr><td>merCode</td><td>String</td><td>Merchant ID</td></tr><tr><td>merOrderNo</td><td>String</td><td>Merchant order number</td></tr><tr><td>supefinaOrderId</td><td>String</td><td>Supefina order number</td></tr><tr><td>amount</td><td>BigDecimal</td><td>The amount of the order</td></tr><tr><td>fee</td><td>String</td><td>Advance handling fee will be charged</td></tr><tr><td>identifier</td><td>String</td><td>Payment Reference</td></tr><tr><td>transactionStatus</td><td>String</td><td>Order status<br>Whether the initiation status of the order is successful or not has nothing to do with the real transaction status of the order.<br><code>00</code>：The order is successful<br><code>04</code>：Failed to place an order</td></tr><tr><td>url</td><td>String</td><td>Transaction links</td></tr></tbody></table>

#### Sample response

{% code fullWidth="true" %}

```json
{
    "code": "string",
    "msg": "string",
    "data": {
        "merCode": "string",
        "merOrderNo": "string",
        "supefinaOrderNo": "string",
        "amount": 0,
        "fee": 0,
        "transactionStatus": "string",
        "url": "string",
        "identifier": "string"
    }
}
```

{% endcode %}

### Callback notifications

Submission method：`POST`

<table data-full-width="true"><thead><tr><th width="239">Variable name</th><th width="179">type</th><th width="396">description</th></tr></thead><tbody><tr><td>amount</td><td>String</td><td>The amount of the order</td></tr><tr><td>countryId</td><td>String</td><td>Country number<br>Reference:：<a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#afwzp">Dictionary table - country number</a><br>Columbia，COL</td></tr><tr><td>customerName</td><td>String</td><td>Username</td></tr><tr><td>fee</td><td>String</td><td>Advance handling fee will be charged</td></tr><tr><td>identifier</td><td>String</td><td>Payment Reference<br>Clabe</td></tr><tr><td>merId</td><td>String</td><td>Merchant ID</td></tr><tr><td>merOrderId</td><td>String</td><td>Merchant order number</td></tr><tr><td>msg</td><td>String</td><td>message</td></tr><tr><td>nonceStr</td><td>String</td><td>Random strings<br>The length cannot exceed 32 bits</td></tr><tr><td>realityAmount</td><td>String</td><td>Paid-in amount</td></tr><tr><td>realityFee</td><td>String</td><td>Actual handling fee</td></tr><tr><td>sign</td><td>String</td><td>signature</td></tr><tr><td>status</td><td>String</td><td><a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#kxzkj">Transaction status</a><br>For details, please refer to：<a href="https://docs.supefina.net/huan-ying-shi-yong-supefina-de-api-wen-dang/zi-dian-he-zi-yuan/zi-dian-biao#kxzkj">Dictionary Table - Trading Order Status</a></td></tr><tr><td>successTime</td><td>Date</td><td>The time at which the transaction was successful<br>UTC time</td></tr><tr><td>supefinaOrderId</td><td>String</td><td>Supefina order number</td></tr><tr><td>transactionType</td><td>String</td><td>The type of transaction<br><code>01</code>：Payin<br><code>02</code>：Payout</td></tr></tbody></table>

#### An example of a callback notification

{% code fullWidth="true" %}

```json
{
    "amount": "20000.00",
    "countryId": "COL",
    "customerName": "Grace Shaw",
    "fee": "1000.00",
    "identifier": "706180968985601627",
    "merId": "8301409897370054",
    "merOrderId": "R20240619052050314",
    "msg": "",
    "nonceStr": "8b0c8dcd-14b6-4fef-a970-c914dc",
    "realityAmount": "20000",
    "realityFee": "1000.00",
    "sign": "FD1DD91503C4EC282E8CA01591973921",
    "status": "01",
    "successTime": 1718775146000,
    "supefinaOrderId": "2024061900010012b16f19beca043",
    "transactionType": "01"
}
```

{% endcode %}

**Callback notification response**

After the merchant successfully receives the callback, it needs to return the specified string synchronously: SUCCESS does not return or returns other content by default, and the notification fails\
As:

{% code fullWidth="true" %}

```java
public String test(){
	return "SUCCESS";
}
```

{% endcode %}

### List of collecting banks in Colombia <a href="#z5esw" id="z5esw"></a>

| Bank number | The name of the bank                      |
| ----------- | ----------------------------------------- |
| 1558        | BAN100                                    |
| 1059        | BANCAMIA S.A.                             |
| 1040        | BANCO AGRARIO                             |
| 1052        | BANCO AV VILLAS                           |
| 1013        | BANCO BBVA COLOMBIA S.A.                  |
| 1032        | BANCO CAJA SOCIAL                         |
| 1066        | BANCO COOPERATIVO COOPCENTRAL             |
| 1051        | BANCO DAVIVIENDA                          |
| 1001        | BANCO DE BOGOTA                           |
| 1023        | BANCO DE OCCIDENTE                        |
| 1062        | BANCO FALABELLA                           |
| 1063        | BANCO FINANDINA S.A. BIC                  |
| 1012        | BANCO GNB SUDAMERIS                       |
| 1006        | BANCO ITAU                                |
| 1060        | BANCO PICHINCHA S.A.                      |
| 1002        | BANCO POPULAR                             |
| 1065        | BANCO SANTANDER COLOMBIA                  |
| 1069        | BANCO SERFINANZA                          |
| 1303        | BANCO UNION antes GIROS                   |
| 1007        | BANCOLOMBIA                               |
| 1061        | BANCOOMEVA S.A.                           |
| 1283        | CFA COOPERATIVA FINANCIERA                |
| 1009        | CITIBANK                                  |
| 1370        | COLTEFINANCIERA                           |
| 1292        | CONFIAR COOPERATIVA FINANCIERA            |
| 1291        | COOFINEP COOPERATIVA FINANCIERA           |
| 1289        | COTRAFA                                   |
| 1097        | DALE                                      |
| 1551        | DAVIPLATA                                 |
| 1637        | IRIS                                      |
| 1070        | LULO BANK                                 |
| 1801        | MOVII S.A.                                |
| 1507        | NEQUI                                     |
| 1811        | RAPPIPAY                                  |
| 1019        | SCOTIABANK COLPATRIA                      |
| 1815        | ALIANZA FIDUCIARIA                        |
| 1071        | BANCO J.P. MORGAN COLOMBIA S.A.           |
| 1047        | BANCO MUNDO MUJER S.A.                    |
| 1816        | CREZCAMOS S.A. COMPAÑÍA DE FINANCIAMIENTO |
| 1804        | UALÁ                                      |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.supefina.net/english/welcome-to-supefinas-api-documentation/payin/colombia/bancolombia.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
