# Kbank

> Kbank is the fourth largest commercial bank in Thailand.

Kbank is the fourth largest commercial bank in Thailand. The bank was formerly known as Farmers Bank of Thailand, which was established on June 8, 1945. Kbank floated on the Stock Exchange of Thailand in 1976. It was the first bank in Thailand to offer electronic payments.

Kbank has more than 17 million users in Thailand. Currently, the bank supports two different ways to pay: online banking and bank transfer via offline ATMs.

## Properties

The properties of the Kbank payment method are shown in the following table based on different payment types:

| **Payment type** | Online banking | Online banking | Online banking |
| --- | --- | --- | --- |
| **Acquirer** | AntomSG, AntomHK, AntomUS, AntomUK, AntomEU | **Refund** | ❌ |
| **Merchant entity location** | SG, HK, US, UK, EEA | **Partial refund** | ❌ |
| **Buyer country/region** | Thailand | **Refund period** | ❌ |
| **Processing currency** | THB | **Time to return refund result** | ❌ |
| **Payment flow** | Redirect | **Time to return payment result** | Real-time |
| **Minimum payment amount** | 1 THB | **Chargeback/Dispute** | ❌ |
| **Maximum payment amount** | 5 million THB | **Default timeout** | 14 minutes |

| **Payment type** | Bank transfer | Bank transfer | Bank transfer |
| --- | --- | --- | --- |
| **Acquirer** | AntomSG, AntomHK, AntomUS, AntomUK, AntomEU | **Refund** | ❌ |
| **Merchant entity location** | SG, HK, US, UK, EEA | **Partial refund** | ❌ |
| **Buyer country/region** | Thailand | **Refund period** | ❌ |
| **Processing currency** | THB | **Time to return refund result** | ❌ |
| **Payment flow** | Redirect | **Time to return payment result** | Real-time |
| **Minimum payment amount** | 1 THB | **Chargeback/Dispute** | ❌ |
| **Maximum payment amount** | 5 million THB | **Default timeout** | 48 hours |
| **Maximum payment amount** | 5 million THB | **Customize the timeout** | ✔️ |

## User experience

> **Note**: The following payment flows on different terminals are reference only, and represent this payment method's flow on different terminal types. For supported merchants' terminal types, consult Antom Technical Support.

The following graphics show the user experience for the App terminal in different scenarios.

#### Tab: Online banking

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2025/png/3335f103-1291-4bec-b91a-f5df48807f20.png)

1.  The buyer selects Kbank to pay.
2.  The buyer enters the phone number to proceed the payment.
3.  The buyer receives the bill push and clicks the push to invoke the bank app.
4.  The buyer enters the PIN on the bank app.
5.  The buyer confirms the order information.
6.  The buyer is redirected to the merchant result page.

#### Tab: Bank transfer

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2025/png/ca4b3123-758c-4731-a919-4647ee316298.png)

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2024/png/983ae09e-0cc6-4760-a4ff-e831ea15b548.png)

1.  The buyer selects Kbank to pay.
2.  The buyer is redirected to the payment code page.
3.  The buyer opens the bank app manually.
4.  The buyer selects the order bill to pay on the bank page.
5.  The buyer searches the bill code on the bank page.
6.  The buyer enters the bank account and payment code.
7.  The buyer confirms the order information.
8.  The buyer page displays the payment result.
9.  The buyer manually switches back to the merchant result page and obtains the payment result.

## Supported online payment integrations

Antom offers a range of integration options tailored to each payment method. Each payment method may support different online payment integration options, allowing for flexibility based on your business requirements. The table below provides detailed information about the specific integrations available for each payment method:

