Transfer
Process Player's deposit or withdrawal transactions.
API Information
- URL:
POST /v2/members/transaction - Authentication:Bearer Token
- Encryption:Requests are encrypted using AES-256-GCM; responses are returned as plaintext JSON
request
request Headers
POST /v2/members/transaction HTTP/1.1
Host: api.example.com
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
x-agentid: integratorNBTest04
x-timestamp: 1769746894501
x-nonce: 56ffd5ecd8a3a4457863a0bd7c298fb2
x-signature: 904e97bee2589b93e9747eed0346c68b23d8ff8b568dabaf4b94a5e89093df67
Request Parameters
Parameters Before Encryption
{
"username": "testacoount001",
"amount": 10,
"transId": "2c205e4f-c922-4967-8e45-f14480a2f075"
}
Encrypted Request Body
{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==..."
}
| Field | Type | Required | Description |
|---|---|---|---|
username | string | Yes | Player Account |
transId | string | Yes | Transaction ID (Operator's unique identifier) |
amount | number | Yes | Transaction amount, positive for deposit, negative for withdrawal |
Response
Success Response
{
"code": 0,
"message": "No error.",
"data": {
"amount": 10,
"balance": 2323.582,
},
"logUUID": "fff937f4-b436-496e-baeb-6dfaa4743e43"
}
ResponseFieldDescription
| Field | Type | Description |
|---|---|---|
data.amount | number | Transaction Amount |
data.balance | number | Balance after transaction |
Error Response
{
"code": 3,
"message": "The transaction already exist.",
"logUUID": "6589bf8d-fe74-48bd-841a-71bf8f848f86"
}
Common Error Codes
| Code | Description |
|---|---|
| 2 | Insufficient Balance |
| 3 | Transaction already exists |
| 8 | Player does not exist |
| 11 | Parameter error |
| 19 | Invalid Player Account |
| 20 | Player wallet temporarily locked |
| 35 | Transaction in progress |
| 83 | Authentication Failed |
| 84 | Decryption Failed |
For more error code descriptions, please refer to: Appendix - Error Code Overview
Important Notes
- Transaction ID Uniqueness: Each transId must be unique under the same agentId to prevent duplicate transactions
- Amount Precision: Amount retains 2 decimal places
- Currency Consistency: Transaction currency must be consistent with the currency set when the Player was created
- Balance Check: Balance is checked for sufficiency during cashout
- Idempotency: Using the same transId will not result in duplicate execution