# KrungThai Bank

> KrungThai Bank (KTB) is a state-controlled listed bank and the second-largest bank in Thailand.



<!-- ToggleTab query="platform" -->

**Tab: For One-time Payments**

KrungThai Bank (KTB) is a state-controlled listed bank and the second-largest bank in Thailand, making it the preferred bank for most government agencies.

 KTB has more than 15 million Thai users. Currently, the bank supports two different ways to pay: online banking and bank transfer via offline ATMs.

## Properties {#OFbtE}

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

 | **Payment type** | Online banking |  |  |
| --- | --- | --- | --- |
| **Acquirer** | AntomSG, AntomUS, AntomUK, AntomEU, AntomHK | **Refund** | ❌ |
| **Merchant entity location** | SG, US, UK, EEA, HK | **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** | 2 million THB | **Default timeout** | 14 minutes |

 | **Payment type** | Bank transfer |  |  |
| --- | --- | --- | --- |
| **Acquirer** | AntomSG, AntomUS, AntomUK, AntomEU, AntomHK | **Refund** | ❌ |
| **Merchant entity location** | SG, US, UK, EEA, HK | **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** | 2 million THB (ATM: 0.5 million THB) | **Default timeout** | 48 hours |
| **Customize the timeout** | ✔️ |  |  |

## User experience {#KCfrA}

 > **[INFO]** **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 WAP terminal in different scenarios.

<!-- TabGroup -->

**Tab: Online banking**

![](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2024/png/f4b35de0-d1b2-4a99-8a46-1e56767bf790.png)

 1. The buyer selects KrungThai Bank to pay.
2. The buyer enters the bank page to complete the payment.
3. The buyer is redirected to the merchant result page.

**Tab: Bank transfer**

![](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2024/png/c825f6bb-4bd2-4966-9fa2-dde0b2f30573.png)

 1. The buyer selects KrungThai Bank to pay.
2. The buyer is redirected to the payment code page.
3. The buyer completes the transfer on the bank app.
4. The buyer is redirected to the merchant result page.

<!-- /TabGroup -->

