White-Label Payment Checkout (UI)
Invoke the White-Label standard payment checkout to authenticate the customer. After authentication is complete, call the Payment API to process the actual payment.
Sandbox Key Information
Important Notes
Save trdNo
The trdNo (transaction reference number) returned in the payment checkout response is required when calling the Payment API. Store it securely.
Supported Browsers
Only Chrome and Edge browsers are supported. Other browsers may not function correctly.
Production Environment Testing Costs
Any costs incurred from testing in the Production environment are the merchant's responsibility. Always test in the Sandbox environment first.
- Please refer to the issuance amount parameter handling rules.
- Example: For a taxable merchant sending a transaction amount of KRW 1,000:
- Sending only the transaction amount: Processed as taxable KRW 901, VAT KRW 99.
- Sending taxable amount KRW 900 and VAT KRW 100: Processed as taxable KRW 900, VAT KRW 100.
- Example: For a taxable merchant sending a transaction amount of KRW 1,000:
- No iframes: Using an iframe to embed the payment checkout may cause malfunctions in certain browsers or devices.
- Special character restrictions: Do not use special characters (
:,&,?,', newlines,<,>) or emojis in parameter values. - HTTPS required: nextUrl and cancUrl must use HTTPS. Using HTTP may violate browser security policies and cause the payment checkout to malfunction.
API Information
POST/whitelabel/main.do
Content-Type
application/x-www-form-urlencoded테스트
https://tbwl.settlebank.co.kr/whitelabel/main.do운영
https://wl.settlebank.co.kr/whitelabel/main.doRequest 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.
└methodAN(20)Alphanumeric, up to 20 bytes*White-Label payment method code.
White-Label 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 (no Korean characters).
Unique order number generated by the merchant (no Korean characters).
└pmtPrdtNmAHN(300)Alphanumeric + Korean, up to 300 bytes*Product name for the payment.
Product name for the payment.
└trdAmtAN(12)Alphanumeric, up to 12 bytes*
AES-256AES-256/ECB/PKCS5Padding + Base64Transaction amount.Transaction amount.
└nextUrlAN(250)Alphanumeric, up to 250 bytes*URL to receive the payment result and redirect after payment.
URL to receive the payment result and redirect after payment.
└cancUrlAN(250)Alphanumeric, up to 250 bytes*URL to receive the result and redirect when the customer force-closes the checkout.
URL to receive the result and redirect when the customer force-closes the checkout.
└mchtCustIdAN(100)Alphanumeric, up to 100 bytes*
AES-256AES-256/ECB/PKCS5Padding + Base64Unique customer ID or unique key sent by the merchant.Unique customer ID or unique key sent by the merchant.
└pktHashAN(200)Alphanumeric, up to 200 bytes*
SHA-256Hash value generated using SHA-256.(실시간 생성)Hash value generated using SHA-256.
*Merchant ID + Payment method + Merchant order number + Request date + Request time + Transaction amount (plaintext) + Hash key
Optional Parameters
└mchtParamAHN(4000)Alphanumeric + Korean, up to 4000 bytesMerchant-reserved field for additional order information.
Merchant-reserved field for additional order information.
└emailAN(60)Alphanumeric, up to 60 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Email address.Email address.
└taxTypeCdA(1)Alphabetic, up to 1 bytesTax exemption status. If blank, the merchant's account setting is used.
Tax exemption status. If blank, the merchant's account setting is used.
N: Taxable Y: Tax-exempt G: Mixed taxation└taxAmtAN(12)Alphanumeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Taxable amount (required for mixed taxation).Taxable amount (required for mixed taxation).
└vatAmtAN(12)Alphanumeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64VAT amount (required for mixed taxation).VAT amount (required for mixed taxation).
└taxFreeAmtAN(12)Alphanumeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Tax-free amount (required for mixed taxation).Tax-free amount (required for mixed taxation).
└svcAmtAN(12)Alphanumeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Credit card service charge.Credit card service charge.
└themeColorCdAN(10)Alphanumeric, up to 10 bytesTheme color (hex code).
Theme color (hex code).
└custAcntSumryAHN(30)Alphanumeric + Korean, up to 30 bytesBank statement descriptor shown on the customer's account.
Bank statement descriptor shown on the customer's account.
└cupDepositAmtN(12)Numeric, up to 12 bytesResource circulation deposit (cup deposit).
Resource circulation deposit (cup deposit).
└addDdtTypeCdA(1)Alphabetic, up to 1 bytesCash receipt additional deduction type.
Cash receipt additional deduction type.
Y: Public transportation C: Books / cultural performances└ciChkYnA(1)Alphabetic, up to 1 bytesWhether to validate the customer ID using CI. Set mchtCustId to the CI value when enabled.
Whether to validate the customer ID using CI. Set mchtCustId to the CI value when enabled.
Y: Enabled (enter CI in mchtCustId) N: DisabledResponse Parameters
Parameters returned from the White-Label payment checkout to the merchant. Sent via POST to nextUrl after authentication is complete.
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
└mchtIdAN(10)Alphanumeric, up to 10 bytes*Unique Merchant ID assigned by Hecto Financial.
pg_testUnique Merchant ID assigned by Hecto Financial.
└outStatCdAN(4)Alphanumeric, up to 4 bytes*Transaction status code (success/failure).
0021Transaction status code (success/failure).
0021: Success 0031: Failure└outRsltCdAN(4)Alphanumeric, up to 4 bytes*Rejection code. A detailed code is returned when the transaction status is '0031'.
0000Rejection code. A detailed code is returned when the transaction status is '0031'.
*Refer to the rejection code table.
└outRsltMsgAHN(200)Alphanumeric + Korean, up to 200 bytes*Result message (URL-encoded, UTF-8).
SuccessResult message (URL-encoded, UTF-8).
└mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*Unique order number generated by the merchant (no Korean characters).
ORDER20260107143000Unique order number generated by the merchant (no Korean characters).
└mchtCustIdAN(100)Alphanumeric, up to 100 bytes
AES-256AES-256/ECB/PKCS5PaddingUnique customer ID or unique key sent by the merchant.HongGilDongUnique customer ID or unique key sent by the merchant.
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
└trdNoAN(40)Alphanumeric, up to 40 bytes*Hecto Financial transaction reference number. Required when calling the Payment API.
STFP_PGCApg_test0000260107143000M1717578Hecto Financial transaction reference number. Required when calling the Payment API.
└trdAmtAN(12)Alphanumeric, up to 12 bytes*
AES-256AES-256/ECB/PKCS5PaddingTransaction amount.1000Transaction amount.
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
└mchtParamAHN(4000)Alphanumeric + Korean, up to 4000 bytesValue received in the request, bypassed back in the response.
name=HongGilDong&age=25Value received in the request, bypassed back in the response.
Integration Example
<form id="paymentForm" method="POST" action="https://tbwl.settlebank.co.kr/whitelabel/main.do">
<input type="hidden" name="mchtId" value="pg_test" />
<input type="hidden" name="method" value="whitelabel" />
<input type="hidden" name="trdDt" value="20260107" />
<input type="hidden" name="trdTm" value="143000" />
<input type="hidden" name="mchtTrdNo" value="ORDER20260107143000" />
<input type="hidden" name="pmtPrdtNm" value="Test Product" />
<input type="hidden" name="trdAmt" value="vqIWIiimsJ5efjSJpfnnTw==" />
<input type="hidden" name="nextUrl" value="https://example.com/payment/result" />
<input type="hidden" name="cancUrl" value="https://example.com/payment/cancel" />
<input type="hidden" name="mchtCustId" value="AES-encrypted-customer-ID" />
<input type="hidden" name="pktHash" value="hash-value" />
</form>
<script>
document.getElementById('paymentForm').submit();
</script>
Next Steps
After authentication is complete in the payment checkout, call the Payment API to process the actual payment.
Payment API Integration
Need technical support?
Code Samples
HectoFinancial GitHub