博亿打造游戏圈
目前游戏开发中主流的支付方式有微信支付、支付宝支付、Apple Pay等,今天给大家分享一下如何架构和设计游戏中的支付系统。
游戏支付主要业务流程
在设计游戏支付时,了解游戏中的支付流程和步骤是非常有必要的。 只有了解了这些步骤,才能很好的实现支付功能。 我们以常见的网络游戏为例来说明主要的支付流程。 部分单机游戏的支付方式可能会有所不同,您需要根据自己的业务具体调整和处理。
(1)服务器生成订单信息,生成唯一的支付订单号作为支付SDK的自定义订单号,并将订单号返回给客户端;
(2)客户端调用支付SDK,传入自定义订单号,启动支付流程,完成正式支付;
(3)客户端根据支付SDK的返回结果提示支付结果、成功、失败、取消等;
(4)服务器向第三方支付服务器配置后台处理地址。 当订单完成后,支付服务器会通过http操作通知后台处理地址,并将后台订单的详细信息发送给服务器;
(5)服务器响应后台处理地址,验证订单的支付信息,根据自定义订单号检查哪个订单已经完成,验证订单的完整性。
(6)根据订单向用户发货。 服务器验证订单和支付金额,确认支付完成后,将发货给订单对应的用户。 包括头发装备、头发道具等。
(7)可选:通知客户端服务器已发货相应道具等。是否需要通知可根据具体游戏环境决定。
游戏服务器订单管理
游戏服务器后台的订单管理非常重要,因为财务对账、结算等都需要依赖后台的订单管理。 因此,我们需要对所有订单和渠道进行统计,以方便运营审核和游戏数据分析。 哪些渠道、流量等运营信息都是非常重要的后端数据。 游戏服务器如何在后台管理订单? 以下是一些主要的管理数据字段供您参考:
UID:玩家用户的唯一ID;
订单ID:后台唯一的订单ID号;
订单号:自定义订单号。 该订单号将发送至第三方支付服务器作为商品的订单号;
状态:已付费/已取消/待处理;
支付渠道:支付宝、微信支付;
产品ID:订单对应的产品ID号。 发货时,根据商品ID发货对应的商品;
渠道ID:对应的支付订单来自哪个渠道;
我们看一下微信支付商户后台的订单信息。 后台保存的商户订单号是我们游戏后台生成的唯一订单号。
如何运送游戏服务器后端
玩家支付成功后,游戏服务器后台负责发货。 所谓带货,就是改变玩家购买商品的相关数据。 例如,如果购买了10个复活道具,那么该产品的数量就会添加到玩家的复活道具栏中。 玩家充值了100元宝,并在玩家数据属性元宝字段中添加了100元宝的数据量。 同时,每进行一次“交付”动作,都要做好详细的“交付记录”。 例如,xxxx时间将100元宝运送给玩家xxxx,以方便玩家对账。
后端发货后是否通知游戏客户端以及如何通知游戏客户端可以根据具体的应用场景来确定。 比如元宝购买成功,客户端有两个地方可以显示购买成功信息和动画效果。 第一种是客户端调用第三方支付SDK,支付成功后的回调可以用于显示购买成功信息和动画显示。 第二次显示购买成功信息的机会可以是游戏服务器发货后,主动通知游戏客户端发货成功以及发货了什么“商品”。
具体的展示方式可以根据业务需求来确定。 有时第三方支付回调时提示购买成功即可。 游戏后台发货后无需通知客户。