Seamless
單一錢包 API
功能项目
Action 8:下注并结算

Action 8:下注并结算

功能说明

  • 当玩家下注时呼叫该 API,通知该局游戏结果。

  • 请使用 bet 或 mb 确认玩家余额是否足够,并在使用 netWin 加扣款后,回传玩家剩余金额。

    • bet:
      • 当 玩家余额 >= bet 则此笔请求要被处理
      • 当 玩家余额 < bet 請返回錯誤代碼 6006
    • mb:
      • 当 玩家余额 >= mb 则此笔请求要被处理
      • 当 玩家余额 < mb 则此笔请求应回覆 6006
  • 回传内容提供字段 mb,用于客户自行确认玩家余额是否足够。

    • mb 即是 minimum balance 的缩写。

    • 检查方式:玩家余额 >= mb,即是合法的情况。

    • 计算方式:

      • 非鱼机类型游戏的 mb 就是 bet

      • 鱼机类型游戏 mb 的计算方式为:

        • 累积成本 = 前次累积成本 + bet - 前次 win

        • mb = Max(前次 mb, 累积成本)

        • 范例:游戏结果的 bet = 24,win = 29, 透过计算每发子弹的历程算出 mb = 6, 因此,玩家余额至少要有 6 块钱。

          betwin累积成本mb
          110=0 + 1 - 0 = 1Max(0, 1) = 1
          55=1 + 5 - 10 = -4Max(1, -4) = 1
          100= -4 + 10 - 5 = 1Max(1, 1) = 1
          54=1 + 5 - 0 =6Max(1, 6) = 6
          110=6 + 1 - 4 = 3Max(6, 3) = 6
          10=3 + 1 - 10 = -6Max(6, -6) = 6
          10=-6 + 1 - 0 = -5Max(6, -5) = 6
  • 当回应逾时或没有收到正确格式的回应 (请参照下图),会于一分钟后呼叫取消下注并取消结算(Action 4)

    seamless wallet BetNSettle flow chart

请求参数

参数格式说明
actionInteger8
tsLong当前系统时间
transferIdLong交易序号
historyIdString(100)游戏序号
参照附录 historyId 说明
uidString(50)玩家账号,只限 a-z 与 0-9、底线(_)、连字符(-)。
gTypeInteger游戏类型
参照附录 游戏提供商
mTypeInteger机台类型
reportDateString(10)报表日期(dd-MM-yyyy)
gameDateString(19)游戏日期(dd-MM-yyyy HH:mm:ss)
currencyString(10)参照附录:货币代码
betDouble押注金额(永远为负数)
mbDouble玩家合理最小余额
winDouble游戏赢分
netWinDouble总输赢
lastModifyTimeString(19)最后修改时间(dd-MM-yyyy HH:mm:ss)
sessionNoString(50)序号,登入每款游戏会获得不同值。当没使用 JDB 大厅时推荐使用。
预设无此参数,如需要请洽业务人员
systemSessionIdString(150)系统阶段唯一码,每次 action 21 取得游戏连结会获得不同值。

游戏类型支援范围:老虎机 (0)、捕鱼机 (7)、街机 (9)、电子彩票 (12)、棋牌 (18)

预设无此参数,如需要请洽业务人员

接续上面表格,以下将依 gType 分类,列出对应的参数表格

老虎机下注记录:gType = 0

参数格式说明
denomDouble投注面值
systemTakeWinInteger系统结算标记
0:否
1:是
jackpotWinDouble赢得彩金金额
jackpotContributeDouble彩金贡献值
hasFreeGameInteger免费游戏
0:否
1:是
hasGambleInteger博取游戏
0:否
1:是
hasBuyFeatureIntegerBuyFeature 游戏
0:否
1:是

捕鱼机下注记录:gType = 7

参数格式说明
denomDouble投注面值
systemTakeWinInteger系统结算标记
0:否
1:是
roomTypeInteger游戏区域
-1:大厅(成就游戏)
0:小压码区
1:中压码区
2:大压码区
各压码区称号会依据机台类型有所不同

