Skip to main content

Transfer

Process Player's deposit or withdrawal transactions.

API Information

  • URLPOST /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==..."
}
FieldTypeRequiredDescription
usernamestringYesPlayer Account
transIdstringYesTransaction ID (Operator's unique identifier)
amountnumberYesTransaction 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

FieldTypeDescription
data.amountnumberTransaction Amount
data.balancenumberBalance after transaction

Error Response

{
"code": 3,
"message": "The transaction already exist.",
"logUUID": "6589bf8d-fe74-48bd-841a-71bf8f848f86"
}

Common Error Codes

CodeDescription
2Insufficient Balance
3Transaction already exists
8Player does not exist
11Parameter error
19Invalid Player Account
20Player wallet temporarily locked
35Transaction in progress
83Authentication Failed
84Decryption Failed

For more error code descriptions, please refer to: Appendix - Error Code Overview

Important Notes

  1. Transaction ID Uniqueness: Each transId must be unique under the same agentId to prevent duplicate transactions
  2. Amount Precision: Amount retains 2 decimal places
  3. Currency Consistency: Transaction currency must be consistent with the currency set when the Player was created
  4. Balance Check: Balance is checked for sufficiency during cashout
  5. Idempotency: Using the same transId will not result in duplicate execution