Mobile Payment (Checkout)
The Mobile Payment Checkout method allows customers to pay by verifying their mobile phone number, with the payment amount added to their phone bill.
Test Key Information
API Information
POST/mobile/main.do
Content-Type
application/x-www-form-urlencoded테스트
https://tbnpg.settlebank.co.kr/mobile/main.do운영
https://npg.settlebank.co.kr/mobile/main.doImportant Notes
Mobile Payment Important Notes
Mobile payment has a monthly limit per carrier policy. Carrier billing (DCB) and content usage fees are handled separately.
- Each carrier has its own carrier billing (DCB) limit.
- Payments may be restricted for minors.
- Cancellations are only available within the current month; payments from previous months require a refund.
- Settlement is processed according to carrier policy.
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
nxhp_sb_il: Mobile Payment (Standard) nxhp_sb_hd: Hybrid Capture nxhp_sb_ma: Recurring Payment└methodAN(20)Alphanumeric, up to 20 bytes*Payment method identifier for this transaction
Payment method identifier for this transaction
*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 name (Korean)
Merchant name (Korean)
└mchtENameAN(100)Alphanumeric, up to 100 bytes*Merchant name (English)
Merchant name (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*URL of the endpoint to receive payment results (server-to-server webhook URL)
URL of the endpoint to receive payment results (server-to-server webhook URL)
└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 the button inside the checkout is clicked. Check outStatCd to determine payment success (0021) or failure (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
└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
└mchtParamAHN(4000)Alphanumeric + Korean, up to 4000 bytesMerchant reserved field (returned as-is in the response)
Merchant reserved field (returned as-is in the response)
└cphoneNoN(11)Numeric, up to 11 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Mobile phone number (without hyphens)Mobile phone number (without hyphens)
└prdtTermN(14)Numeric, up to 14 bytesProduct provision period (yyyyMMddHHmmss). If not provided, displayed as a standard payment.
Product provision period (yyyyMMddHHmmss). If not provided, displayed as a standard payment.
└telecomCdAN(23)Alphanumeric, up to 23 bytesCarrier code. Only the specified carriers are displayed on screen. Use pipe (|) separator for multiple carriers.
Carrier code. Only the specified carriers are displayed on screen. Use pipe (|) separator for multiple carriers.
SKT: SK Telecom KTF: KT LGT: LG U+ CJH: CJ Hello Mobile KCT: Korea Cable Telecom SKL: SK 7Mobile└taxTypeCdA(1)Alphabetic, up to 1 bytesTax exemption status. If blank, follows merchant settings.
Tax exemption status. If blank, follows merchant settings.
N: Taxable Y: Tax-exempt G: Mixed taxation└taxAmtN(12)Numeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Taxable amount. Required only for mixed taxation (G).Taxable amount. Required only for mixed taxation (G).
└vatAmtN(12)Numeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64VAT amount. Required only for mixed taxation (G).VAT amount. Required only for mixed taxation (G).
└taxFreeAmtN(12)Numeric, up to 12 bytes
AES-256AES-256/ECB/PKCS5Padding + Base64Tax-free amount. Required only for mixed taxation (G).Tax-free amount. Required only for mixed taxation (G).
└autoPayTypeA(1)Alphabetic, up to 1 bytesRecurring payment type. If blank, treated as a standard payment.
Recurring payment type. If blank, treated as a standard payment.
M: Monthly Recurring PaymentResponse Parameters
Upon payment completion or failure, the response redirects to nextUrl. When the customer clicks the X button in the checkout, the response redirects to cancUrl. The parameters below are passed. 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
nxhp_sb_ilMerchant ID
└outStatCdAN(4)Alphanumeric, up to 4 bytes*Transaction status code
0021Transaction status code
0021: Success 0031: Failure 0061: Authentication success (Hybrid Capture)└outRsltCdAN(4)Alphanumeric, up to 4 bytes*Result code
0000Result code
└outRsltMsgAHN(200)Alphanumeric + Korean, up to 200 bytes*Result message
Processed successfully.Result message
└methodAN(20)Alphanumeric, up to 20 bytes*Payment method
mobilePayment method
└mchtTrdNoAN(100)Alphanumeric, up to 100 bytes*Merchant order number
MOBILE20211231100000Merchant order number
└trdNoAN(40)Alphanumeric, up to 40 bytes*Hecto Financial transaction number
STFP_PGMPnxhp_sb_il0211129135810M1494620Hecto Financial transaction number
└trdAmtN(12)Numeric, up to 12 bytes*
AES-256AES-256/ECB/PKCS5PaddingTransaction amount1000Transaction amount
*실제 응답값은 AES-256 암호화된 값입니다. 복호화 후 사용하세요.
Mobile Payment-Specific Response
└fnCdN(3)Numeric, up to 3 bytesCarrier code
SKCarrier code
└fnNmA(50)Alphabetic, up to 50 bytesCarrier name
SKTCarrier name
└billKeyAN(50)Alphanumeric, up to 50 bytesRecurring payment bill key. Used for subsequent charges (applicable to merchants using bill keys only).
MO0123456789Recurring payment bill key. Used for subsequent charges (applicable to merchants using bill keys only).
└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 bytesMerchant field value passed in the request, returned as-is
name=HongGilDong&age=25Merchant field value passed in the request, returned as-is
Webhook (Payment Result)
After payment is completed, Hecto Financial sends a webhook to your server.
NOTE
Webhook Reference
For Mobile Payment webhook parameters and processing details, see the Webhook documentation.
Need technical support?
Code Samples
HectoFinancial GitHub