| **Supported online payments** | **Supported integrations** |
| --- | --- |
| One-time Payments | ✔️ [API-only](https://docs.antom.com/ac/cashierpay/apm_api.md) ✔️ [Hosted Checkout Page](https://docs.antom.com/ac/cashierpay/HOSTEDCKP.md) ✔️ [Embedded Checkout Page](https://docs.antom.com/ac/cashierpay/embeddedckp.md) ✔️ [Web Element](https://docs.antom.com/ac/cashierpay_zh-cn/element.md) ✔️ [Mobile Element](https://docs.antom.com/ac/cashierpay_zh-cn/element.md) ❌ Payment links |
| Tokenized Payment | ❌ |
| Subscription Payment | ❌ |
| EasySafePay | ❌ |
| Scan to Link | ❌ |

## Integration considerations

The following section outlines integration considerations for various payment types, detailing customized integration solutions and payment method features.

#### Tab: Online banking

### About _normalUrl_

-   For Web, WAP, and App terminals, _normalUrl_ is returned in the response of the [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md) API. The buyer is redirected to the address specified by _normalUrl_ and uses the payment code displayed on the page to proceed with the payment. The buyer can directly scan the QR code to pay, or enter the phone number in the KPLUS app to pay. After the buyer completes the payment on the phone, the middle page automatically redirects to the payment method result page and merchant result page.
-   Different terminal types have specific integration features when returning _normalUrl_.

-   WAP: The returned _normalUrl_ is the payment code and payment operation display page. The buyer copies the payment code and proceeds to the bank app or the ATM based on the payment operation or the screenshot to complete the payment.
-   App: The returned _normalUrl_ does not trigger the payment method app. It is recommended that you render the URL page directly within the merchant app and provide payment operation steps to guide buyers to complete the payment.

### After payments

-   After the buyer completes the payment in the bank app, the banking app will not automatically redirect to the merchant's results page. The buyer needs to manually navigate to the transaction initiation app (the merchant app or browser).
-   This payment method does not support refunds. It is recommended to communicate directly with the buyer offline.

### Default timeout

When the payment link on the Web and WAP terminal returns, the order page countdown restarts for 15 minutes If the buyer manually refreshes. This may result in a situation where Antom closes the order while the buyer is still able to complete the payment, leading to potential payment discrepancies. It is recommended to access the payment discrepancies notification.

#### Tab: Bank transfer

### About _normalUrl_

-   When accepting payments from Kbank, you can choose whether to use _normalUrl_:

-   If choosing not to use _normalUrl_, you can directly render the _codeValue_ in the API response on the merchant page to display the QR code or payment code, reducing page redirections and improving the payment experience.
-   If choosing to use _normalUrl_, redirect your buyer to the address specified by _normalUrl_ and proceed the payment process as indicated in [User experience](#6vnrx).

-   For Web, WAP, and App terminals, _normalUrl_ is returned in the response of the [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md) API. The buyer is redirected to the address specified by _normalUrl_ and uses the payment code displayed on the page to proceed with the payment within the mobile banking app or on the offline ATM device. After the payment is completed, the middle page automatically redirects to the merchant result page.
-   Different terminal types have specific integration features when returning _normalUrl_.

-   WAP: The returned _normalUrl_ is the payment code and payment operation display page. The buyer copies the payment code and proceeds to the bank app or the ATM based on the payment operation or the screenshot to complete the payment.
-   App: The returned _normalUrl_ does not trigger the payment method app. It is recommended that you render the URL page directly within the merchant app and provide payment operation steps to guide buyers to complete the payment.

### After payments

-   After the buyer completes the payment in the bank app, the banking app will not automatically redirect to the merchant's results page. The buyer needs to manually navigate to the transaction initiation app (the merchant app or browser).
-   This payment method does not support refunds. It is recommended to communicate directly with the buyer offline.
-   Obtain the payment result from the payment result notification (**notifyPayment**) or by making inquiries (**inquiryPayment**). Handle the redirection and display of the payment result page to avoid duplicate payments.

### Default timeout

The QR code returned by Antom will not be refreshed automatically. When displaying the QR code, use the _expireTime_ parameter value returned in the [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md) API response to display the timeout information. When displaying the payment code, enable the copy function for the payment code and allow the buyer to conveniently paste the payment code into the payment method app.

### Response sample

The following is a code example in the payment response:

```json
{
    "normalUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=RZkKcQgoYD8iEO36wsyCbhH5sjPsJXKtxsfmjToLRMA%3D&clientId=5Y607N2YJU8006726",
    "orderCodeForm": {
        "codeDetails": [
            {
                "codeValue": "7960076110",
                "displayType": "TEXT"
            },
            {
                "codeValue": "https://iexpfront-sea.alipay.com/showQrImage.htm?code=3%252Fk97oupdVD%252ByBP1ou%252BptvV0j0OcEcUND44fbyP5nawtp%252FxTy%252Bcmu3nx3R8K3ICEo8GiuNsBxs0vnSDXR0OGKg%253D%253D&size=M&sid=188",
                "displayType": "MIDDLEIMAGE"
            },
            {
                "codeValue": "|010555303610000 0000007960076110 0000007960076110 160",
                "displayType": "TEXT"
            }
        ],
        "expireTime": "2024-04-24T22:43:25-07:00"
    },
    "paymentActionForm": "{\"paymentActionFormType\":\"PaymentCodeForm\",\"paymentCodeExpireTime\":1714023805000,\"paymentCodeInfos\":[{\"paymentCodeDetails\":[{\"codeValue\":\"7960076110\",\"codeValueType\":\"DIGICODE\",\"displayType\":\"TEXT\"},{\"codeValue\":\"|010555303610000 0000007960076110 0000007960076110 160\",\"codeValueType\":\"QRCODE\",\"displayType\":\"IMAGE\"},{\"codeValue\":\"|010555303610000 0000007960076110 0000007960076110 160\",\"codeValueType\":\"BARCODE\",\"displayType\":\"IMAGE_CONVERT\"}],\"paymentCodeInfoType\":\"PAYMENT_CODE\"}]}",
    "paymentAmount": {
        "currency": "THB",
        "value": "160"
    },
    "paymentCreateTime": "2024-04-22T22:43:25-07:00",
    "paymentId": "20240423194010800100188950218781738",
    "paymentRequestId": "PAY_20240423134324142",
    "redirectActionForm": {
        "method": "GET",
        "redirectUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=RZkKcQgoYD8iEO36wsyCbhH5sjPsJXKtxsfmjToLRMA%3D&clientId=5Y607N2YJU8006726"
    },
    "result": {
        "resultCode": "PAYMENT_IN_PROCESS",
        "resultMessage": "payment in process",
        "resultStatus": "U"
    }
}
```