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 MethodDescriptionCheckout SupportAPI Support
Checkout IssuanceVirtual account issued after phone ownership verification in the checkoutO-
API IssuancePhone verification and virtual account issuance directly via API-O

Understanding Payments

Checkout (UI) Method

In the checkout method, phone ownership verification (S1/S2) and issuance (A4) are handled automatically.

Buyer
Merchant
Hecto Financial
Kbank
11. Checkout call
22. Phone ownership verification request (SMS)
33. Enter verification code
44. 010 virtual account issuance request
55. Virtual account number issued
66. Issuance webhook sent (notiUrl)
77. Issuance result displayed (nextUrl)
88. Customer deposit
99. Deposit confirmed
1010. Deposit webhook sent (notiUrl)
NOTE

Two Webhook (notiUrl) Deliveries

Virtual account transactions deliver two webhooks in total: an issuance webhook (outStatCd: 0051) and a deposit webhook (outStatCd: 0021). Both webhooks must be handled. All DB processing must be performed in notiUrl; use nextUrl only for displaying result screens.

API Method - B2C

If not using the checkout, the merchant server must call the APIs directly in the following order.

Buyer
Merchant Server
Hecto Financial
Kbank
11. Payment request (enter phone number)
22. Phone ownership verification request (S1)
33. SMS verification code sent
44. Enter verification code
55. Phone ownership verification confirm (S2)
66. Virtual account issuance request (A4)
77. Kbank virtual account issuance
88. Issuance result
99. Issuance webhook sent (notiUrl)
1010. Customer deposit
1111. Deposit confirmed
1212. Deposit webhook sent (notiUrl)

B2C API Call Order

StepAPIbizTypeDescription
1Phone Ownership Verification RequestS1Send SMS verification code to customer's phone
2Phone Ownership Verification ConfirmS2Verify the code entered by the customer
3Virtual Account IssuanceA4Issue 010-format virtual account number
NOTE

mchtTrdNo Must Be Identical

The mchtTrdNo (merchant order number) used in S1 (verification request) and A4 (issuance) must be identical.

API Method - B2B

For B2B use, call the Duplicate Amount Check (A7) API before issuance to prevent duplicate issuance.

Buyer
Merchant Server
Hecto Financial
Kbank
11. Payment request (enter phone number)
22. Phone ownership verification request (S1)
33. SMS verification code sent
44. Enter verification code
55. Phone ownership verification confirm (S2)
66. Duplicate amount check (A7)
77. Virtual account issuance request (A4)
88. Kbank virtual account issuance
99. Issuance result
1010. Issuance webhook sent (notiUrl)
1111. Customer deposit
1212. Deposit confirmed
1313. Deposit webhook sent (notiUrl)

B2B API Call Order

StepAPIbizTypeDescription
1Phone Ownership Verification RequestS1Send SMS verification code to customer's phone
2Phone Ownership Verification ConfirmS2Verify the code entered by the customer
3Duplicate Amount CheckA7Check for existing issuance at the same amount (required for B2B)
4Virtual Account IssuanceA4Issue 010-format virtual account number

Duplicate Amount Check Required for B2B

For B2B service, requesting A4 (issuance) without A7 (duplicate amount check) will result in a VA03 error if a virtual account with the same amount has already been issued.

Differences Between B2C and B2B

CategoryB2CB2B
Deposit ExpiryUp to 27 daysUp to 3 years
Bank Statement NameFixed as "010가상계좌"Format: "010_CustomerName"
Virtual Account NumberPhone numberPhone number + 3 digits
Transaction AmountActual payment amount1 KRW or more (unrelated to actual deposit amount)
Duplicate Amount Check (A7)Not requiredRequired

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

FeatureDescription
Phone-BasedThe customer's 010-format phone number is used as the virtual account number
Phone Ownership Verification RequiredAccount is issued after identity verification via phone ownership verification
Kbank IntegrationVirtual account service through Kbank (089)
Deposit Expiry SettingB2C: 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

Costs incurred when testing in the production environment are borne by the merchant. All testing must be completed in the sandbox environment before using the production environment.

Conditions for Skipping Phone Ownership Verification

  • Sending both cphoneNo (phone number) and mchtCustId (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

EnvironmentURL
Sandboxhttps://tbnpg.settlebank.co.kr
Productionhttps://npg.settlebank.co.kr

API URI

EnvironmentURL
Sandboxhttps://tbgw.settlebank.co.kr
Productionhttps://gw.settlebank.co.kr

Security Information

Encryption Method (AES-256)

Parameters containing personal information must be encrypted before transmission.

CategoryDetails
AlgorithmAES-256/ECB/PKCS5Padding
EncodingBase64 Encoding
Target FieldsTransaction amount, customer name, phone number, email, etc.

Tamper Prevention (SHA-256)

A hash value is generated to prevent tampering with request data.

CategoryDetails
AlgorithmSHA-256
EncodingHex Encoding

Test Key Information

Sandbox-Only Information

The keys and merchant IDs above are for use in the sandbox environment only. In the production environment, use the keys and merchant IDs separately issued by Hecto Financial.

Full API List

CategoryAPIDescriptionbizType
Checkout IntegrationIssuance (Standalone Checkout)Virtual account issuance via UI checkout-
Checkout IntegrationIssuance (Integrated Checkout)Virtual account issuance via integrated checkout-
API IntegrationPhone Ownership VerificationSMS verification code send requestS1
API IntegrationPhone Ownership Verification ConfirmSMS verification code verificationS2
API IntegrationDuplicate Amount CheckDuplicate issuance check at same amount (required for B2B)A7
API IntegrationIssuanceVirtual account number issuanceA4
API IntegrationIssuance CancelCancel issued virtual account (before deposit)A2
API IntegrationRefundProcess refund for completed depositC0
WebhookDeposit WebhookWebhook delivered upon customer depositB1
TestDeposit TestDeposit simulation in sandbox environmentF1
💬

Need technical support?