Payment Authentication (Checkout)
Authenticates the customer's bank account via the EZAuth hosted checkout. Upon completion, the result is delivered to your callbackUrl, after which you call the capture API to execute the direct debit.
Test Credentials
API Information
POSTCheckout Integration
Content-Type
application/x-www-form-urlencoded테스트
https://tbezauth.settlebank.co.kr운영
https://ezauth.settlebank.co.krSDK Script
| Environment | URL |
|---|---|
| Sandbox | https://tbezauth.settlebank.co.kr/js/SettlePay.js |
| Production | https://ezauth.settlebank.co.kr/js/SettlePay.js |
SettlePay.execute(form);
Request Parameters
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
Required Parameters
└hdInfoAN(50)Alphanumeric, up to 50 bytes*Message type code.
Message type code.
*Fixed value
└apiVerAN(4)Alphanumeric, up to 4 bytes*API version.
API version.
*Fixed value (2.0 enables redirect phishing protection)
└processTypeA(1)Alphabetic, up to 1 bytes*Processing type.
Processing type.
*Fixed value
└mercntIdAN(8)Alphanumeric, up to 8 bytes*Unique merchant identifier assigned by Hecto Financial.
Unique merchant identifier assigned by Hecto Financial.
└ordNoAN(100)Alphanumeric, up to 100 bytes*Merchant-generated order number. Must be unique within the same calendar day.
Merchant-generated order number. Must be unique within the same calendar day.
└custCiAN(192)Alphanumeric, up to 192 bytes*
AES-256AES-256/ECB/PKCS5Padding + HexCustomer CI (Connecting Information). If provided and differs from the registered value, the customer is redirected to cancelUrl.Customer CI (Connecting Information). If provided and differs from the registered value, the customer is redirected to cancelUrl.
└trDayN(8)Numeric, up to 8 bytes*Transaction date generated at order time (yyyyMMdd).
Transaction date generated at order time (yyyyMMdd).
└trTimeN(6)Numeric, up to 6 bytes*Transaction time generated at order time (HH24MISS).
Transaction time generated at order time (HH24MISS).
└trPriceAN(13)Alphanumeric, up to 13 bytes*
AES-256AES-256/ECB/PKCS5Padding + HexTransaction amount. Setting to 0 issues a recurring billing key without charging.Transaction amount. Setting to 0 issues a recurring billing key without charging.
└productNmAN(95)Alphanumeric, up to 95 bytes*Product name.
Product name.
└dutyFreeYnA(1)Alphabetic, up to 1 bytes*Tax exemption flag.
Tax exemption flag.
Y: Tax-exempt N: Taxable G: Mixed taxation└callbackUrlAN(255)Alphanumeric, up to 255 bytes*URL the checkout posts the authentication result to. HTTPS recommended. Domain must contain at least two dots (e.g., www.example.com).
URL the checkout posts the authentication result to. HTTPS recommended. Domain must contain at least two dots (e.g., www.example.com).
*Validate the callback result before calling the capture API.
└cancelUrlAN(255)Alphanumeric, up to 255 bytesURL invoked when the customer cancels during the checkout flow. Must share the same root domain as callbackUrl.
URL invoked when the customer cancels during the checkout flow. Must share the same root domain as callbackUrl.
└signatureAN(200)Alphanumeric, up to 200 bytes*
SHA-256SHA-256 hash value for tamper protection.(실시간 생성)SHA-256 hash value for tamper protection.
NOTE
Signature Composition
mercntId + ordNo + trDay + trTime + trPrice (plaintext) + callbackUrl HOST + hashKey
NOTE
Extracting callbackUrl HOST (apiVer 2.0)
- Use only the domain, excluding the protocol (https://, http://) and port number.
- Example:
https://develop.sbsvc.online:60001/callback/success→develop.sbsvc.online - Example:
https://www.example.com/callback→www.example.com
Optional Parameters
└taxPriceAN(13)Alphanumeric, up to 13 bytes
AES-256AES-256/ECB/PKCS5Padding + HexTaxable amount. Required when dutyFreeYn is G (mixed taxation).Taxable amount. Required when dutyFreeYn is G (mixed taxation).
└vatPriceAN(13)Alphanumeric, up to 13 bytes
AES-256AES-256/ECB/PKCS5Padding + HexVAT amount. Typically 10% of taxable amount.VAT amount. Typically 10% of taxable amount.
└dutyFreePriceAN(13)Alphanumeric, up to 13 bytes
AES-256AES-256/ECB/PKCS5Padding + HexTax-exempt amount. Required when dutyFreeYn is G (mixed taxation).Tax-exempt amount. Required when dutyFreeYn is G (mixed taxation).
└containerDepositAN(5)Alphanumeric, up to 5 bytes
AES-256AES-256/ECB/PKCS5Padding + HexContainer deposit amount. Excluded from cash receipt.Container deposit amount. Excluded from cash receipt.
└criPsblYnA(1)Alphabetic, up to 1 bytesCash receipt issuance eligibility. Defaults to Y if omitted.
Cash receipt issuance eligibility. Defaults to Y if omitted.
Y: Eligible N: Not eligible└addDeductionYnA(1)Alphabetic, up to 1 bytesAdditional tax deduction category.
Additional tax deduction category.
Y: Public transit C: Books/cultural events N: None└shopNmAN(10)Alphanumeric, up to 10 bytesStore name.
Store name.
└cphoneNoAN(11)Alphanumeric, up to 11 bytes
AES-256AES-256/ECB/PKCS5Padding + HexCustomer mobile number (digits only, no hyphens).Customer mobile number (digits only, no hyphens).
└emailAN(30)Alphanumeric, up to 30 bytes
AES-256AES-256/ECB/PKCS5Padding + HexCustomer email address.Customer email address.
└regularpayYnA(1)Alphabetic, up to 1 bytesRecurring billing enrollment flag. Set to Y with trPrice=0 for a billing-key-only enrollment (zero-amount auth), or Y with a non-zero trPrice for a combined payment and enrollment.
Recurring billing enrollment flag. Set to Y with trPrice=0 for a billing-key-only enrollment (zero-amount auth), or Y with a non-zero trPrice for a combined payment and enrollment.
Y: Enroll recurring billing N: One-time payment└mercntParam1AN(1000)Alphanumeric, up to 1000 bytesMerchant-defined data field 1. Echoed back in the response and transaction history.
Merchant-defined data field 1. Echoed back in the response and transaction history.
└mercntParam2AN(1000)Alphanumeric, up to 1000 bytesMerchant-defined data field 2. Echoed back in the response and transaction history.
Merchant-defined data field 2. Echoed back in the response and transaction history.
└payLimitCdAN(10)Alphanumeric, up to 10 bytesPayment limit code. Controls customer spending limits per EZAuth policy.
Payment limit code. Controls customer spending limits per EZAuth policy.
Response Parameters (Callback)
Parameters delivered to callbackUrl upon authentication completion.
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
└resultCdN(1)Numeric, up to 1 bytes*Result code.
0Result code.
0: Success -1: Failure└errCdAN(5)Alphanumeric, up to 5 bytes*Error code. See error code reference.
0000Error code. See error code reference.
└resultMsgAN(200)Alphanumeric, up to 200 bytes*Human-readable result message.
SuccessHuman-readable result message.
└mercntIdAN(8)Alphanumeric, up to 8 bytes*Merchant ID assigned by Hecto Financial.
ms00003tMerchant ID assigned by Hecto Financial.
└ordNoAN(100)Alphanumeric, up to 100 bytes*Order number from the original request.
OID201902210001Order number from the original request.
└authNoAN(20)Alphanumeric, up to 20 bytes*Authentication number. Required when calling the capture API.
PAR20190220000000001Authentication number. Required when calling the capture API.
*Must be passed to the capture API
└trPriceN(13)Numeric, up to 13 bytes*Original requested transaction amount.
15000Original requested transaction amount.
└discntPriceN(13)Numeric, up to 13 bytes*Promotional discount amount applied.
1000Promotional discount amount applied.
└payPriceN(13)Numeric, up to 13 bytes*Final settlement amount (after discounts).
14000Final settlement amount (after discounts).
└trDayN(8)Numeric, up to 8 bytes*Transaction date (yyyyMMdd).
20190221Transaction date (yyyyMMdd).
└trTimeN(6)Numeric, up to 6 bytes*Transaction time (HH24MISS).
142120Transaction time (HH24MISS).
└mercntParam1AN(1000)Alphanumeric, up to 1000 bytesMerchant-defined data field 1 from the original request.
Merchant-defined data field 1 from the original request.
└mercntParam2AN(1000)Alphanumeric, up to 1000 bytesMerchant-defined data field 2 from the original request.
Merchant-defined data field 2 from the original request.
Integration Example
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>EZAuth Bank Transfer</title>
</head>
<body>
<form id="payForm" name="payForm">
<input type="hidden" name="hdInfo" value="IA_AUTHPAGE_1.0_1.0" />
<input type="hidden" name="apiVer" value="2.0" />
<input type="hidden" name="processType" value="D" />
<input type="hidden" name="mercntId" value="ms00003t" />
<input type="hidden" name="ordNo" value="OID201902210001" />
<input type="hidden" name="trDay" value="20190221" />
<input type="hidden" name="trTime" value="142120" />
<input type="hidden" name="trPrice" value="[AES-256 encrypted amount]" />
<input type="hidden" name="productNm" value="Test Product" />
<input type="hidden" name="dutyFreeYn" value="N" />
<input type="hidden" name="callbackUrl" value="https://www.example.com/callback" />
<input type="hidden" name="cancelUrl" value="https://www.example.com/cancel" />
<input type="hidden" name="signature" value="[SHA-256 hash]" />
</form>
<!-- Load SDK -->
<script src="https://tbezauth.settlebank.co.kr/js/SettlePay.js" charset="UTF-8"></script>
<script>
SettlePay.execute(document.getElementById('payForm'));
</script>
</body>
</html>
Need technical support?
Code Samples
HectoFinancial GitHub