MG+ Agent Guide for Single Wallet Integrations
Breadcrumbs

更新余额

使用幂等请求更新玩家余额。

对于离线交易,余额只能记入上分(余额的增加)(例如,重试的交易、擂台赛活动结束时的派彩或是促进活动的派彩)。 

由于此方法是幂等的,因此任何重复调用都需返回与第一个成功响应完全相同的结果。

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+ 调用,则此参数可能不存在。


请求范例

JSON
{
    "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毫秒)。


回传范例

JSON
{
  "extTxnId": "QEFR-SUWE-OALC-SPUF",
  "currency": "CNY",  
  "balance": 2050.50,
  "extCreationTimeMs": 1673436250448
}


HTTP 回复代码

状态代码

描述

说明

200

完成

返回 200 OK 表示运营商已验证玩家余额并接受该交易。系统不检查响应体,仅通过 HTTP 状态码即可判断交易是否成功。

400

无效请求

请求格式无效或包含不支持的参数(例如,不支持的交易类型),交易被拒绝。

402

余额不足

玩家余额不足以完成交易,交易被拒绝。

404

玩家不存在

玩家 ID 在运营商系统中不存在,交易被拒绝。

500

内部伺服器错误

运营商发生意外错误,交易被拒绝,可能需要重试。