转账
处理会员的存款或提款交易。
API 信息
- 端点:
POST /v2/members/transaction - 认证:Bearer Token
- 加密:请求使用 AES-256-GCM 加密,响应为明文 JSON
请求
请求标头
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
请求参数
加密前的参数
{
"username": "testacoount001",
"amount": 10,
"transId": "2c205e4f-c922-4967-8e45-f14480a2f075"
}
加密后的请求体
{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==..."
}
| 欄位 | 类型 | 必填 | 说明 |
|---|---|---|---|
username | string | 是 | 会员账号 |
transId | string | 是 | 交易 ID(营运商端唯一标識符) |
amount | number | 是 | 交易金额,正数为存款,負数为提款 |
响应
成功响应
{
"code": 0,
"message": "No error.",
"data": {
"amount": 10,
"balance": 2323.582,
},
"logUUID": "fff937f4-b436-496e-baeb-6dfaa4743e43"
}
| 欄位 | 类型 | 说明 |
|---|---|---|
code | number | 响应代码,0 表示成功 |
message | string | 响应讯息 |
data.amount | number | 交易金额 |
data.balance | number | 交易后余额 |
logUUID | string | 请求追蹤 ID,用于问题排查和日誌查询 |
错误响应
{
"code": 3,
"message": "The transaction already exist.",
"logUUID": "6589bf8d-fe74-48bd-841a-71bf8f848f86"
}
常見错误码
| 状态码 | 说明 |
|---|---|
| 2 | 余额不足 |
| 3 | 交易已存在 |
| 8 | 会员不存在 |
| 11 | 参数错误 |
| 19 | 账号无效 |
| 20 | 会员钱包暫时鎖定 |
| 35 | 交易处理中 |
| 83 | 认证失敗 |
| 84 | 解密失敗 |
更多错误码说明请参考:附录 - 错误码总览
注意事项
- 交易 ID 唯一性:每个 transId 在同一 agentId 下必须唯一,用于防止重复交易
- 金额精度:金额保留 2 位小数
- 币别一致性:交易币别必须与会员創建时的币别一致
- 余额检查:提款时会检查余额是否充足
- 冪等性:使用相同的 transId 不会重复执行