⦁ Introduction
This document is provided to affiliate system engineers as a description of NEOM PAYMENT's Deposit integration.
* For security, all users who use the API can use it after registering their IP in NEOM SYSTEM. (In the test environment, it can be used without IP registration.)
* To access the API, you must submit and receive an authentication key through the authentication header.
How to use signature authentication method using 'HMAC SHA-256'
To use the signature method, you can get a key from the 'HMAC SHA-256 Secret Key' item after changing the 'Use API Encryption' item to Enable on the BO page.
When using the signature method, the request is put in the 'request' field and the result in the original json format in the 'result' field. Provides a 'signature' item hashed and encrypted with HMAC SHA-256.
If you enter the key and string provided as an example on the online site (https://codebeautify.org/hmac-generator), you can check whether the generated Signature is the same as the example.
0. Echo
Echo can be used for network testing or authentication testing. Basically, you need to check if you are connected to the network normally through echo during the initial linkage so that you can check whether the Authorization Key is a valid key. It is not a part that must be checked at the time of payment, so please use it only for testing the network.
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/echo_chk |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
MerchantID |
Request Format |
JSON |
Parameter Details:
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant ID |
Example Request : Check the authentication key attached to the header.
{
"merchantID":"MerchantID"
}
Request Response :
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), error(40,50) |
200, 40, 50 |
msg |
string |
Note in case of error |
success, errorMsg |
merchantID |
string |
MerchantID |
MerchantID |
status |
string |
integrated environment |
product / virtual |
balance |
string |
balance |
0 |
Success :
{
"code":200,
"msg":"success",
"merchantID":"MerchantID",
"status":"product",
"balance":"0",
}
Error :
{
"code":40,
"msg":"Parameters Value Empty Error",
}
{
"result":{"code":200,"msg":"success","merchantID":"MerchantID","status":"product","balance":"0"},
"signature": "dc2169790b59575d53e830f46854b76a42ba03c947a0efeac1a2bafc3b200f08"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","merchantID":"MerchantID","status":"product","balance":"0"}
Signaturedc2169790b59575d53e830f46854b76a42ba03c947a0efeac1a2bafc3b200f08
1. Deposit
All deposits are processed on the Neom page screen at the specified address. Merchants only need to add the merchant code and member ID to the specified URL address.
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/form_one/start |
Method |
GET (open new window) |
Query Parameters |
mId, userId, amount, shippingNumber, returnUrl |
Parameter Details: Items marked with * must be entered.
Name |
Type |
Description |
Sample |
mId * |
string |
Merchant Id |
Merchant ID |
userId * |
string |
Deposit Player User ID |
user001 |
amount (option) |
number |
This option allows you to skip the select deposit amount page on the deposit screen. |
Minimum deposit of 10,000 won |
shippingNumber (option) |
string |
User mapping value returned in callback |
value to return |
returnUrl (option) |
string |
Redirect URL when clicking the deposit completion button |
https%3A%2F%2Freturnurl.com |
language (option) |
string |
This option allows you to skip the language selection page on the deposit screen. |
ko / en |
payment (option) |
string |
This option allows you to skip the payment method selection page. |
va |
logo (option) |
string |
You can choose whether to display the NeomPay logo on the initial screen. |
on / off |
default usehttps://neom-mpay.com/api/form_one/start?mId=mecrchantId&userId=user001
used as an optionhttps://neom-mpay.com/api/form_one/start?mId=mecrchantId&userId=user001&amount=100000&shippingNumber=test-001-002&returnUrl=https%3A%2F%2Freturnurl.com&language=en&payment=va
Signature creation method
The contents of 'Parameter Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Parameter ContentmId=mecrchantId&userId=user001&amount=100000&shippingNumber=test-001-002
Signaturebab3c16a548e1b17c4aa6fab42e25a74f90317797400eac21432c313b8cc95bc
Final URLhttps://neom-mpay.com/api/form_one/start?mId=mecrchantId&userId=user001&amount=100000&shippingNumber=test-001-002&signature=bab3c16a548e1b17c4aa6fab42e25a74f90317797400eac21432c313b8cc95bc
****Caution****
- In the test environment, you can apply for a deposit without user authentication, and the deposit is completed after 30 seconds, but the actual deposit amount is 0.
1.1 Deposit (API)
You can apply for deposit through API rather than the existing URL.
Instructions on how to process deposits through API
- When making a deposit through the API, only information about the request is provided, so the user must manually create a page appropriate for the deposit processing stage based on that information.
1.1.0 We verify the user by sending an SMS text to the user's mobile phone.
- Please send the information required for SMS authentication through API. An SMS authentication number is sent to the corresponding mobile phone, and a unique value for that sending is returned.
- Please remember to send the returned unique shipping number along with the next user authentication part.
1.1.1 When member information is transmitted through API, check whether the member's information is available.
- If the response code is 200, the member can receive a virtual account.
- Authentication occurs only once, and there is no need to authenticate again after successful authentication.
- You can apply for virtual account issuance in the future with your verified unique 'userId', so please maintain your verified 'userId'.
* Additionally, there are additional items such as contact information for user verification and the transmitted authentication number.
1.1.2 Request for virtual account issuance
- You can receive the issued virtual account information by requesting the successfully authenticated 'userId' and application amount.
- There may be a callback for the deposit request. After processing the request response, you can either ignore it or process it separately.
* Please process exceptions for callbacks (duplicate reception, immediate deposit completion callback reception, etc.)
1.1.0 SMS authentication
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/sms_auth |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
merchantID, Authentication key, accountHolder, birthDate, sexCd, telComCd, phoneNumber |
Request Format |
JSON |
Parameter Details: All items are required.
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant Id |
Authentication key |
string |
Authorization used for authentication part |
Check on the merchant page |
accountHolder |
string |
Player Account Holder |
홍길동 |
birthDate |
string |
Player date of birth - 8 digits (Ymd) |
19801212 |
sexCd |
string |
Please tell us your gender (Male: M, Female: F) |
M / F |
telComCd |
string |
The mobile phone carrier you use(SKT:01, KT:02, LGU+:03, 알뜰폰(SKT):04, 알뜰폰(KT):05, 알뜰폰(LGU+):06) |
01 / 02 / 03 / 04 / 05 / 06 |
phoneNumber |
string |
User mobile phone number |
01012341234 |
****Caution****
- Please send us the number of the telecommunication company you use. (01, 02, 03, 04, 05, 06)
{
"merchantID":"MerchantID",
"accountHolder":"홍길동",
"birthDate":"19801212"
"sexCd":"M",
"telComCd":"01",
"phoneNumber":"01012341234"
}
{
"request":{"merchantID":"MerchantID","accountHolder":"홍길동","birthDate":"19801212","sexCd":"M","telComCd":"01","phoneNumber":"01012341234"},
"signature": "232e785e38f67d80e7062c670b3357d10ec8cb2a3a55cb6bdc5a9defc40a3d57"
}
Signature creation method
The contents of 'Request Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Check the Request Content : The format is json. Make sure there are spaces between entries (no spaces).
When making a request, just put the existing content in the 'request' field in json format and send it.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Request Content{"merchantID":"MerchantID","accountHolder":"홍길동","birthDate":"19801212","sexCd":"M","telComCd":"01","phoneNumber":"01012341234"}
Signature232e785e38f67d80e7062c670b3357d10ec8cb2a3a55cb6bdc5a9defc40a3d57
1.1.0 Request Response :
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), failure code(40, 45, 50, 65, 999) |
200, 40, 45, 50, 65, 999 |
msg |
string |
About success or failure |
success, failure Msg |
txSeqNo |
string |
SMS sending unique number |
The character will be remembered and used in the next step. |
Success :
{
"code":200,
"msg":"success"
"txSeqNo":"12315153135135"
}
Error :
{
"code":40,
"msg":"Parameters Value Empty Error"
}
{
"result":{"code":200,"msg":"success","txSeqNo":"12315313513513"},
"signature": "be84060b6d3686cdc100373180efe4481cf939198e673161cc4de5ac30a6e996"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","txSeqNo":"12315313513513"}
Signature be84060b6d3686cdc100373180efe4481cf939198e673161cc4de5ac30a6e996
1.1.1 Check member information
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/add_account |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
merchantID, Authentication key, userID, accountHolder, accountBankCode, accountNumber, birthDate, phoneNumber, txSeqNo, smsAnswer |
Request Format |
JSON |
Parameter Details: All items are required.
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant Id |
Authentication key |
string |
Authorization used for authentication part |
Check on the merchant page |
userID |
string |
Unique Player User ID |
user001 |
accountHolder |
string |
Player Account Holder |
홍길동 |
accountBankCode |
string |
Unique code for your bank to use * See Caution |
001 |
accountNumber |
string |
Player Account Number |
12345154154 |
birthDate |
string |
Player date of birth - 8 digits (Ymd) |
19801212 |
phoneNumber |
string |
User mobile phone number |
01012341234 |
txSeqNo |
string |
Authentication application unique number received in response when requesting authentication |
123456123456123 |
smsAnswer |
string |
Authentication number entered by the user |
000000 |
****Caution****
- For the accountBankCode, please refer to the address 'https://neom-dev.com/main/bankList' or use 'bankList' in the top menu.
{
"merchantID":"MerchantID",
"userID":"user001",
"accountHolder":"홍길동",
"accountBankCode":"001",
"accountNumber":"12345154154",
"birthDate":"19801212"
"phoneNumber":"01012341234"
"txSeqNo":"123412341234123"
"smsAnswer":"000000"
}
{
"request":{"merchantID":"MerchantID","userID":"user001","accountHolder":"홍길동","accountBankCode":"001","accountNumber":"12345154154","birthDate":"801212"},
"signature": "232e785e38f67d80e7062c670b3357d10ec8cb2a3a55cb6bdc5a9defc40a3d57"
}
Signature creation method
The contents of 'Request Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Check the Request Content : The format is json. Make sure there are spaces between entries (no spaces).
When making a request, just put the existing content in the 'request' field in json format and send it.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Request Content{"merchantID":"MerchantID","userID":"user001","accountHolder":"홍길동","accountBankCode":"001","accountNumber":"12345154154","birthDate":"801212","phoneNumber":"01012341234","txSeqNo":"111111111","smsAnswer":"000000"}
Signature232e785e38f67d80e7062c670b3357d10ec8cb2a3a55cb6bdc5a9defc40a3d57
1.1.1 Check member information Request Response :
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), failure code(40, 45, 50, 65) |
200, 40, 45, 50, 65 |
msg |
string |
About success or failure |
success, failure Msg |
Success :
{
"code":200,
"msg":"success"
}
Error :
{
"code":40,
"msg":"Parameters Value Empty Error"
}
{
"result":{"code":200,"msg":"success"},
"signature": "be84060b6d3686cdc100373180efe4481cf939198e673161cc4de5ac30a6e996"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success"}
Signature be84060b6d3686cdc100373180efe4481cf939198e673161cc4de5ac30a6e996
1.1.2 Request for virtual account issuance
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/request_deposit |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
merchantID, Authentication key, userID, amount, shippingNumber |
Request Format |
JSON |
Parameter Details: All items are required.
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant Id |
Authentication key |
string |
Authorization used for authentication part |
Check on the merchant page |
userID |
string |
Unique Player User ID that successfully authenticated |
user001 |
amount |
number |
Deposit request amount |
1000000 |
shippingNumber (option) |
string |
User mapping value returned in callback |
value to return |
{
"merchantID":"MerchantID",
"userID":"user001",
"amount":1000000,
"shippingNumber":"returnValue"
}
{
"request":{"merchantID":"MerchantID","userID":"user001","amount":100000,"shippingNumber":"returnValue"},
"signature": "8c788ce00cda97dcbd68dbc3a2dc5e3680ce55386bb3f7fc9044ac0ee29776d1"
}
Signature creation method
The contents of 'Request Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Check the Request Content : The format is json. Make sure there are spaces between entries (no spaces).
When making a request, just put the existing content in the 'request' field in json format and send it.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Request Content{"merchantID":"MerchantID","userID":"user001","amount":100000,"shippingNumber":"returnValue"}
Signature8c788ce00cda97dcbd68dbc3a2dc5e3680ce55386bb3f7fc9044ac0ee29776d1
1.1.2 Response to request for virtual account issuance :
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), failure code(40, 45, 50, 65) |
200, 40, 45, 50, 65 |
msg |
string |
About success or failure |
success, failure Msg |
transactionNo |
string |
transaction number |
16961087714072 |
accountHolder |
string |
Allowed deposit requester names |
홍길동 |
accountBankName |
string |
Virtual account deposit bank name |
한국은행 |
accountNumber |
string |
Virtual account number to deposit |
9511111111110 |
amount |
number |
Amount to deposit |
1000000 |
shippingNumber |
string |
Return value registered as an option when requesting |
value to return |
Success :
{
"code":200,
"msg":"success"
"transactionNo":"16961087714072"
"accountHolder":"홍길동"
"accountBankName":"한국은행"
"accountNumber":"9511111111110"
"amount":1000000
"shippingNumber":"value to return"
}
Error :
{
"code":40,
"msg":"Parameters Value Empty Error"
}
{
"result":{"code":200,"msg":"success","transactionNo":"16961087714072","accountHolder":"홍길동","accountBankName":"한국은행","accountNumber":"9511111111110","amount":100000,"shippingNumber":"value to return"},
"signature": "1bf13063ee341e802c8dbaf04a407398ba86de03426396a4a13124cf649cae81"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","transactionNo":"16961087714072","accountHolder":"홍길동","accountBankName":"한국은행","accountNumber":"9511111111110","amount":100000,"shippingNumber":"value to return"}
Signature 1bf13063ee341e802c8dbaf04a407398ba86de03426396a4a13124cf649cae81
2. Deposit CallBack(Hook)
Merchants can use content only when they register and activate URI information to receive transaction data registered in the NEOM system.
2.1 Callback upon deposit request
Request Specifications:
Name |
Description |
Endpoint URL |
MyProfile >> API configuration >> Deposit Application Notification URL Input Item. |
Method |
POST |
Authorization |
Compare whether it is the same as the previously issued API KEY.
|
Query Parameters |
code, msg, transactionNo, merchantID, userID, requestAmount, shippingNumber |
Response Format |
JSON |
Parameter Details:
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200) |
200 |
msg |
string |
deposit application |
deposit application |
transactionNo |
string |
Transaction Number |
16000000000001 |
status |
string |
Status result of transaction |
standby |
merchantID |
string |
Merchant Id |
Merchant Id |
userID |
string |
Deposit Player User ID |
user001 |
requestAmount |
Numeric |
Deposit request amount |
1000000 |
shippingNumber |
string |
Input mapping value |
test-001-002 |
{
"code":200,
"msg":"deposit application",
"transactionNo":"16000000000001",
"status":"standby",
"merchantID":"Merchant Id",
"userID":"user001",
"requestAmount":1000000,
"shippingNumber":"test-001-002"
}
{
"result":{"code":200,"msg":"deposit application","transactionNo":"16000000000001","merchantID":"MerchantID","userID":"user001","requestAmount":1000000,"shippingNumber":"test-001-002"},
"signature": "a8c9e9bc425f88f308322a36e26e50d7f2c7198ef64d366e3a6c9dab1ae89a00"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"deposit application","transactionNo":"16000000000001","merchantID":"MerchantID","userID":"user001","requestAmount":1000000,"shippingNumber":"test-001-002"}
Signaturea8c9e9bc425f88f308322a36e26e50d7f2c7198ef64d366e3a6c9dab1ae89a00
****Caution****
- If there is no deposit even after 20 minutes after the deposit request, it will be automatically canceled and a cancellation callback will be sent.
2.2 Callback after deposit is complete
Request Specifications:
Name |
Description |
Endpoint URL |
MyProfile >> API configuration >> Deposit completion notification URL Input Item. |
Method |
POST |
Authorization |
Compare whether it is the same as the previously issued API KEY.
|
Query Parameters |
code, msg, transactionNo, merchantID, userID, requestAmount, actualAmount, shippingNumber |
Response Format |
JSON |
Parameter Details:
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), cancel(40), error(50) |
200, 40, 50 |
msg |
string |
Note in case of error |
success, errorMsg |
transactionNo |
string |
Transaction Number |
16000000000001 |
status |
string |
Status result of transaction |
complete, cancel |
merchantID |
string |
Merchant Id |
Merchant Id |
userID |
string |
Deposit Player User ID |
user001 |
requestAmount |
Numeric |
Deposit request amount |
1000000 |
actualAmount |
Numeric |
Final deposit amount |
1000000 |
shippingNumber |
string |
Input mapping value |
test-001-002 |
Success :
{
"code":200,
"msg":"success",
"transactionNo":"16000000000001",
"status":"complete",
"merchantID":"Merchant Id",
"userID":"user001",
"requestAmount":1000000,
"actualAmount":1000000,
"shippingNumber":"test-001-002"
}
Error :
{
"code":40,
"msg":"cancel content",
"transactionNo":"16000000000001",
"status":"cancel",
"merchantID":"Merchant Id",
"userID":"user001",
"requestAmount":1000000,
"actualAmount":0,
"shippingNumber":"test-001-002"
}
{
"result":{"code":200,"msg":"success","transactionNo":"16000000000001","merchantID":"MerchantID","userID":"user001","requestAmount":1000000,"actualAmount":1000000,"shippingNumber":"test-001-002"},
"signature": "92d81f5581588cb0b6908f0e1eb96277626598732f241a009edbe9ed353f3a88"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","transactionNo":"16000000000001","merchantID":"MerchantID","userID":"user001","requestAmount":1000000,"actualAmount":1000000,"shippingNumber":"test-001-002"}
Signature92d81f5581588cb0b6908f0e1eb96277626598732f241a009edbe9ed353f3a88
****Caution****
- Callback validation is successful if the http status code is 200.
- The system will try up to 10 callbacks at 1-minute intervals until processing is confirmed as successful.
- To avoid redundant callback processing, compare individual TransactionNo values before processing.
- The difference between success and cancellation is: Among the provided items, you can check the contents by 'Code' and 'Status'.
3. Withdraw
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/withdraw |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
merchantID, Authentication key, userID, accountHolder, accountBankName, accountNumber, amount, shippingNumber |
Request Format |
JSON |
Parameter Details: All items are required.
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant Id |
Authentication key |
string |
Authorization used for authentication part |
Check on the merchant page |
userID |
string |
Withdraw Player User ID |
user001 |
accountHolder |
string |
Player Account Holder |
홍길동 |
accountBankName |
string |
Player Account Bank Name |
한국은행 |
accountNumber |
string |
Player Account Number |
12345154154 |
amount |
Numeric |
Withdrawal request amount |
1000000 |
shippingNumber |
string |
A unique value that verifies the merchant withdrawal request |
123123123123 |
{
"merchantID":"MerchantID",
"userID":"user001",
"accountHolder":"홍길동",
"accountBankName":"한국은행",
"accountNumber":"12345154154",
"amount":1000000,
"shippingNumber":"123123123123"
}
{
"request":{"merchantID":"MerchantID","userID":"user001","accountHolder":"홍길동","accountBankName":"한국은행","accountNumber":"12345154154","amount":1000000,"shippingNumber":"123123123123"},
"signature": "2b3ffe8398c8c0aaedcfbed1770d42c799753d96bd775c9c870d8e87f5a7f814"
}
Signature creation method
The contents of 'Request Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Check the Request Content : The format is json. Make sure there are spaces between entries (no spaces).
When making a request, just put the existing content in the 'request' field in json format and send it.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Request Content{"merchantID":"MerchantID","userID":"user001","accountHolder":"홍길동","accountBankName":"한국은행","accountNumber":"12345154154","amount":1000000,"shippingNumber":"123123123123"}
Signature2b3ffe8398c8c0aaedcfbed1770d42c799753d96bd775c9c870d8e87f5a7f814
Withdrawal Request Response : The result value returned on success can be compared with the transaction number in the callback (hook).
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), cancel(40), error(50) |
200, 40, 50 |
msg |
string |
Note in case of error |
success, errorMsg |
transactionNo |
string |
Show transaction number only if successful |
16000000000001 |
Success :
{
"code":200,
"msg":"success",
"transactionNo":"16000000000001"
}
Error :
{
"code":40,
"msg":"Parameters Value Empty Error"
}
{
"result":{"code":200,"msg":"success","transactionNo":"16000000000001"},
"signature": "098663a503748cbee89f3dda4b74432ee1af2c2d8c48a211c5b4c1b381354ff7"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","transactionNo":"16000000000001"}
Signature 098663a503748cbee89f3dda4b74432ee1af2c2d8c48a211c5b4c1b381354ff7
4. Withdraw Complete CallBack(Hook)
It can be used after changing API callback settings on the individual store management screen.
Request Specifications:
Name |
Description |
Endpoint URL |
MyProfile >> API configuration >> Withdrawal completion notification URL Input Item. |
Method |
POST |
Authorization |
Compare whether it is the same as the previously issued API KEY.
|
Query Parameters |
code, msg, transactionNo, merchantID, userID, requestAmount, withdrawalAmount, shippingNumber, balance |
Response Format |
JSON |
Parameter Details:
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), error(40,50) |
200, 40, 50 |
msg |
string |
Note in case of error |
success, errorMsg |
transactionNo |
string |
Transaction Number |
16000000000001 |
status |
string |
Status result of transaction |
complete , cancel |
merchantID |
string |
Merchant Id |
MerchantID |
userID |
string |
Withdraw Player User ID |
user001 |
requestAmount |
Numeric |
Withdraw request amount |
1000000 |
withdrawalAmount |
Numeric |
Final Withdraw amount |
1000000 |
shippingNumber |
string |
Eigenvalue received when requesting withdrawal. |
123123123123 |
balance |
Numeric |
balance after withdrawal. |
1000000 |
Success :
{
"code":200,
"msg":"success",
"transactionNo":"16000000000001",
"status":"complete",
"merchantID":"MerchantID",
"userID":"user001",
"requestAmount":1000000,
"withdrawalAmount":1000000
"shippingNumber":123123123123
"balance":1000000
}
Error :
{
"code":40,
"msg":"error content",
"transactionNo":"16000000000001",
"status":"cancel",
"merchantID":"MerchantID",
"userId":"user001",
"requestAmount":1000000,
"withdrawalAmount":0
"shippingNumber":123123123123
"balance":1000000
}
{
"result":{"code":200,"msg":"success","transactionNo":"16000000000001","merchantID":"MerchantID","userID":"user001","requestAmount":1000000,"withdrawalAmount":1000000,"shippingNumber":"test-001-002","balance":1000000},
"signature": "3ca5d4bf18313b870ea9e85d49cbbd2511f0c62b9e767a616b61217f1f341327"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","transactionNo":"16000000000001","merchantID":"MerchantID","userID":"user001","requestAmount":1000000,"withdrawalAmount":1000000,"shippingNumber":"test-001-002","balance":1000000}
Signature3ca5d4bf18313b870ea9e85d49cbbd2511f0c62b9e767a616b61217f1f341327
****Caution****
- Callback validation is successful if the http status code is 200.
- The system will try up to 10 callbacks at 1-minute intervals until processing is confirmed as successful.
- To avoid redundant callback processing, compare individual TransactionNo values before processing.
- The difference between success and cancellation is: Among the provided items, you can check the contents by 'Code' and 'Status'.
5. Transaction inquiry
5.1 Transaction inquiry by date
View transaction history for the requested date
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/transaction_date |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
merchantID, Authentication key, date |
Request Format |
JSON |
Parameter Details: All items are required.
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant Id |
Authentication key |
string |
Authorization used for authentication part |
Check on the merchant page |
date |
string |
search date (yyyy-mm-dd) |
2023-05-01 |
{
"merchantID":"MerchantID",
"date":"2023-05-01"
}
{
"request":{"merchantID":"MerchantID","date":"2023-05-01"},
"signature": "9065641a95b98759794030fd663d9e325f951a7977436e640afeef7c77170622"
}
Signature creation method
The contents of 'Request Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Check the Request Content : The format is json. Make sure there are spaces between entries (no spaces).
When making a request, just put the existing content in the 'request' field in json format and send it.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Request Content{"merchantID":"MerchantID","date":"2023-05-01"}
Signature9065641a95b98759794030fd663d9e325f951a7977436e640afeef7c77170622
Query Request Response.
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), error(40,50) |
200, 40, 50 |
msg |
string |
Note in case of error |
success, errorMsg |
result |
string |
Inquiry content JSON |
Balance, deposit information, withdrawal information |
Success :
{
"code":200,
"msg":"success",
"balance":"1000000",
"depositAmount":"0",
"depositCount":"2",
"withdrawalAmount":"0",
"withdrawalCount":"0",
"searchDate":"2023-05-01",
"searchCount":2,
"details":[
{
"transactionType":"deposit",
"transactionNo":"16000000000002",
"integratedEnvironment":"virtual",
"merchantID":"merchantID",
"userID":"userID",
"requestAmount":"10000",
"approvedAmount":"0",
"status":"complete",
"requestDate":"2023-05-01 00:06:00",
"processingDate":"2023-05-01 00:10:00"
},
{
"transactionType":"deposit",
"transactionNo":"16000000000001",
"integratedEnvironment":"virtual",
"merchantID":"merchantID",
"userID":"userID",
"requestAmount":"10000",
"approvedAmount":"0",
"status":"complete",
"requestDate":"2023-05-01 00:00:00",
"processingDate":"2023-05-01 00:05:00"
}
]
}
Error :
{
"code":40,
"msg":"You are an unauthenticated user.",
}
{
"result":{"code":200,"msg":"success","balance":"1000000","depositAmount":"0","depositCount":"2","withdrawalAmount":"0","withdrawalCount":"0","searchDate":"2023-05-01","searchCount":1,"details": [{"transactionType": "deposit","transactionNo": "16000000000002","integratedEnvironment": "virtual","merchantID": "merchantID","userID": "userID","requestAmount": "10000","approvedAmount": "0","status": "complete","shippingNumber": "12341234","requestDate": "2023-05-01 00:06:00","processingDate": "2023-05-01 00:10:00"}]},
"signature": "0f3bffa9fc5a1ebeef8c499730adac237d110afbd01fe59aad413cd21459fb08"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","balance":"1000000","depositAmount":"0","depositCount":"2","withdrawalAmount":"0","withdrawalCount":"0","searchDate":"2023-05-01","searchCount":1,"details": [{"transactionType": "deposit","transactionNo": "16000000000002","integratedEnvironment": "virtual","merchantID": "merchantID","userID": "userID","requestAmount": "10000","approvedAmount": "0","status": "complete","shippingNumber": "12341234","requestDate": "2023-05-01 00:06:00","processingDate": "2023-05-01 00:10:00"}]}
Signature0f3bffa9fc5a1ebeef8c499730adac237d110afbd01fe59aad413cd21459fb08
5.2 Transaction inquiry by number
Search details with the requested transaction number
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/transaction_number |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
merchantID, Authentication key, number |
Request Format |
JSON |
Parameter Details: All items are required.
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant Id |
Authentication key |
string |
Authorization used for authentication part |
Check on the merchant page |
number |
string |
Transaction Number or shippingNumber |
16000000000001 or 12341234 |
{
"merchantID":"MerchantID",
"number":"16000000000002"
}
{
"request":{"merchantID":"MerchantID","number":"16000000000002"},
"signature": "ab6a75a90f9a32d5a27465df4815c6ff4efa3c82d2dd8ba39c72df59361992ad"
}
Signature creation method
The contents of 'Request Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Check the Request Content : The format is json. Make sure there are spaces between entries (no spaces).
When making a request, just put the existing content in the 'request' field in json format and send it.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Request Content{"merchantID":"MerchantID","number":"16000000000002"}
Signatureab6a75a90f9a32d5a27465df4815c6ff4efa3c82d2dd8ba39c72df59361992ad
Query Request Response.
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), error(40,50) |
200, 40, 50 |
msg |
string |
Note in case of error |
success, errorMsg |
searchCount |
Numeric |
number of content retrieved |
1 |
result |
string |
Inquiry content JSON |
information |
Success :
{
"code":200,
"msg":"success",
"searchCount":1,
"details":[
{
"transactionType":"deposit",
"transactionNo":"16000000000002",
"integratedEnvironment":"virtual",
"merchantID":"merchantID",
"userID":"userID",
"requestAmount":"10000",
"approvedAmount":"0",
"status":"complete",
"shippingNumber":"12341234",
"requestDate":"2023-05-01 00:06:00"
"processingDate":"2023-05-01 00:10:00"
}
]
}
Error :
{
"code":40,
"msg":"You are an unauthenticated user.",
}
{
"result":{"code":200,"msg":"success","searchCount":1,"details": [{"transactionType": "deposit","transactionNo": "16000000000002","integratedEnvironment": "virtual","merchantID": "merchantID","userID": "userID","requestAmount": "10000","approvedAmount": "0","status": "complete","shippingNumber": "12341234","requestDate": "2023-05-01 00:06:00","processingDate": "2023-05-01 00:10:00"}]},
"signature": "23ea072e712376330cbf6ef7916dbc432e97dc06e04b66609e252ba57186b07e"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","searchCount":1,"details": [{"transactionType": "deposit","transactionNo": "16000000000002","integratedEnvironment": "virtual","merchantID": "merchantID","userID": "userID","requestAmount": "10000","approvedAmount": "0","status": "complete","shippingNumber": "12341234","requestDate": "2023-05-01 00:06:00","processingDate": "2023-05-01 00:10:00"}]}
Signature23ea072e712376330cbf6ef7916dbc432e97dc06e04b66609e252ba57186b07e
6. Balance
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/balance |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
MerchantID |
Request Format |
JSON |
Parameter Details:
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant ID |
{
"merchantID":"MerchantID"
}
{
"request":{"merchantID":"MerchantID"},
"signature": "4c3d1e07250b914dd6d87880ff28cc835d5ab9734106828c97c6accbf2f0a66f"
}
Signature creation method
The contents of 'Request Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Check the Request Content : The format is json. Make sure there are spaces between entries (no spaces).
When making a request, just put the existing content in the 'request' field in json format and send it.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Request Content{"merchantID":"MerchantID"}
Signature4c3d1e07250b914dd6d87880ff28cc835d5ab9734106828c97c6accbf2f0a66f
Request Response :
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), error(40,50) |
200, 40, 50 |
msg |
string |
Note in case of error |
success, errorMsg |
merchantID |
string |
MerchantID |
MerchantID |
balance |
string |
balance |
0 |
Success :
{
"code":200,
"msg":"success",
"merchantID":"MerchantID",
"balance":"0"
}
Error :
{
"code":40,
"msg":"Parameters Value Empty Error",
"merchantID":"",
"balance":""
}
{
"result":{"code":200,"msg":"success","merchantID":"MerchantID","balance":"0"},
"signature": "df0cbe1523e2b4572ffb2d4ee57257b67fe7d25072f661adb02ec6d3703b9df5"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success","merchantID":"MerchantID","balance":"0"}
Signaturedf0cbe1523e2b4572ffb2d4ee57257b67fe7d25072f661adb02ec6d3703b9df5
7. Reset
Delete the existing user ID so that you can re-register with the same ID.
Request Specifications:
Name |
Description |
Host |
https://neom-mpay.com |
Endpoint URL |
/api/partner/reset |
Method |
POST |
Authorization |
When using HTTP, Authorization is used in the HTTP header as the authentication standard. Authorization value can use the key issued by NEOM SYSTEM.
The issued key is for simple authentication and not in the form of a token.
|
Query Parameters |
MerchantID, userID |
Request Format |
JSON |
Parameter Details:
Name |
Type |
Description |
Sample |
merchantID |
string |
Merchant Id |
Merchant ID |
userID |
string |
Deposit Player User ID |
user001 |
{
"merchantID":"MerchantID"
"userID":"user001"
}
{
"request":{"merchantID":"MerchantID","userID":"user001"},
"signature": "0b788391e20c8eecbaa87f779ce7de91a0118bacfd9e4b436c2745d9f82c15eb"
}
Signature creation method
The contents of 'Request Content' are encrypted using the issued 'HMAC SHA-256 private key'.
Check the Request Content : The format is json. Make sure there are spaces between entries (no spaces).
When making a request, just put the existing content in the 'request' field in json format and send it.
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Request Content{"merchantID":"MerchantID","userID":"user001"}
Signature0b788391e20c8eecbaa87f779ce7de91a0118bacfd9e4b436c2745d9f82c15eb
Request Response :
Name |
Type |
Description |
Sample |
code |
Numeric |
Success(200), error(400,500) |
200, 400, 500 |
msg |
string |
Note in case of error |
success, no data |
Success :
{
"code":200,
"msg":"success"
}
Error :
{
"code":404,
"msg":"no data"
}
{
"result":{"code":200,"msg":"success"},
"signature": "be84060b6d3686cdc100373180efe4481cf939198e673161cc4de5ac30a6e996"
}
Signature Verification Method
Using the issued 'HMAC SHA-256 private key', you can authenticate by comparing the 'result' and 'signature' of the response item.
Check the Response Content : The format is json. Make sure there are spaces between entries (no spaces).
Secret Keye7ce86cdea1b117e479355b7bb6e10ad3e89c9568a53082bcc201c41f98a77b9
Response Content{"code":200,"msg":"success"}
Signaturebe84060b6d3686cdc100373180efe4481cf939198e673161cc4de5ac30a6e996