第三方系统需要提供以下两种调用接口:
- GetUserBalance取得会员帐户馀额
- Fund Transfer帐户点数出入转移
GetUserBalance 接口用来取得会员在第三方系统内的结馀点数。 SimplePlay平台会在会员登入及有需要时提出请求。
帐户点数出入转移接口有以下四个:
- PlaceBet
- 当会员在SimplePlay平台上进行下注时,这个接口就会调用。第三方系统必須在3秒內回覆此請求,否則 SimplePlay 會視此筆請求失效,系统将会取消该投注并调用PlaceBetCancel让第三系统取消交易。
- PlayerWin
- 如果投注在同一局内的不同的投注结算加总后有赢额,就会调用PlaceWin及付上回存到第三方系统的点数。
- PlayerLost
- 如果投注在同一局内的不同的投注结算加总后没有赢额,就会调用PlayerLost。
- PlaceBetCancel
- 如果在调用PlaceBet后,因为逾时或没有回应,则此项投注就会取消,同时会调用PlaceBetCancel来告知第三方系统在有需要的下把点数返还给会员。
当PlayerWin,PlayerLost或PlaceBetCancel请求逾时或第三方系统返回错误消息,SimplePlay会不断重发请求至第三方系统直至收到正常回覆。如超过2小时, SimplePlay 会视之为失败并把它标示为失败请求。
一般情況:
- 收到GetUserBalance请求,无需调整会员余额,返回error=0及会员最新余额
- 收到PlaceBet请求,把金额从会员帐户扣除, 返回error=0及会员最新余额
- 收到PlayerWin请求,把金额增加给会员, 返回error=0及会员最新余额
- 收到PlayerLost请求,无需调整会员余额, 返回error=0及会员最新余额
- 收到PlaceBetCancel请求,把對應的PlaceBet请求的下注金额退回给会员, 返回error=0及会员最新余额
特殊情況:
- 收到PlaceBetCancel请求后, 找不到相应的PlaceBet请求。无需调整会员余额,返回error=0及会员最新余额。
>关于延迟收到的PlaceBet请求,建议建立检查程序去处理,建议把PlaceBetCancel请求里的”txn_reverse_id“储存
>如果贵司系统处理PlaceBetCancel请求后才收到对应的PlaceBet请求,贵司系统有可能会出现一些错误处理的注单状态。为了解决此特殊情况,建议贵司系统可以建立一个每15分钟运行一次的定时检查工作。- 检查所有待定/未完成的PlaceBetCancel请求,以其txn_reverse_id去比对过去15分钟所有PlaceBet请求的txnid。
- 承上,如果找到对应PlaceBet请求,把下注金额退还给玩家,然后完成这两笔PlaceBet和PlaceBetCancel请求。
- 承上,如果未能找到相关的PlaceBet请求,该笔PlaceBetCancel可视为完成状态
注: 定时检查的建议间距是15分钟,贵司可因应系统需求更改此间距。
- 收到重复的PlayerWin, PlayerLost或PlaceBetCancel请求,无需调整会员余额,返回error=0及会员最新余额
**以上每个接口调用时,也会付有一个独一的交易编号,第三方系统必须保证每个交易编号的请求只会被处理一次,重复的请求不能再被处理而直接回覆 SimplePlay 平台成功处理状态(error=0)。
第三方系统需提供五个独立的接口(例如: .aspx, .php, etc.)以供 SimplePlay 平台调用:
例如使用ASP.Net:
- /GetUserBalance.aspx
- /PlaceBet.aspx
- /PlayerWin.aspx
- /PlayerLost.aspx
- /PlaceBetCancel.aspx
**第三方系统只能使用一种档尾类型,不能存在不同档尾进行调用。