Korean Virtual Account

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

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

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.

image.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.

image.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

✔️ 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) 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.
  • Merchant page: You can display a bank list for buyer to select and specify as the bankIdentifierCode parameter in the pay (One-time Payments) 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) 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) 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) API:

copy
{
    "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"
    }
}