Samsung Pay Digital Wallet Payment (Checkout)
Samsung Pay digital wallet payment is a service that enables fast payment using cards registered on Samsung Galaxy devices.
Test Key Information
API Information
POST/card/cardDirect.do
Content-Type
application/x-www-form-urlencoded테스트
https://tbnpg.settlebank.co.kr/card/cardDirect.do운영
https://npg.settlebank.co.kr/card/cardDirect.doImportant Notes
NOTE
Samsung Pay environment
Samsung Pay is only available on Samsung Galaxy devices. QR code payment is supported in PC environments.
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
└methodAN(20)Alphanumeric, up to 20 bytes*Payment method code
Payment method code
*Fixed value
└cardGbAN(4)Alphanumeric, up to 4 bytes*Samsung Pay card company code
Samsung Pay card company code
*Samsung Pay: SSP (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)
└mchtNameAHN(100)Alphanumeric + Korean, up to 100 bytes*Merchant name
Merchant name
└mchtENameAN(100)Alphanumeric, up to 100 bytes*Merchant name in English
Merchant name in English
└pmtPrdtNmAHN(128)Alphanumeric + Korean, up to 128 bytes*Product name
Product name
└trdAmtN(12)Numeric, up to 12 bytes*
AES-256AES-256/ECB/PKCS5Padding + Base64Transaction amountTransaction amount
└notiUrlAN(250)Alphanumeric, up to 250 bytes*Webhook endpoint URL for server-to-server payment result delivery
Webhook endpoint URL for server-to-server payment result delivery
└nextUrlAN(250)Alphanumeric, up to 250 bytes*URL to redirect to after the payment result screen
URL to redirect to after the payment result screen
*Redirected when a button inside the checkout is clicked. Use the outStatCd value to check whether the payment succeeded (0021) or failed (0031).
└cancUrlAN(250)Alphanumeric, up to 250 bytes*URL to redirect to when the customer clicks the X button in the checkout
URL to redirect to when the customer clicks the X button in the checkout
*Browser close and back navigation 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
└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)
└emailAN(60)Alphanumeric, up to 60 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Email addressEmail address
└prdtTermN(14)Numeric, up to 14 bytesProduct provision period (yyyyMMddHHmmss). Displayed as general payment if empty.
Product provision period (yyyyMMddHHmmss). Displayed as general payment if empty.
└mchtCustIdAN(50)Alphanumeric, up to 50 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Merchant customer IDMerchant customer ID
└taxTypeCdA(1)Alphabetic, up to 1 bytesTax exemption status. Follows merchant settings if left blank.
Tax exemption status. Follows merchant settings if left blank.
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 + Base64Non-taxable amount (required for mixed tax)Non-taxable amount (required for mixed tax)
└svcAmtN(12)Numeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Service chargeService charge
└instmtMonN(2)Numeric, up to 2 bytesInstallment months
Installment months
00: Lump sum 02~12: Corresponding number of months└appSchemeAN(100)Alphanumeric, up to 100 bytesApp scheme (AppScheme://) format. Used when building a proprietary app.
App scheme (AppScheme://) format. Used when building a proprietary app.
└custIpAN(15)Alphanumeric, up to 15 bytesCustomer IP address. The customer device's IP, not the merchant server's IP.
Customer IP address. The customer device's IP, not the merchant server's IP.
Response Parameters
When payment is completed or fails, the parameters below are delivered via redirect to nextUrl. When the customer clicks the X button inside the checkout, they are redirected to cancUrl. Browser close and back navigation are not detected.
타입 표기법
N숫자A영문H한글AN영문+숫자AHN영문+한글+숫자예: AN(10) = 영문+숫자, 최대 10byte
└mchtIdAN(10)Alphanumeric, up to 10 bytes*Merchant ID
nxca_jt_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. A detailed code is provided when the transaction status is '0031'.
0000Decline code. A detailed code is provided when the transaction status is '0031'.
└outRsltMsgAHN(200)Alphanumeric + Korean, up to 200 bytes*Result message (URL Encoding, UTF-8)
Processed successfully.Result message (URL Encoding, UTF-8)
└methodAN(20)Alphanumeric, up to 20 bytes*Payment method
cardPayment method
└mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*Merchant order number
SAMSUNGPAY20211231100000Merchant order number
└mchtCustIdAN(50)Alphanumeric, up to 50 bytes
AES-256AES-256/ECB/PKCS5PaddingMerchant customer IDHongGilDongMerchant customer ID
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
└trdNoAN(40)Alphanumeric, up to 40 bytes*Hecto Financial transaction number
STFP_PGCAnxca_jt_il0211129135810M1494620Hecto Financial transaction number
└trdAmtN(12)Numeric, up to 12 bytes*
AES-256AES-256/ECB/PKCS5PaddingTransaction amount1000Transaction amount
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
└mchtParamAHN(4000)Alphanumeric + Korean, up to 4000 bytesField value from the request returned as-is in the response
name=HongGilDong&age=25Field value from the request returned as-is in the response
└authDtN(14)Numeric, up to 14 bytesApproval datetime
20211231100000Approval datetime
└authNoN(15)Numeric, up to 15 bytesApproval number
30001234Approval number
└intMonN(2)Numeric, up to 2 bytesInstallment months
00Installment months
└fnNmAH(20)Alpha + Korean, up to 20 bytesCard company name
Samsung CardCard company name
└fnCdAN(4)Alphanumeric, up to 4 bytesCard company code
SSCCard company code
Webhook (Payment Result)
After payment is completed, Hecto Financial sends a webhook to your server.
NOTE
Webhook reference
Samsung Pay payment result webhooks are sent in the same format as credit card webhooks. See the credit card webhook document.
Need technical support?
Code Samples
HectoFinancial GitHub