Register Transaction
By registering order information to open the payment screen, you can receive the Payment Window URL in the response.
Request
Request URL
POST https://{API Domain}/api/ep9/trades/webpay
Content-type: application/json; charset=utf-8
Parameters
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| mallId | String | 8Byte | ✅ | Merchant ID assigned by KICC |
| shopOrderNo | String | 40Byte | ✅ | Merchant Order No. Must be Unique. |
| amount | Number | ✅ | Payment Amount | |
| payMethodTypeCode | String | 2Byte | ✅ | Payment Method Code (See Payment Method Codes). Request "00" if not selecting a specific method. |
| currency | String | 2Byte | ✅ | Currency Code (KRW: “00”) |
| returnUrl | String | 256Byte | ✅ | URL to redirect to after authentication completes. |
| deviceTypeCode | String | 20Byte | ✅ | Device Type PC: “pc”, Mobile: “mobile” |
| clientTypeCode | String | 2Byte | ✅ | Window Type Code (Fixed at "00" for Integrated) |
| langFlag | String | 3Byte | KOR: Korean, ENG: English, JPN: Japanese, CHN: Chinese | |
| appScheme | String | 256Byte | Merchant App Scheme (Required for iOS App-to-App return) See WebView Guide | |
| orderInfo | Object | ✅ | Order Info See orderInfo below | |
| payMethodInfo | Object | Payment Method Management Info See payMethodInfo below | ||
| taxInfo | Object | Complex Tax Info (Required if using Complex Tax) See taxInfo below | ||
| shopValueInfo | Object | Merchant Custom Fields (Returned in Approval/Notify response) See shopValueInfo below | ||
| depositInfoList | Array | Resource Circulation Deposit List See depositInfoList below | ||
| escrowInfo | Object | Escrow Info (Required if using Escrow) See escrowInfo below | ||
| basketInfoList | Array | Basket List (Required if using Split Settlement) See basketInfoList below |
orderInfo (Order Information)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| goodsName | String | 50Byte | ✅ | Product Name |
| customerInfo | Object | Customer Info See customerInfo below |
orderInfo > customerInfo (Customer Information)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| customerId | String | 20Byte | Customer ID | |
| customerName | String | 20Byte | Customer Name | |
| customerMail | String | 50Byte | Customer Email | |
| customerContactNo | String | 11Byte | Contact Number (Numbers only) | |
| customerAddr | String | 200Byte | Customer Address |
payMethodInfo (Payment Method Management Info)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| cardMethodInfo | Object | Credit Card Config Info (Required only if customizing Card or Simple Pay display) See cardMethodInfo below | ||
| virtualAccountMethodInfo | Object | Virtual Account Config Info (Required only if customizing Bank display) See virtualAccountMethodInfo below |
payMethodInfo > cardMethodInfo (Credit Card Config)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| paymentType | String | 1Byte | Credit Card Payment Type Empty: General "0": Key-in Auth "1": Key-in Non-auth | |
| installmentMonthList | Array | List of installment months to display Lump-sum only: [0] Up to 6 months: [0, 2, 3, 4, 5, 6] | ||
| setFreeInstallment | String | 1Byte | Use Interest-free: Y/N (Follows ledger settings if empty) | |
| setCardPoint | String | 1Byte | Use Card Points: Y/N (Follows ledger settings if empty) | |
| joinCd | String | 4Byte | Affiliate Service Code (Contact sales to use) | |
| displayArea | Array | Display Area List (Follows ledger settings if empty) "CARD": Credit Card only, "SPAY": Simple Pay only | ||
| usedSpayCode | Array | List of Simple Pay providers to display (See CP Codes) Example (KakaoPay only): ["KKO"] | ||
| cardInfoList | Array | List of Credit Card companies to display See cardInfoList below |
payMethodInfo > cardMethodInfo > cardInfoList (Credit Card List)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| cardCd | String | 3Byte | ✅ | Card Company Code to display (See Window Card Codes) |
| cardPoint | String | 2Byte | Card Point Value. Use "60" if setCardPoint is "Y". | |
| freeInstallmentMonthList | Array | Interest-free Month List. Applied if setFreeInstallment is "Y". Example (2~6 months): [2,3,4,5,6] |
payMethodInfo > virtualAccountMethodInfo (Virtual Account Config)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| bankList | Array | List of Banks to display (See Bank Codes) | ||
| expiryDate | String | 8Byte | Expiration Date (yyyyMMdd) | |
| expiryTime | String | 6Byte | Expiration Time (hhmmss) |
taxInfo (Complex Tax Info)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| taxAmount | Number | ✅ | Taxable Amount | |
| freeAmount | Number | ✅ | Tax-free Amount | |
| vatAmount | Number | ✅ | VAT Amount |
shopValueInfo (Merchant Custom Fields)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| value1 | String | 64Byte | Field 1 | |
| value2 | String | 64Byte | Field 2 | |
| value3 | String | 32Byte | Field 3 | |
| value4 | String | 32Byte | Field 4 | |
| value5 | String | 64Byte | Field 5 | |
| value6 | String | 64Byte | Field 6 | |
| value7 | String | 64Byte | Field 7 |
depositInfoList (Resource Circulation Deposit List)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| dpsType | String | 1Byte | ✅ | Deposit Type (Cup Deposit: “C”) |
| dpsAmount | Number | ✅ | Deposit Amount (Total amount per type) |
Request Example
{
"mallId": "{Merchant ID}",
"shopOrderNo": "{Merchant Order No}",
"amount": 1000,
"payMethodTypeCode": "00",
"currency": "00",
"clientTypeCode": "00",
"returnUrl": "{Merchant Return URL}",
"deviceTypeCode": "mobile",
"orderInfo": {
"goodsName": "Sample Product Name"
}
}
- Escrow
- Split Settlement
To use the Escrow Service, please add the following information to your request.
escrowInfo (Escrow Information)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| escrowTypeCode | String | 1Byte | ✅ | Escrow Type. Fixed at "K". |
| deliveryCode | String | 4Byte | ✅ | Delivery Type ("DE01": Self, "DE02": Courier) |
| goodsInfoList | Array | ✅ | Basket List (Max 20 items) | |
| recvInfo | Object | ✅ | Recipient Info |
escrowInfo > goodsInfoList (Basket List)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| productNo | String | 40Byte | ✅ | Unique Product No. Must be unique within the basket. |
| productName | String | 50Byte | ✅ | Product Name |
| productAmount | Number | ✅ | Product Amount |
escrowInfo > recvInfo (Recipient Info)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| recvName | String | 20Byte | ✅ | Recipient Name |
| recvMobileNo | String | 11Byte | ✅ | Recipient Contact No. (Numbers only) |
| recvMail | String | 50Byte | Recipient Email | |
| recvZipCode | String | 6Byte | Recipient Zip Code | |
| recvAddr1 | String | 100Byte | Address Line 1 | |
| recvAddr2 | String | 100Byte | Address Line 2 |
Request Example
{
"mallId": "{Merchant ID}",
"shopOrderNo": "{Merchant Order No}",
"amount": 1000,
"payMethodTypeCode": "00",
"currency": "00",
"clientTypeCode": "00",
"returnUrl": "{Merchant Return URL}",
"deviceTypeCode": "mobile",
"orderInfo": {
"goodsName": "Sample Product Name"
},
"escrowInfo": {
"escrowType": "K",
"deliveryCode": "DE01",
"goodsInfoList": [
{
"productNo": "{Unique Product No}",
"productName": "{Product Name}",
"productAmount": 1000
}
],
"recvInfo": {
"recvName": "Recipient Name",
"recvMobileNo": "01012345678",
"recvMail": "test@email.com",
"recvAddr": "Seoul, Korea",
"recvZipCode": "00000",
"recvAddr1": "Address Line 1",
"recvAddr2": "Address Line 2"
}
}
}
To use the Split Settlement Service, please add the following information to your request.
Note
- You must obtain a dedicated Split Settlement Merchant ID to use this service.
basketInfoList (Basket List)
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| productNo | String | 40Byte | ✅ | Unique Product No. Must be unique within the basket. |
| productName | String | 50Byte | ✅ | Product Name |
| productAmount | Number | ✅ | Product Amount | |
| sellerId | String | 50Byte | ✅ | Seller ID |
| feeUsed | Boolean | ✅ | Use Seller Fee (true/false) | |
| feeTypeCode | String | 1Byte | Fee Type Code (Required if feeUsed is true) Fixed Amount: "A", Rate: "P" | |
| feeCharge | Number | Seller Fee Amount (Required if feeUsed is true) For Rate("P"): Fee % * 1000 (e.g., 2.12% -> 2120) |
Request Example
{
"mallId": "{Merchant ID}",
"shopOrderNo": "{Merchant Order No}",
"amount": 1000,
"payMethodTypeCode": "00",
"currency": "00",
"clientTypeCode": "00",
"returnUrl": "{Merchant Return URL}",
"deviceTypeCode": "mobile",
"orderInfo": {
"goodsName": "Sample Product Name"
},
"basketInfoList": [
{
"productNo": "{Unique Product No}",
"productName": "{Product Name}",
"productAmount": 1000,
"sellerId": "{Seller ID}",
"feeUsed": true,
"feeTypeCode": "P",
"feeCharge": 2120
}
]
}
Response
Parameters
| Field Name | Type | Length | Required | Description |
|---|---|---|---|---|
| resCd | String | 4Byte | ✅ | Response Code (Success: “0000”) |
| resMsg | String | 1000Byte | ✅ | Response Message |
| authPageUrl | String | 256Byte | Payment Window URL |
Response Example
{
"resCd": "0000",
"resMsg": "Success",
"authPageUrl": "{Payment Window URL}"
}