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-Type
application/x-www-form-urlencoded테스트
https://tbnpg.settlebank.co.kr/bank/main.do운영
https://npg.settlebank.co.kr/bank/main.doImportant 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
Unique merchant ID assigned by Hecto Financial
nx_mid_il: Bank Transfer└methodAN(20)Alphanumeric, up to 20 bytes*Payment method code
Payment method code
*Fixed value
└trdDtN(8)Numeric, up to 8 bytes*Request date (yyyyMMdd)
Request date (yyyyMMdd)
└trdTmN(6)Numeric, up to 6 bytes*Request time (HH24MISS)
Request time (HH24MISS)
└mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*Unique order number generated by the merchant (ASCII only; Korean characters not permitted)
Unique order number generated by the merchant (ASCII only; Korean characters not permitted)
└mchtNameAHN(100)Alphanumeric + Korean, up to 100 bytes*Merchant Korean name
Merchant Korean name
└mchtENameAN(100)Alphanumeric, up to 100 bytes*Merchant English name
Merchant English name
└pmtPrdtNmAHN(128)Alphanumeric + Korean, up to 128 bytes*Payment product name
Payment product name
└trdAmtN(12)Numeric, up to 12 bytes*
AES-256AES-256/ECB/PKCS5Padding + Base64Transaction amountTransaction amount
└notiUrlAN(250)Alphanumeric, up to 250 bytes*URL of the endpoint to receive the payment result (server-to-server webhook URL)
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
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
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-256Hash value generated using SHA256(실시간 생성)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 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Customer nameCustomer name
└custAcntSumryAHN(50)Alphanumeric + Korean, up to 50 bytesBank account statement description (name to appear on the customer's bank statement)
Bank account statement description (name to appear on the customer's bank statement)
└mchtCustIdAN(50)Alphanumeric, up to 50 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Merchant customer IDMerchant customer ID
└custIpAN(15)Alphanumeric, up to 15 bytesCustomer IP address
Customer IP address
└emailAN(60)Alphanumeric, up to 60 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Customer email addressCustomer email address
└prdtTermN(14)Numeric, up to 14 bytesProduct provision period (yyyyMMddHHmmss). If no value is provided, it is displayed as a standard payment.
Product provision period (yyyyMMddHHmmss). If no value is provided, it is displayed as a standard payment.
└appSchemeAN(100)Alphanumeric, up to 100 bytesApp scheme in the format AppScheme://~. Used when building a custom app.
App scheme in the format AppScheme://~. Used when building a custom app.
└taxTypeCdA(1)Alphabetic, up to 1 bytesTax type code
Tax type code
N: Taxable Y: Tax-exempt G: Mixed tax└taxAmtN(12)Numeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Taxable amount (required for mixed tax)Taxable amount (required for mixed tax)
└vatAmtN(12)Numeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64VAT amount (required for mixed tax)VAT amount (required for mixed tax)
└taxFreeAmtN(12)Numeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Tax-exempt amount (required for mixed tax)Tax-exempt amount (required for mixed tax)
└mchtParamAHN(4000)Alphanumeric + Korean, up to 4000 bytesMerchant reserved field (returned as-is when result is delivered)
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*Merchant ID
nx_mid_ilMerchant ID
└outStatCdAN(4)Alphanumeric, up to 4 bytes*Transaction status code
0021Transaction status code
0021: Success 0031: Failure└outRsltCdAN(4)Alphanumeric, up to 4 bytes*Decline code (detailed code provided when transaction status is '0031')
0000Decline code (detailed code provided when transaction status is '0031')
└outRsltMsgAHN(200)Alphanumeric + Korean, up to 200 bytes*Result message
Processed successfully.Result message
└methodAN(20)Alphanumeric, up to 20 bytes*Payment method
bankPayment method
└mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*Merchant order number
BANK20211231100000Merchant order number
└trdNoAN(40)Alphanumeric, up to 40 bytes*Hecto Financial transaction number
STFP_PGRAnx_mid_il0211129135810M1494620Hecto Financial transaction number
└trdAmtN(12)Numeric, up to 12 bytes*
AES-256AES-256/ECB/PKCS5PaddingTransaction amount1000Transaction amount
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
Bank Transfer-Specific Response
└fnCdN(4)Numeric, up to 4 bytesWithdrawal bank code
004Withdrawal bank code
└fnNmAH(50)Alpha + Korean, up to 50 bytesWithdrawal bank name
KB Kookmin BankWithdrawal bank name
└mchtCustIdAN(50)Alphanumeric, up to 50 bytes
AES-256AES-256/ECB/PKCS5PaddingMerchant customer IDHongGilDongMerchant customer ID
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
└authDtN(14)Numeric, up to 14 bytesApproval datetime
20211231100000Approval datetime
└mchtParamAHN(4000)Alphanumeric + Korean, up to 4000 bytesField value received in the request is returned as-is in the response
name=HongGilDong&age=25Field 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?
Code Samples
HectoFinancial GitHub