Virtual Account Payment

Virtual account (unlinked bank transfer) is a method where a temporary account number is issued to the customer, and payment is completed when they deposit into that account.
Even customers without a card can make payments, and deposit confirmation is processed automatically, improving the merchant's operational efficiency.

Unlike standard payment methods, virtual accounts operate on an asynchronous structure where account issuance and deposit are separated.
No actual payment is generated at the time of the payment request — only an account is issued. Payment is only completed after the customer deposits into that account.

NOTE

The core flow of virtual account payment. Step 1: Account issuance request → Virtual account issued Step 2: Customer deposits → Deposit confirmation notification received → Order completion processed. Since account issuance and deposit are separated, handling deposit notifications via notiUrl is mandatory.

Account Types Overview

Hecto Financial offers three account types so you can choose the one that fits your service.

RotatingCheckout API

A method where a different account number is automatically assigned for each order from the account pool maintained by Hecto Financial. A usable account is issued immediately upon request without the merchant needing to manage accounts separately.

  • A unique account number is automatically issued for each order.
  • When the deposit deadline passes, the account is automatically reclaimed and reused for other orders.

Payment Flow Overview

Checkout Integration

When the merchant's webpage calls the Hecto Financial checkout, the customer selects a bank and receives a virtual account. Once the deposit is confirmed, Hecto Financial delivers the result to the merchant server.

Buyer
Merchant
Hecto Financial
Bank
11. Payment request on order page
22. Launch checkout
33. Display checkout (select bank)
44. Select bank & enter info
55. Account issuance noti (outStatCd
66. Provide virtual account info
77. Deposit funds
88. Confirm deposit
99. Deposit noti (outStatCd

각 단계 상세

  1. 1Payment Request : The customer selects virtual account payment on the order form.
  2. 2Launch Checkout : The merchant calls the JavaScript SDK (SETTLE_PG.pay) to launch checkout.
  3. 3Bank Selection : The customer selects the bank to deposit into from checkout.
  4. 4Account Issuance Notification : Hecto Financial delivers virtual account information (account number, deposit deadline) to the notiUrl. (outStatCd: 0051)
  5. 5Deposit Instructions : The merchant provides the customer with the issued virtual account information.
  6. 6Deposit : The customer deposits into the account provided.
  7. 7Deposit Notification : Once the deposit is confirmed, Hecto Financial delivers the deposit completion to the notiUrl. (outStatCd: 0021)
Notification integration is mandatory. The account issuance notification (outStatCd: 0051) is sent when the account is issued, and the deposit notification (outStatCd: 0021) is sent when the customer actually makes a deposit. ` Both notifications are received via notiUrl, so they must be differentiated and processed using outStatCd.

결제창 vs API 비교

항목결제창 연동API 연동
Account TypeRotatingRotating, Fixed, Fixed Unlimited
Payment UIHosted checkout by Hecto FinancialMerchant can design their own UI
notiUrlMandatory (account issuance + deposit)Account issuance notification optional / Deposit notification mandatory

Key Features and Characteristics

1. Validity Checks

Unlike standard virtual accounts, this service checks the deposit deadline, deposit amount, and other conditions to verify that the deposit is valid.

2. Virtual Account Expiration Handling

If no deposit is made by the deadline, the account automatically expires.

No separate notification is sent when a virtual account expires. Handling for expired accounts (order cancellation, re-issuance guidance, etc.) must be implemented separately by the merchant. A batch process to periodically check whether the expiration deadline has been reached is recommended.

3. Merchant Deposit Inquiry Feature

By default, the PG provider handles deposit inquiry on behalf of the merchant. However, if needed, you can request through your sales representative to have the merchant perform the deposit check directly.

4. Cash Receipts

Virtual accounts are classified as cash-based payments and are subject to cash receipt issuance. If integrating via checkout, no separate integration is needed. If issuing accounts via the WEB-API, cash receipt settings can be configured via parameters.

5. Direct Bank Contract

If you have a direct contract with a bank in addition to Hecto Financial virtual accounts,
or if you only use certain banks, this can also be configured through your sales representative.

Cancellation and Refund

Cancellations and refunds for virtual accounts differ depending on whether they occur before or after deposit.

CategoryProcessing MethodDescription
Pre-deposit CancellationAccount Cancellation APIReclaims the issued account. Used when cancelling an order before the customer has made a deposit.
Post-deposit RefundRefund APITransfers the deposited amount back to the customer's account. The customer's refund account information must be collected directly.
Refund Processing Period2 to 5 business daysRefunds are generally processed the next business day, but some exceptions may take longer.
NOTE

The difference between pre-deposit cancellation and post-deposit refund. Pre-deposit cancellation simply reclaims the issued virtual account, so it is processed immediately. Post-deposit refund requires a separate transfer to the customer's account, so refund account information is needed and processing takes time.

Pre-Integration Checklist

Before starting virtual account payment integration, it is good to confirm the following in advance.

Merchant ID Related

  • Merchant IDs may be separated by account type, such as rotating, fixed, and fixed unlimited. Please confirm the method you will use in advance and discuss with your sales representative.
  • The Merchant IDs for the test environment and production environment are different. Testing in the production environment will incur real charges, so always use the sandbox (testbed).

Other Notes

  • Virtual account payments require notiUrl integration. Rotating/Fixed accounts must handle the issuance notification (0051) and deposit notification (0021). Fixed Unlimited accounts do not receive an issuance notification and must handle the deposit notification (0021/B1) and, when enabled, the auto-cancel notification (0121/B2).
  • For fixed/fixed-unlimited methods, the notiUrl must be provided to the sales representative in advance.
  • Please avoid account issuance and cancellation requests during bank maintenance hours (23:30–00:35).
  • The cancellation deadline is 1 year.

Sales / Review Related

  • Fixed and fixed-unlimited methods must be applied for through consultation with a sales representative.
  • Sales inquiries:
💬

Need technical support?