手机网游充值系统是如何实现的
手机网游充值系统是如何实现的
数据交互图
玩家客户端指的是浏览器或者SDK。
上面数据交互图中需要有几点注意:
(1)玩家客户端,游戏服务器,支付平台这三者之间扮演的角色
游戏服务器只是提供数据的提供者和数据的处理者,游戏服务器不会直接把订单提交给支付平台. 订单由玩家客户端提交.
一般来说,如果是网页支付,那么客户端就是浏览器,提交订单信息给支付平台的方式有两种:
A: 以HTML表单格式自动提交GET/POST请求 (使用javascript自动提交)
B:以URL信号的方式重新跳转
如果是SDK支付,那客户端就是SDK,SDK首先需要从游戏服务器中获取订单信息,然后把订单信息传给支付平台。
(2)支付平台处理订单之后如何通知游戏服务器和玩家客户端。
一般来说,当支付平台处理完订单后,会有两个动作:
A: 异步通知游戏的服务器。把订单的处理结果返回给游戏服务器,游戏服务器接收到这个信息后,判断如果支付成功,则把玩家购买的商品发给玩家(如发给玩家500金块)。
B:同步通知客户端。例如一般支付平台支付处理完成后,页面中会有一个“返回商家网站”的按钮,点击这个按钮的时候,就可以返回游戏。这就是同步通知。
这里,我们需要认识到的是,同步是不可靠的(用户没有点击),订单必须在异步的时候处理。还有一点需要注意的是,同步和异步发生的时间不同。可能异步处理慢于同步跳转,所以在同步跳转提示玩家充值信息的时候(假设充值成功的话),我们会提示:“订单成功,你购买的商品将在5分钟内到账!”。