Data Order before Stringify & Hashing
Data processed by the Operator must be the same as data from Naga Games(order and number of data fields). If the Operator does not notice the order of data fields or the order is wrong, the Operator cannot verify this data.
Authorize
-
playerToken
-
gameCode
-
brandCode
-
groupCode
// Correct
const data = {
playerToken: "9856e3d7-f7ba-d5cf-1111-43905af123d3",
gameCode: "pandora",
brandCode: "dtdr",
groupCode: "dwea",
};
// Wrong
const data = {
brandCode: "dtdr",
groupCode: "dwea",
playerToken: "9856e3d7-f7ba-d5cf-1111-43905af123d3",
gameCode: "pandora",
};
Get Player Token
-
nativeId
-
groupCode
-
brandCode
-
gameCode
// Correct
const data = {
nativeId: "playerA",
groupCode: "dapd",
brandCode: "dodo",
gameCode: "sugary-bonanza",
};
// Wrong (groupCode & nativeId)
const data = {
groupCode: "dapd",// groupCode is wrong order
nativeId: "playerA",// nativeId is wrong order
brandCode: "dodo",
gameCode: "sugary-bonanza",
};
Seamless Mode
Place Bet
-
betId
-
currency
-
gameCode
-
playerToken
-
groupCode
-
transactionId
-
amount
-
parentBetId
-
brandCode
-
betType
-
isLastFreeSpins
Note:
Two fields betType & isLastFreeSpins are able to turn on/off in BackOffice.
If ticked, this mean the data is sent from Naga Games will include these fields
Example order data fields for Place Bet data:
// Correct
const data = {
betId: "9856e3d7-f7ba-d5cf-1111-43905af123d3",
currency: "THB",
gameCode: "sugary-bonanza",
playerToken: "39af0e52dbe5acefc6d2fe5f9639d3d9",
groupCode: "dapd",
transactionId: "10f118bf-2789-4db7-9a3f-a0b8da51f7d2",
amount: 10,
parentBetId: "3c67e1b5-809b-4a82-942b-74b68b7d0f22",
brandCode: "dodo",
betType: "NORMAL",
isLastFreeSpins: true,
};
// Wrong (currency & betId)
const data = {
currency: "THB", // currency is wrong order
betId: "9856e3d7-f7ba-d5cf-1111-43905af123d3", // betId is wrong order
gameCode: "sugary-bonanza",
playerToken: "39af0e52dbe5acefc6d2fe5f9639d3d9",
groupCode: "dapd",
transactionId: "10f118bf-2789-4db7-9a3f-a0b8da51f7d2",
amount: 10,
parentBetId: "3c67e1b5-809b-4a82-942b-74b68b7d0f22",
brandCode: "dodo",
betType: "NORMAL",
isLastFreeSpins: true,
};
Payout
-
betId
-
currency
-
gameCode
-
playerToken
-
groupCode
-
transactionId
-
amount
-
parentBetId
-
brandCode
-
betType
-
isLastFreeSpins
// Correct
const data = {
betId: "9856e3d7-f7ba-d5cf-1111-43905af123d3",
currency: "THB",
gameCode: "sugary-bonanza",
playerToken: "39af0e52dbe5acefc6d2fe5f9639d3d9",
groupCode: "dapd",
transactionId: "10f118bf-2789-4db7-9a3f-a0b8da51f7d2",
amount: 10,
parentBetId: "3c67e1b5-809b-4a82-942b-74b68b7d0f22",
brandCode: "dodo",
betType: "NORMAL",
isLastFreeSpins: true,
};
// Wrong (currency & betId)
const data = {
currency: "THB", // currency is wrong order
betId: "9856e3d7-f7ba-d5cf-1111-43905af123d3", // betId is wrong order
gameCode: "sugary-bonanza",
playerToken: "39af0e52dbe5acefc6d2fe5f9639d3d9",
groupCode: "dapd",
transactionId: "10f118bf-2789-4db7-9a3f-a0b8da51f7d2",
amount: 10,
parentBetId: "3c67e1b5-809b-4a82-942b-74b68b7d0f22",
brandCode: "dodo",
betType: "NORMAL",
isLastFreeSpins: true,
};
Transfer Mode
Create Player
- nativeID
- brandCode
- groupCode
- currencyCode
Example
const SERCET_KEY = 'bmnsODf2NKYshC';
Correct
const signature = hmacSHA256(
JSON.stringify({
nativeId: 'test_payload',
brandCode: 'bmns',
groupCode: 'dadd',
currencyCode: 'USD',
}),
SERCET_KEY,
);
Wrong (nativeId is wrong order)
const signature = hmacSHA256(
JSON.stringify({
brandCode: 'bmns',
groupCode: 'dadd',
nativeId: 'test_payload',
currencyCode: 'USD',
}),
SERCET_KEY,
);
Get Balance
- nativeId
- brandCode
- groupCode
Example
const SERCET_KEY = 'bmnsODf2NKYshC';
Correct
const signature = hmacSHA256(
JSON.stringify({
nativeId: "test_payload",
brandCode: 'bmns',
groupCode: 'dadd',
}),
SERCET_KEY,
);
Wrong (groupCode is wrong order)
const signature = hmacSHA256(
JSON.stringify({
nativeId: "test_payload",
groupCode: 'dadd',
brandCode: 'bmns',
}),
SERCET_KEY,
);
Deposit
- nativeID
- brandCode
- groupCode
- currencyCode
- amount
- nativeTransactionId
Example
const SERCET_KEY = 'bmnsODf2NKYshC';
Correct
const signature = hmacSHA256(
JSON.stringify({
nativeId: 'test_payload',
brandCode: 'bmns',
groupCode: 'dadd',
currencyCode: 'USD',
amount: 1,
nativeTransactionId: '7b83540c-2a25-4555-a5c0-f1a1c8ba861d',
}),
SERCET_KEY,
);
Wrong (nativeId is wrong order)
const signature = hmacSHA256(
JSON.stringify({
brandCode: 'bmns',
groupCode: 'dadd',
currencyCode: 'USD',
amount: 1,
nativeTransactionId: '7b83540c-2a25-4555-a5c0-f1a1c8ba861d',
nativeId: 'test_payload',
}),
SERCET_KEY,
);
Withdraw
- nativeID
- brandCode
- groupCode
- currencyCode
- amount
- nativeTransactionId
Example
const SERCET_KEY = 'bmnsODf2NKYshC';
Correct
const signature = hmacSHA256(
JSON.stringify({
nativeId: 'test_payload',
brandCode: 'bmns',
groupCode: 'dadd',
currencyCode: 'USD',
amount: 1,
nativeTransactionId: '7b83540c-2a25-4555-a5c0-f1a1c8ba861d',
}),
SERCET_KEY,
);
Wrong (nativeId is wrong order)
const signature = hmacSHA256(
JSON.stringify({
brandCode: 'bmns',
groupCode: 'dadd',
currencyCode: 'USD',
amount: 1,
nativeTransactionId: '7b83540c-2a25-4555-a5c0-f1a1c8ba861d',
nativeId: 'test_payload',
}),
SERCET_KEY,
);
Get One Transaction Transfer
- brandCode
- groupCode
Example
const SERCET_KEY = 'bmnsODf2NKYshC';
Correct
Example:
const signature = hmacSHA256(
JSON.stringify({
brandCode: 'bmns',
groupCode: 'dadd',
}),
SERCET_KEY,
);
Wrong (groupCode is wrong orde)
const signature = hmacSHA256(
JSON.stringify({
groupCode: 'dadd',
brandCode: 'bmns',
}),
SERCET_KEY,
);
Get List Transaction Transfer
- brandCode
- groupCode
- startDate
- endDate
- type
- page
- limit
Example
const SERCET_KEY = 'bmnsODf2NKYshC';
Correct
const signature = hmacSHA256(
JSON.stringify({
brandCode: 'bmns',
groupCode: 'dadd',
startDate: '2022-10-21T03:39:10.815Z',
endDate: '2022-10-22T03:39:15.815Z',
type: 'DEPOSIT',
page: '1',
limit: '10',
}),
SERCET_KEY,
);
Wrong (groupCode, type are wrong order)
const signature = hmacSHA256(
JSON.stringify({
groupCode: 'dadd',
brandCode: 'bmns',
type: 'DEPOSIT',
startDate: '2022-10-21T03:39:10.815Z',
endDate: '2022-10-22T03:39:15.815Z',
page: '1',
limit: '10',
}),
SERCET_KEY,
);
Updated over 1 year ago