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.
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.
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.
각 단계 상세
- 1Payment Request : The customer selects virtual account payment on the order form.
- 2Launch Checkout : The merchant calls the JavaScript SDK (SETTLE_PG.pay) to launch checkout.
- 3Bank Selection : The customer selects the bank to deposit into from checkout.
- 4Account Issuance Notification : Hecto Financial delivers virtual account information (account number, deposit deadline) to the notiUrl. (outStatCd: 0051)
- 5Deposit Instructions : The merchant provides the customer with the issued virtual account information.
- 6Deposit : The customer deposits into the account provided.
- 7Deposit Notification : Once the deposit is confirmed, Hecto Financial delivers the deposit completion to the notiUrl. (outStatCd: 0021)
결제창 vs API 비교
| 항목 | 결제창 연동 | API 연동 |
|---|---|---|
| Account Type | Rotating | Rotating, Fixed, Fixed Unlimited |
| Payment UI | Hosted checkout by Hecto Financial | Merchant can design their own UI |
| notiUrl | Mandatory (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.
| Category | Processing Method | Description |
|---|---|---|
| Pre-deposit Cancellation | Account Cancellation API | Reclaims the issued account. Used when cancelling an order before the customer has made a deposit. |
| Post-deposit Refund | Refund API | Transfers the deposited amount back to the customer's account. The customer's refund account information must be collected directly. |
| Refund Processing Period | 2 to 5 business days | Refunds are generally processed the next business day, but some exceptions may take longer. |
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:
Virtual Account Developer Documentation
Virtual Account Issuance API
Fixed/rotating account issuance
010 Virtual Account
Account issuance based on mobile phone number
Refund Request API
Return funds to customer account after deposit
Account Cancellation API
Reclaim account before deposit
Deposit Inquiry API
Merchant-side direct validity verification
Need technical support?
Code Samples
HectoFinancial GitHub