# Cashier Order Creation
The merchant's business system initiates a payment collection order through the cashier's order api. The payment gateway will display the payment channel according to the payment channel configured by the merchant, and the user completes the payment order through the cashier. The payment gateway returns corresponding payment parameters according to different payment methods.
# Order API
api
Request API: /api/pay/checkoutOrder
Request method: POST
Request type: application/json or application/x-www-form-urlencoded
note
Among the parameters: "currency{currency code}-country{country}" is the matching value, the local currency corresponding to the country
# Request parameters
| Field Name | Variable Name | Required | Type | Example Value | Description |
|---|---|---|---|---|---|
| Merchant Number | mchNo | Yes | String(30) | M1621873433953 | Merchant Number |
| App ID | appId | Yes | String(24) | 60cc09bce4b0f1c0b83761c9 | App ID |
| Merchant order number | mchOrderNo | Yes | String(30) | 20160427210604000490 | Order number generated by the merchant |
| Payment method list | checkoutCodes | No | String(256) | KAKAO_PAY,NAVER_PAY,TOSS | Empty to display all activated payments, payment methods, see: Merchant Center->Application Management->Payment Configuration |
| Payment sorting method | checkoutSortAuto | No | boolean | true | Whether to sort automatically, Default: true, true: Sort according to the system default, false: Sort according to the checkoutCodes order |
| Payment amount | amount | Yes | int | 100 | Payment amount, in cents |
| Country | country | Yes | String(2) | KR | Country two-character code *Special two-character code: EU-Eurozone |
| Currency code | currency | Yes | String(3) | KRW | Three-digit currency code |
| Client IP | clientIp | Yes | String(32) | 210.73.10.148 | Client IP address |
| Product title | subject | Yes | String(64) | Product title test | Product title |
| Product Description | body | Yes | String(256) | product description test | product description |
| User ID | mchUserId | No | String(256) | user1008 | *Recommended parameter. If the user ID is provided for credit card payments, the card number can be saved to increase the success rate |
| User Email | No | String(256) | abc@gmail.com | User Email | |
| Asynchronous notification address | notifyUrl | No | String(128) | https://merchant.com/testNotify/p01 | Payment result asynchronous callback URL, the callback will be initiated only when this value is passed |
| Jump notification address | returnUrl | No | String(128) | https://merchant.com/testReturn/p01 | Payment result synchronization jump notification URL |
| Extended parameters | extParam | No | String(512) | 134586944573118714 | Merchant extended parameters, which will be returned unchanged during callback |
| Widget Parameter | widget | No | boolean | false | Whether to return widget parameters true-returns widgetToken false-does not return (default) |
| Custom text | customContent | No | String(256) | Double the first deposit | Custom text at checkout (supports HTML) |
| Request time | reqTime | Yes | long | 1622016572190 | Request API time, 13-digit timestamp |
| API version | version | Yes | String(3) | 1.0 | API version number, fixed: 1.0 |
| Signature | sign | Yes | String(32) | C380BEC2BFD727A4B6845133519F3AD6 | Signature value, see signature algorithm for details |
| Signature type | signType | Yes | String(32) | MD5 | Signature type, currently only supports MD5 mode |
| Widget Parameter | widget | No | boolean | false | Whether to return widget parameters true-returns widgetToken false-does not return (default) |
# Request Example Data
{
"amount": 8,
"extParam": "",
"mchOrderNo": "mho1624005107281",
"subject": "Product title",
"sign": "84F606FA25A6EC4783BECC08D4FDC681",
"reqTime": "162201672190",
"body": "Product description",
"version": "1.0",
"appId": "60cc09bce4b0f1c0b83761c9",
"clientIp": "192.166.1.132",
"notifyUrl": "https://merchant.com/testNotify/p01",
"signType": "MD5",
"currency": "KRW",
"country": "KR",
"returnUrl": "",
"mchNo": "M1623984572",
"widget": false
}
# Return parameters
| Field Name | Variable Name | Required | Type | Example Value | Description |
|---|---|---|---|---|---|
| Return status | code | Yes | int | 0 | 0 - processing successful, others - processing error, see error code for details |
| Return information | msg | No | String(128) | Signature failure | Specific error reasons, such as: signature failure, parameter format verification error |
| Signature information | sign | No | String(32) | CCD9083A6DAD9A2DA9F668C3D4517A84 | Sign the data in data, if data is empty, it will not be returned |
| Return data | data | No | String(512) | {} | Return order data, json format data |
# Parameter data format
| Field Name | Variable Name | Required | Type | Example Value | Description |
|---|---|---|---|---|---|
| Payment order number | payOrderId | Yes | String(30) | U12021022311124442600 | Return payment system order number |
| Merchant order number | mchOrderNo | Yes | String(30) | 20160427210604000490 | Return the order number passed in by the merchant |
| Order status | orderState | Yes | int | 2 | Payment order status 0-Order generated 1-Payment in progress 2-Payment successful 3-Payment failed 4-Cancelled 6-Order closed |
| Payment data type | payDataType | Yes | String | payUrl | Payment parameter type payUrl-jump link method |
| Payment Data | payData | No | String | http://pay.enjoy.link/pay.html | Payment parameters used to initiate payment |
| Channel error code | errCode | No | String | PAYMENT_AUTH_CODE_INVALID | Error code returned by the upstream channel |
| Channel error description | errMsg | No | String | Business Failed failed | Error description returned by the upstream channel |
| Widget Token | widgetToken | No | String | abc123token | Widget initialization token, returned when widget=true in request Used for frontend token component initialization |
# Return Example Data
{
"code": 0,
"data": {
"errCode": "PAYMENT_AUTH_CODE_INVALID",
"errMsg": "Business Failed【Payment failed, please contact the administrator. [JSON_PARSER_FAIL]】",
"mchOrderNo": "mho1624005752661",
"orderState": 3,
"payOrderId": "P202106181642329900002",
"widgetToken": ""
},
"msg": "SUCCESS",
"sign": "F4DA202C516D1F33A12F1E547C5004FD"
}