PaymentPage API
Tips
- All requests are
Postrequests, and the data format isjson
Brief Description
- None
Request URL
/v1/paypro/paymentLink
Request Method
- POST
Header
| Header | Required | Type | Description |
|---|---|---|---|
| merchantNo | Yes | string | - |
Body
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| sign | Yes | string | Except for the sign, concatenate the remaining fields in alphabetical order to form key1=value1key2=value2, then use the app secret as salt to perform MD5 encryption. The sign should be in lowercase letters. |
| timestamp | Yes | long | Timestamp (e.g., 1715941383720) |
| tradeNo | Yes | string | Transaction number (must be unique; suggested format: YYYYMMDDHHMMSS + random number) |
| subMerchantNo | Yes | string | Terminal merchant. Please consult operations personnel and submit terminal merchant information to obtain it. |
| amount | Yes | string | Transaction amount (integer only) |
| mobile | Yes | string | Payer's actual mobile number, 11 digits starting with 0, without country code, for example 01012345678. |
| firstname | Yes | string | Payer's actual first name. The mobile number and payer information in the request must match the actual payer information. |
| lastname | Yes | string | Payer's actual last name. The mobile number and payer information in the request must match the actual payer information. |
| Yes | string | Payer's email address | |
| channelCode | Yes | string | Payment method. Refer to the Korea WayCode appendix. |
| wayCode | Yes | string | Payment channel. Refer to the Korea WayCode appendix. |
| ipAddress | Yes | string | Payer's real IP address. Each IP is limited to 10 transactions per day, with a maximum of 3 successful transactions. |
| dateOfBirth | No | string | Required only when wayCode is VA. Format: YYYY-MM-DD. The payer must be between 18 and 59 years old. |
| remark | No | string | Remarks; this field will be returned as is |
| notifyUrl | Yes | string | Asynchronous callback URL (e.g., https://www.abc.com/); if not provided, the system will redirect to the default success page |
| returnUrl | Yes | string | URL to redirect the customer after successful authorization |
Request Parameter Example
{
"sign": "363b4674a1c1772e8a50295dc19d6727",
"timestamp": "1732988442913",
"tradeNo": "0b4ece82fa9749e8b8e57fa64931b7f8",
"subMerchantNo": "982773727848278231",
"amount": 1000000,
"mobile": "01012459077",
"firstname": "Kevin",
"lastname": "Kim",
"email": "kevin@163.com",
"channelCode": "EWALLET",
"wayCode": "KAKAOPAY",
"ipAddress": "192.168.0.1",
"dateOfBirth": "1992-08-15",
"notifyUrl": "https://google.com",
"returnUrl": "https://google.com/return",
"remark": "test"
}
Response Result
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| msg | Yes | string | Request result (Returning "success" only indicates the request was successful; it should not be used for merchant-side logic) |
| code | Yes | string | Request response code (Returning "0000" only indicates the request was successful; it should not be used for merchant-side logic) |
| timestamp | Yes | string | Transaction time |
| success | Yes | string | Transaction result |
| data | Yes | Object | Response object |
| data.tradeNo | Yes | string | Merchant transaction number returned |
| data.platFormTradeNo | Yes | string | Unique paypro transaction number |
| data.status | Yes | string | Request result; merchants can use this for logical processing. "0000" indicates transaction success, "0015" indicates processing, and other codes are error codes that can be treated as failures. |
| data.message | Yes | string | Error description |
| data.remark | Yes | string | Returned content of the request (returned as is) |
| data.paymentLink | Yes | string | Payment link |
| data.payInfo | No | Object | Payment information. Currently, only VA returns collection details. |
| data.payInfo.bankName | No | string | Bank name of the virtual account |
| data.payInfo.virtualAccountNumber | No | string | Virtual account number |
| data.payInfo.virtualAccountHolder | No | string | Account holder name of the virtual account |
| data.payInfo.registrationTimestamp | No | string | Virtual account creation time |
| data.payInfo.expirationTimestamp | No | string | Virtual account expiration time |
Successful Response Example
{
"msg": "success",
"code": "0000",
"timestamp": 1748247675703,
"success": true,
"data": {
"tradeNo": "pSPqrzJJ3MHkdyzS",
"platFormTradeNo": "7gwtljttc64lu4e2",
"status": "0015",
"message": "PAYING",
"paymentLink": "https://sandbox-casher-sk.paypro.com/sk/f024b03c653aa1b3d7c257cf37d9ae92",
"payInfo": {
"bankName": "KB Kookmin Bank",
"virtualAccountNumber": "12345678900000",
"virtualAccountHolder": "PAYPRO",
"registrationTimestamp": "2026-04-09 17:00:50",
"expirationTimestamp": "2026-04-09 18:00:00"
},
"remark": "test"
}
}
