使用幂等请求更新玩家余额。
对于离线交易,余额只能记入上分(余额的增加)(例如,重试的交易、擂台赛活动结束时的派彩或是促进活动的派彩)。
由于此方法是幂等的,因此任何重复调用都需返回与第一个成功响应完全相同的结果。
POST {base_url}/updatebalance
请求资讯
|
名称 |
是否必填 |
资料类型 |
描述 |
|---|---|---|---|
|
txnType |
是 |
String |
ENUM 必须为[DEBIT, CREDIT] ([下分 (减少)、上分 (增加)])之一。 |
|
txnEventType |
是 |
String (50) |
交易类型(例如:[GAME, TOURNAMENT, PROMOTION, ACHIEVEMENT, STORE] ( 游戏、擂台赛、促进活动、排行榜、MG商店)。 |
|
playerId |
是 |
String (50) |
玩家的系统识别码。 |
|
amount |
是 |
Number |
交易金额。 总数可能为0,但不可为负值。 |
|
currency |
是 |
String (3) |
指定货币时,使用ISO 4217 货币代码表示,不包括加密货币。 |
|
txnId |
是 |
String (256) |
MG+ 交易识别码,该资讯在系统内为唯一值,依幂等方法使用。 |
|
creationTime |
是 |
Number |
弃用 - 请改用creationTimeMs。 |
|
contentCode |
是 |
String (50) |
MG+ 内容代码(例如:游戏则为游戏代码、排行榜则为排行榜代码等)。 |
|
betId |
非必填 |
String (256) |
该交易的对应投注代码。该栏位记录不同交易代码的同一投注记录。 |
|
roundId |
非必填 |
String (256) |
该交易的对应回合代码。回合代码(RoundID)用于记录多次投注游戏类型的回合资讯。 |
|
metaData |
非必填 |
Object |
有关交易纪录的额外资讯,例如免费游戏或彩池赢奖资讯。参考附录”Metadata”有更多范例说明。 |
|
deviceType |
非必填 |
String |
ENUM,用于标识产生此交易纪录的设备 [桌机、平板、手机]。 |
|
platformType |
非必填 |
String |
ENUM,用于标识产生此交易纪录的平台 [H5, NATIVE]。 |
|
completed |
是 |
Boolean |
标示是否为此游戏回合的最终交易。 当此标示为true,代理可将其视为该回合已结束。 |
|
transNum |
非必填 |
String |
弃用 - 只有在游戏结束时(completed = true)提供,此值会对应于玩家在playcheck 中的交易号。 |
|
channel |
非必填 |
String (50) |
MG+ 游戏渠道。仅会在交易类型为游戏时发送。 |
|
creationTimeMs |
是 |
Number |
创建交易的时间戳记,Epoch 毫秒类型。 |
|
extOperatorToken |
非必填 |
String (150) |
选择性的追踪识别码,如果在上一次登入调用回应期间及在游戏中提供了值。 如果在游戏之外进行 MG+ 调用,则此参数可能不存在。 |
请求范例
{
"txnType": "DEBIT",
"txnEventType": "GAME",
"playerId": "freegamesplayertest0002",
"amount": 0.0,
"currency": "CNY",
"txnId": "AIBQAAQA3ECA2AAAAAAABUWANFHRQAAAAAAA",
"contentCode": "SMG_luckyTwinsWilds",
"betId": "AIBQAAQA3ECA2AAAAAAAADAAAAAA",
"metaData": {
"isFreeGame": true,
"freeGame": {
"played": 3,
"remaining": 4,
"offerGuid": "68baeed7-84ca-4850-a99f-f37edcaed415",
"instanceGuid": "9fa222a4-77f1-46ad-80a1-3849ab8deb9c"
}
},
"deviceType": "DESKTOP",
"platformType": "H5",
"completed": false,
"channel": "SLOTS",
"creationTimeMs": 1727178301630
}
回传资讯
|
名称 |
是否必填 |
资料类型 |
描述 |
|---|---|---|---|
|
extTxnId |
非必填 |
String (512) |
此交易纪录识别码储存在代理的系统。 |
|
balance |
是 |
Number |
交易完成后的玩家余额。 |
|
currency |
是 |
String (3) |
玩家币别,使用ISO 4217 货币代码。 |
|
extCreationTimeMs |
非必填 |
Number |
该交易纪录储存于代理系统资料库的时间戳(储存格式应为Epoch毫秒)。 |
回传范例
{
"extTxnId": "QEFR-SUWE-OALC-SPUF",
"currency": "CNY",
"balance": 2050.50,
"extCreationTimeMs": 1673436250448
}
HTTP 回复代码
|
状态代码 |
描述 |
说明 |
|---|---|---|
|
200 |
完成 |
返回 200 OK 表示运营商已验证玩家余额并接受该交易。系统不检查响应体,仅通过 HTTP 状态码即可判断交易是否成功。 |
|
400 |
无效请求 |
请求格式无效或包含不支持的参数(例如,不支持的交易类型),交易被拒绝。 |
|
402 |
余额不足 |
玩家余额不足以完成交易,交易被拒绝。 |
|
404 |
玩家不存在 |
玩家 ID 在运营商系统中不存在,交易被拒绝。 |
|
500 |
内部伺服器错误 |
运营商发生意外错误,交易被拒绝,可能需要重试。 |