街机下注记录:gType = 9

参数格式说明
denomDouble投注面值
systemTakeWinInteger系统结算标记
0:否
1:是
hasBonusGameInteger奖金游戏
0:否
1:是
hasGambleInteger博取游戏
0:否
1:是

电子彩票下注记录:gType = 12

参数格式说明
denomDouble投注面值
systemTakeWinInteger系统结算标记
0:否
1:是
hasBonusGameInteger奖金游戏
0:否
1:是

请求范例:老虎机

{
  "action": 8,
  "ts": 1447452951820,
  "transferId": 1001,
  "historyId": "5250145705663",
  "uid": "test01",
  "gType": 0,
  "mType": 8001,
  "reportDate": "11-07-2018",
  "gameDate": "11-07-2018 13:37:39",
  "currency": "RB",
  "bet": -5.25,
  "mb": 5.25,
  "win": 2,
  "netWin": -3.25,
  "lastModifyTime": "11-07-2018 13:37:45",
  "denom": 0.01,
  "systemTakeWin": 0,
  "jackpotWin": 0,
  "jackpotContribute": -0.02625,
  "hasFreeGame": 0,
  "hasGamble": 0
}

请求范例:捕鱼机

{
  "action": 8,
  "ts": 1447452951820,
  "transferId": 1001,
  "historyId": "5250145705663",
  "uid": "test01",
  "gType": 7,
  "mType": 7001,
  "reportDate": "11-07-2018",
  "gameDate": "11-07-2018 13:37:39",
  "currency": "RB",
  "bet": -5.25,
  "mb": 5.25,
  "win": 2,
  "netWin": -3.25,
  "lastModifyTime": "11-07-2018 13:37:45",
  "denom": 0.01,
  "systemTakeWin": 0,
  "roomType": 0
}

请求范例:街机

{
  "action": 8,
  "ts": 1447452951820,
  "transferId": 1001,
  "historyId": "5250145705663",
  "uid": "test01",
  "gType": 9,
  "mType": 9001,
  "reportDate": "11-07-2018",
  "gameDate": "11-07-2018 13:37:39",
  "currency": "RB",
  "bet": -5.25,
  "mb": 5.25,
  "win": 2,
  "netWin": -3.25,
  "lastModifyTime": "11-07-2018 13:37:45",
  "denom": 0.01,
  "systemTakeWin": 0,
  "hasGamble": 0,
  "hasBonusGame": 0
}

请求范例:电子彩票

{
  "action": 8,
  "ts": 1447452951820,
  "transferId": 1001,
  "historyId": "5250145705663",
  "uid": "test01",
  "gType": 12,
  "mType": 12001,
  "reportDate": "11-07-2018",
  "gameDate": "11-07-2018 13:37:39",
  "currency": "RB",
  "bet": -5.25,
  "mb": 5.25,
  "win": 2,
  "netWin": -3.25,
  "lastModifyTime": "11-07-2018 13:37:45",
  "denom": 0.01,
  "systemTakeWin": 0,
  "hasBonusGame": 0
}

请求范例:FC, YB, AMB

{
  "action": 8,
  "ts": 1447452951820,
  "transferId": 1001,
  "historyId": "5250145705663",
  "uid": "test01",
  "gType": 30,
  "mType": 30001,
  "reportDate": "11-07-2018",
  "gameDate": "11-07-2018 13:37:39",
  "currency": "RB",
  "bet": -5.25,
  "win": 2,
  "netWin": -3.25,
  "lastModifyTime": "11-07-2018 13:37:45"
}

返回参数

参数格式说明
statusString(4)成功:0000
错误:6006 - 玩家余额不足
其余错误代码视同交易失败,可以把错误原因补充在 err_text
balanceString余额
err_textString(255)错误讯息

返回范例

{
  "status": "0000",
  "balance": "12345.67",
  "err_text": ""
}