## Supported online payment integrations {#qB0ci}

 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)   <sup>Not supported on PC</sup> ✔️      [Hosted Checkout Page](https://docs.antom.com/ac/cashierpay/HOSTEDCKP.md) ❌     Embedded Checkout Page ✔️      [Web Element](https://docs.antom.com/ac/cashierpay/element.md) ✔️      [Mobile Element](https://docs.antom.com/ac/cashierpay/element.md) ❌     Payment links |
| Tokenized Payment | ✔️      [API-only](https://docs.antom.com/ac/auto_debit/integration_guide.md) |
| Subscription Payment | ❌ |
| EasySafePay | ❌ |
| Scan to Link | ❌ |

## Integration considerations {#89fGu}

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

<!-- TabGroup -->

**Tab: Online banking**

### About    *normalUrl* {#YBKng}

 - For the Web terminal,        *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*     to enter the bank payment page directly.
- For 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*        to display the payment information page. The buyer can input the account ID and password to complete the payment directly on the web page or open the KTB app to enter the PIN for payment. If choosing the KTP app to pay, the buyer is first redirected back to the browser page upon completion of the payment, and then back to the merchant result page.
- The URL returned by the App is the bank middle page, which supports the buyer to launch the bank app for payment. It is recommended to render the bank middle page URL within the merchant app and be compatible with the abilities of        *applinkUrl*        and        *schemeUrl*        in WebView. Set the merchant result page to the browser link instead of the app's scheme.

### After payments {#BShCq}

 - After completing the bank app payment, redirect the buyer first to the browser page and then back to the merchant result page specified in the        *paymentRedirectUrl*        parameter.
- This payment method does not support refunds. It is recommended to communicate directly with the buyer offline.

### Default timeout {#Msg1U}

 If the buyer does not complete the payment, Antom sends you an asynchronous notification of the payment result at the 14th minute. The timeout period for the merchant to wait for the asynchronous notification or inquire about the result must be greater than 14 minutes.

**Tab: Bank transfer**

### About     *normalUrl* {#about-normalurl}

 - When accepting payments from    KTB   , 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](https://docs.antom.com/ac/antomop/kyb.md#KCfrA)  .
- For 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.
- Web: Not supported on PC.

### After payments {#yr70K}

 - 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**](https://docs.antom.com/ac/ams/paymentrn_online.md)  ) or by making inquiries (  [**inquiryPayment**](https://docs.antom.com/ac/ams/paymentri_online.md)  ). Handle the redirection and display of the payment result page to avoid duplicate payments.

### Default timeout {#yYnyb}

 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 {#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=1xIJp0BNA9wfWb8Ng4v8%2FgtUzIH%2BGxztrdQ0gvg9%2Ft8%3D&clientId=5Y607N2YJU8006726",
    "orderCodeForm": {
        "codeDetails": [
            {
                "codeValue": "2863326076",
                "displayType": "TEXT"
            },
            {
                "codeValue": "https://iexpfront-sea.alipay.com/showQrImage.htm?code=3%252Fk97oupdVD%252ByBP1ou%252BptkJCRdgTHHU0QwfBXR93E2TFVAOSffEVRoMAiLJdqWcGnYKBdlZvVY2lclrLtr6t8g%253D%253D&size=M&sid=188",
                "displayType": "MIDDLEIMAGE"
            },
            {
                "codeValue": "|010555303610000 0000002863326076 0000002863326076 240",
                "displayType": "TEXT"
            }
        ],
        "expireTime": "2024-03-26T23:00:08-07:00"
    },
    "paymentActionForm": "{"paymentActionFormType":"PaymentCodeForm","paymentCodeExpireTime":1711519208000,"paymentCodeInfos":[{"paymentCodeDetails":[{"codeValue":"2863326076","codeValueType":"DIGICODE","displayType":"TEXT"},{"codeValue":"|010555303610000 0000002863326076 0000002863326076 240","codeValueType":"QRCODE","displayType":"IMAGE"},{"codeValue":"|010555303610000 0000002863326076 0000002863326076 240","codeValueType":"BARCODE","displayType":"IMAGE_CONVERT"}],"paymentCodeInfoType":"PAYMENT_CODE"}]}",
    "paymentAmount": {
        "currency": "THB",
        "value": "240"
    },
    "paymentCreateTime": "2024-03-24T23:00:08-07:00",
    "paymentId": "20240325194010800100188370212989584",
    "paymentRequestId": "PAY_20240325140007809",
    "redirectActionForm": {
        "method": "GET",
        "redirectUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=1xIJp0BNA9wfWb8Ng4v8%2FgtUzIH%2BGxztrdQ0gvg9%2Ft8%3D&clientId=5Y607N2YJU8006726"
    },
    "result": {
        "resultCode": "PAYMENT_IN_PROCESS",
        "resultMessage": "payment in process",
        "resultStatus": "U"
    }
}
```

<!-- /TabGroup -->

**Tab: For Tokenized Payment**

KrungThai Bank (KTB) is a state-controlled listed bank and the second largest bank in Thailand. KTB is also the preferred bank for most government agencies. KTB has more than 15 million Thai users.

## Properties {#uCpdj}

 The properties of the    KTB    payment method are shown in the following table:

 | **Payment type** | Online banking |  |  |
| --- | --- | --- | --- |
| **Acquirer** | AntomSG, AntomUS | **Merchant entity location** | SG, HK, US |
| **Payment flow** | Redirect | **Refund** | ❌ |
| **Buyer country/region** | Thailand | **Partial refund** | ❌ |
| **Processing currency** | THB | **Chargeback/Dispute** | ❌ |
| **Minimum payment amount** | 1 THB | **Time to return payment result** | Real-time |
| **Maximum payment amount** | 2 million THB (   ATM: 0.5    million THB   ) | **Default timeout** | 14 minutes |

## User experience {#cvvv5}

 The following graphic shows the KrungThai Bank app authorization process:

 ![](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/1666339359391-1974ab55-fff0-40da-9200-836d9d23dc1d.png)

## Supported online payment integrations {#qB0ci}

 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)   <sup>Not supported on PC</sup> ✔️      [Hosted Checkout Page](https://docs.antom.com/ac/cashierpay/HOSTEDCKP.md) ❌    Embedded Checkout Page ✔️      [Web Element](https://docs.antom.com/ac/cashierpay/element.md) ✔️      [Mobile Element](https://docs.antom.com/ac/cashierpay/element.md) ❌     Payment links |
| Tokenized Payment | ✔️      [API-only](https://docs.antom.com/ac/auto_debit/integration_guide.md) |
| Subscription Payment | ❌ |
| EasySafePay | ❌ |
| Scan to Link | ❌ |

<!-- /ToggleTab -->
