010 Virtual Account
A virtual account service based on mobile phone numbers (010-XXXX-XXXX). A deposit-only virtual account in 010 format is issued after verifying the customer's phone ownership.
Supported Payment Methods
| Payment Method | Description | Checkout Support | API Support |
|---|---|---|---|
| Checkout Issuance | Virtual account issued after phone ownership verification in the checkout | O | - |
| API Issuance | Phone verification and virtual account issuance directly via API | - | O |
010 Virtual Account Developer Docs
Understanding Payments
Checkout (UI) Method
In the checkout method, phone ownership verification (S1/S2) and issuance (A4) are handled automatically.
Two Webhook (notiUrl) Deliveries
API Method - B2C
If not using the checkout, the merchant server must call the APIs directly in the following order.
B2C API Call Order
| Step | API | bizType | Description |
|---|---|---|---|
| 1 | Phone Ownership Verification Request | S1 | Send SMS verification code to customer's phone |
| 2 | Phone Ownership Verification Confirm | S2 | Verify the code entered by the customer |
| 3 | Virtual Account Issuance | A4 | Issue 010-format virtual account number |
mchtTrdNo Must Be Identical
API Method - B2B
For B2B use, call the Duplicate Amount Check (A7) API before issuance to prevent duplicate issuance.
B2B API Call Order
| Step | API | bizType | Description |
|---|---|---|---|
| 1 | Phone Ownership Verification Request | S1 | Send SMS verification code to customer's phone |
| 2 | Phone Ownership Verification Confirm | S2 | Verify the code entered by the customer |
| 3 | Duplicate Amount Check | A7 | Check for existing issuance at the same amount (required for B2B) |
| 4 | Virtual Account Issuance | A4 | Issue 010-format virtual account number |
Duplicate Amount Check Required for B2B
Differences Between B2C and B2B
| Category | B2C | B2B |
|---|---|---|
| Deposit Expiry | Up to 27 days | Up to 3 years |
| Bank Statement Name | Fixed as "010가상계좌" | Format: "010_CustomerName" |
| Virtual Account Number | Phone number | Phone number + 3 digits |
| Transaction Amount | Actual payment amount | 1 KRW or more (unrelated to actual deposit amount) |
| Duplicate Amount Check (A7) | Not required | Required |
Post-Deposit Processing
After a virtual account is successfully issued and the customer deposits to that account, Hecto Financial sends a deposit webhook (notiUrl) to your server.
- Issuance Cancel (A2): Cancels the issued virtual account before customer deposit.
- Refund (C0): Processes a refund after customer deposit. (Requires separate refund service registration)
Key Features and Characteristics
| Feature | Description |
|---|---|
| Phone-Based | The customer's 010-format phone number is used as the virtual account number |
| Phone Ownership Verification Required | Account is issued after identity verification via phone ownership verification |
| Kbank Integration | Virtual account service through Kbank (089) |
| Deposit Expiry Setting | B2C: up to 27 days, B2B: up to 3 years |
Suitable for These Services
- Identity-Verified Payments: Services requiring identity confirmation via phone ownership verification
- Easy Deposits: Accounts in the easy-to-remember 010 number format
- B2B Transactions: Business-to-business transactions requiring long deposit deadlines (up to 3 years)
Important Notes
Caution When Testing in Production
Conditions for Skipping Phone Ownership Verification
- Sending both
cphoneNo(phone number) andmchtCustId(merchant customer ID) together allows skipping phone ownership verification.
Deposit Expiry Date Setting
- If no deposit expiry date (
expireDt) is provided, it is automatically set to +10 days from the transaction date. - B2C: Maximum 27 days from the current date
- B2B: Maximum 3 years from the current date
Bank Statement Name
- B2C: Fixed as "010가상계좌"
- B2B: Format "010_CustomerName"
Integration Information
Checkout (UI) URI
| Environment | URL |
|---|---|
| Sandbox | https://tbnpg.settlebank.co.kr |
| Production | https://npg.settlebank.co.kr |
API URI
| Environment | URL |
|---|---|
| Sandbox | https://tbgw.settlebank.co.kr |
| Production | https://gw.settlebank.co.kr |
Security Information
Encryption Method (AES-256)
Parameters containing personal information must be encrypted before transmission.
| Category | Details |
|---|---|
| Algorithm | AES-256/ECB/PKCS5Padding |
| Encoding | Base64 Encoding |
| Target Fields | Transaction amount, customer name, phone number, email, etc. |
Tamper Prevention (SHA-256)
A hash value is generated to prevent tampering with request data.
| Category | Details |
|---|---|
| Algorithm | SHA-256 |
| Encoding | Hex Encoding |
Test Key Information
Sandbox-Only Information
Full API List
| Category | API | Description | bizType |
|---|---|---|---|
| Checkout Integration | Issuance (Standalone Checkout) | Virtual account issuance via UI checkout | - |
| Checkout Integration | Issuance (Integrated Checkout) | Virtual account issuance via integrated checkout | - |
| API Integration | Phone Ownership Verification | SMS verification code send request | S1 |
| API Integration | Phone Ownership Verification Confirm | SMS verification code verification | S2 |
| API Integration | Duplicate Amount Check | Duplicate issuance check at same amount (required for B2B) | A7 |
| API Integration | Issuance | Virtual account number issuance | A4 |
| API Integration | Issuance Cancel | Cancel issued virtual account (before deposit) | A2 |
| API Integration | Refund | Process refund for completed deposit | C0 |
| Webhook | Deposit Webhook | Webhook delivered upon customer deposit | B1 |
| Test | Deposit Test | Deposit simulation in sandbox environment | F1 |
More API Documentation
Need technical support?
Code Samples
HectoFinancial GitHub