Bank Transfer Payment (Checkout)

The bank transfer checkout method allows customers to select their bank account on the payment screen and transfer funds in real-time.

Test Key Information


API Information

POST/bank/main.do
Content-Typeapplication/x-www-form-urlencoded
테스트https://tbnpg.settlebank.co.kr/bank/main.do
운영https://npg.settlebank.co.kr/bank/main.do

Important Notes

Bank Transfer Payment Important Notes

Bank transfers are processed as real-time withdrawals. If a payment is cancelled after completion, a refund process is required.
  • Bank transfer is a real-time withdrawal method; funds are deducted from the customer's account immediately.
  • Cash receipts can be issued.
  • Cancellation requires a refund process and is not instant; it is handled on a business day basis.

Request Parameters

타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자
예: AN(10) = 영문+숫자, 최대 10byte

Required Parameters

mchtIdAN(10)Alphanumeric, up to 10 bytes*
Unique merchant ID assigned by Hecto Financial
nx_mid_il: Bank Transfer
methodAN(20)Alphanumeric, up to 20 bytes*
Payment method code
*Fixed value
trdDtN(8)Numeric, up to 8 bytes*
Request date (yyyyMMdd)
trdTmN(6)Numeric, up to 6 bytes*
Request time (HH24MISS)
mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*
Unique order number generated by the merchant (ASCII only; Korean characters not permitted)
mchtNameAHN(100)Alphanumeric + Korean, up to 100 bytes*
Merchant Korean name
mchtENameAN(100)Alphanumeric, up to 100 bytes*
Merchant English name
pmtPrdtNmAHN(128)Alphanumeric + Korean, up to 128 bytes*
Payment product name
trdAmtN(12)Numeric, up to 12 bytes*AES-256AES-256/ECB/PKCS5Padding + Base64
Transaction amount
notiUrlAN(250)Alphanumeric, up to 250 bytes*
URL of the endpoint to receive the payment result (server-to-server webhook URL)
nextUrlAN(250)Alphanumeric, up to 250 bytes*
URL to redirect to the payment result screen
*Redirected when the button inside the checkout is clicked. Check the outStatCd value to determine payment success (0021) or failure (0031).
cancUrlAN(250)Alphanumeric, up to 250 bytes*
URL to redirect when the customer clicks the X button on the checkout
*Browser close, back navigation, etc. are not detected.
pktHashAN(200)Alphanumeric, up to 200 bytes*SHA-256(실시간 생성)
Hash value generated using SHA256
NOTE

Hash Generation Combination

mchtId + method + mchtTrdNo + trdDt + trdTm + trdAmt (plaintext) + hashKey

Optional Parameters

mchtCustNmAHN(30)Alphanumeric + Korean, up to 30 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Customer name
custAcntSumryAHN(50)Alphanumeric + Korean, up to 50 bytes
Bank account statement description (name to appear on the customer's bank statement)
mchtCustIdAN(50)Alphanumeric, up to 50 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Merchant customer ID
custIpAN(15)Alphanumeric, up to 15 bytes
Customer IP address
emailAN(60)Alphanumeric, up to 60 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Customer email address
prdtTermN(14)Numeric, up to 14 bytes
Product provision period (yyyyMMddHHmmss). If no value is provided, it is displayed as a standard payment.
appSchemeAN(100)Alphanumeric, up to 100 bytes
App scheme in the format AppScheme://~. Used when building a custom app.
taxTypeCdA(1)Alphabetic, up to 1 bytes
Tax type code
N: Taxable Y: Tax-exempt G: Mixed tax
taxAmtN(12)Numeric, up to 12 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Taxable amount (required for mixed tax)
vatAmtN(12)Numeric, up to 12 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
VAT amount (required for mixed tax)
taxFreeAmtN(12)Numeric, up to 12 bytesAES-256AES-256/ECB/PKCS5Padding + Base64
Tax-exempt amount (required for mixed tax)
mchtParamAHN(4000)Alphanumeric + Korean, up to 4000 bytes
Merchant reserved field (returned as-is when result is delivered)

Response Parameters

When payment is completed or fails, the parameters below are delivered via redirect to nextUrl; when the customer clicks the X button on the checkout, they are redirected to cancUrl. Browser close and back navigation are not detected.

타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자
예: AN(10) = 영문+숫자, 최대 10byte

Common Response

mchtIdAN(10)Alphanumeric, up to 10 bytes*nx_mid_il
Merchant ID
outStatCdAN(4)Alphanumeric, up to 4 bytes*0021
Transaction status code
0021: Success 0031: Failure
outRsltCdAN(4)Alphanumeric, up to 4 bytes*0000
Decline code (detailed code provided when transaction status is '0031')
outRsltMsgAHN(200)Alphanumeric + Korean, up to 200 bytes*Processed successfully.
Result message
methodAN(20)Alphanumeric, up to 20 bytes*bank
Payment method
mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*BANK20211231100000
Merchant order number
trdNoAN(40)Alphanumeric, up to 40 bytes*STFP_PGRAnx_mid_il0211129135810M1494620
Hecto Financial transaction number
trdAmtN(12)Numeric, up to 12 bytes*AES-256AES-256/ECB/PKCS5Padding1000
Transaction amount
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.

Bank Transfer-Specific Response

fnCdN(4)Numeric, up to 4 bytes004
Withdrawal bank code
fnNmAH(50)Alpha + Korean, up to 50 bytesKB Kookmin Bank
Withdrawal bank name
mchtCustIdAN(50)Alphanumeric, up to 50 bytesAES-256AES-256/ECB/PKCS5PaddingHongGilDong
Merchant customer ID
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
authDtN(14)Numeric, up to 14 bytes20211231100000
Approval datetime
mchtParamAHN(4000)Alphanumeric + Korean, up to 4000 bytesname=HongGilDong&age=25
Field value received in the request is returned as-is in the response

Webhook

After payment is completed, Hecto Financial sends a webhook to your server.

NOTE

Webhook Reference

For bank transfer payment webhook parameters and handling, see the Webhook document.
💬

Need technical support?