# Korean Virtual Account

> Korean Virtual Account is a commonly used payment method in South Korea.

Korean Virtual Account is a commonly used payment method in South Korea. When a customer initiates a payment via a virtual account, a temporary account is issued in the customer’s name. The customer completes the payment by depositing the order amount into the assigned account within the defined time frame.

## Properties

The following table lists the product properties supported by Korean Virtual Account:

| **Payment type** | Online banking | Online banking | Online banking |
| --- | --- | --- | --- |
| **Acquirer** | AntomSG, AntomHK, AntomEU, AntomUS, AntomUK | **Merchant entity location** | SG, HK, EEA, US, UK |
| **Payment flow** | Redirect | **Refund** | ❌ |
| **Buyer country/region** | South Korea | **Partial refund** | ❌ |
| **Processing currency** | KRW | **Chargeback/Dispute** | ❌ |
| **Minimum payment amount** | 200 KRW | **Refund period** | N/A |
| **Maximum payment amount** | 999,999,999 KRW | **Time to return payment result** | Real-time |
| **Maximum payment amount** | 999,999,999 KRW | **Default timeout** | 7 days |

## 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 figures show the journey of paying with Korean Virtual Account in different scenarios:

### Payment without Antom page

In this scenario, Korean Virtual Account is displayed by the merchant.

#### Tab: Web

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2026/png/2647cb45-3e1f-44d6-acaf-84b877a877e1.png)

#### Tab: App

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2026/png/75937006-e56a-430b-992d-e425e215190b.png)

1.  The buyer selects Korean Virtual Account to pay and chooses a bank to issue the Korean Virtual Account.
2.  The buyer is redirected to the page showing the generated Virtual Account number, and copies the number.
3.  The buyer opens the bank app, enters the Virtual Account number and transaction amount, and completes the payment.
4.  The buyer is redirected back to the merchant result page.

> **Note**: The specific process presentation for step 3 depends on the bank you selected in step 1.

### Payment with Antom page

In this scenario, Korean Virtual Account is displayed by Antom.

#### Tab: Web

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2026/png/c501b697-b754-4350-a650-16c1743da05e.png)

#### Tab: App

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2026/png/5d05dcd7-cf09-43d9-a887-2f5d4f174d40.png)

1.  The buyer selects Korean Virtual Account to pay.
2.  The buyer is redirected to the Antom page and chooses a bank to issue the Korean Virtual Account.
3.  The buyer copies the generated Virtual Account number.
4.  The buyer opens the bank app, enters the Virtual Account number and transaction amount, and completes the payment.
5.  The buyer is redirected back to the merchant result page.

> **Note**: The specific process presentation for step 4 depends on the bank you selected in step 2.

## 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) ✔️ API-hosted ❌ Hosted Checkout Page ❌ Embedded Checkout Page ❌ Web Element ❌ Mobile Element ❌ 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.

### About bank identifier code

When accepting payments from Korean Virtual Account, it requires you to collect the bank code from the buyer. Bank identifier code can be collected via Antom intermediate page or directly from the merchant page.

-   Antom intermediate page: Without passing the _bankIdentifierCode_ parameter in the [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md) API request, the _normalUrl_ parameter is returned in the API response. You are required to redirect the buyer to the address specified by _normalUrl_ and proceed the payment process as indicated in [User experience](#2V0m8)**.**
-   Merchant page: You can display a [bank list](https://docs.antom.com/ac/pm/enumeration_values.md#HYqUe) for buyer to select and specify as the _bankIdentifierCode_ parameter in the [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md) API request. Subsequently, you can directly render the _codeValue_ parameter in the API response on the merchant page to display the Korean Virtual Account number, reducing page redirections and improving the payment experience.

### Default timeout

-   You can define the timeout duration for each Korean Virtual Account by using the _expiryTime_ parameter in the [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md) API request. The default timeout is 168 hours (7 days).
-   When displaying the Korean Virtual Account number, use the _paymentCodeExpireTime_ 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 Korean Virtual Account number, enable the copy function for the number and allow the buyer to conveniently paste the number into the payment method app.
-   Money deposit or transfer is not allowed after the timeout.

> **Note**: The maximum timeout is 90 days.

### Code sample

The following is a response sample in the [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md) API:

```json
{
    "orderCodeForm": {
        "codeDetails": [
            {
                "codeValue": "8007065324039",
                "displayType": "TEXT"
            }
        ],
        "expireTime": "*************************"
    },
    "paymentActionForm": "{\"paymentActionFormType\":\"PaymentCodeForm\",\"paymentCodeExpireTime\":1768472708000,\"paymentCodeInfos\":[{\"paymentCodeDetails\":[{\"codeValue\":\"8007065324039\",\"codeValueType\":\"DIGICODE\",\"displayType\":\"TEXT\"}],\"paymentCodeInfoType\":\"PAYMENT_CODE\"}]}",
    "paymentAmount": {
        "currency": "KRW",
        "value": "200"
    },
    "paymentCreateTime": "2026-01-08T02:25:08-08:00",
    "paymentId": "20260108194010800100188810241505521",
    "paymentRequestId": "PAYMENT_20260108182507029_AUTO",
    "result": {
        "resultCode": "PAYMENT_IN_PROCESS",
        "resultMessage": "payment in process",
        "resultStatus": "U"
    }
}
```