欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程语言 > php >内容正文

php

php 应用宝支付,u8sdk——应用宝ysdk新的支付流程 -凯发k8官方网

发布时间:2024/10/14 php 33 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 php 应用宝支付,u8sdk——应用宝ysdk新的支付流程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

应用宝不管是之前msdk,还是现在ysdk,对于普通网络手游来说,他的凯发k8官方网的支付方式都只能是游戏币托管的方式。之前接msdk的时候,也是费了九牛二虎之力才搞定,主要就是被他这个所谓的“游戏币托管模式”弄的有点摸不着头脑。因为这个方式,和其他渠道sdk的支付流程还是有区别的。

其实,“游戏币托管模式”,就是字面意思。比如, 我们游戏中的玩家充值得到的是元宝,当玩家充值之后,我们在该玩家的角色数据中有一个元宝数量的字段,用来存储当前玩家身总共有多少元宝。而应用宝说, 嘿, 你们不需要这个字段了,玩家充值的时候,玩家身上的元宝数量,就存在我这里了。 你需要查询元宝数量的时候,调用我提供的api,到我这里来查询就好了。

那我要问了, 那玩家用元宝购买游戏中的道具时,怎么办呢? 我需要扣除对应的元宝啊。 应用宝又说了,嘿,我已经替你想好了,所以我提供了一个扣款的api,当玩家购买道具(消费)的时候,直接调用扣款的api来扣除对应的元宝数量就好了。

这样的处理方式,需要我们将sdk接入和游戏逻辑过度耦合在一起,而且接入过程过于复杂,游戏中消费的地方,可能都需要去调用扣款的api以及查询同步余额。

之前msdk的时候,我们采用了单独的策略,就是“玩家充值完成,立即扣款全部”,从而将充值和消费的过程合二为一。但是,这样有一个意外情况,就是丢单的处理方式。 因为丢单的存在,导致,我们也无法根据订单号来区分玩家当前余额中对应的是哪个订单。具体可以看我们之前写的msdk接入的备忘录

所以,之前msdk,u8server是为应用宝单独处理,同时提供单独的数据库表。不需要下单的过程,在玩家支付成功之后,立即通知u8server查询余额并扣款,同时,玩家登陆的时候,。查询到的余额,其实就是玩家游戏中的元宝,然后通知游戏服务器,游戏服务器单独提供一个处理应用宝的接口,当收到这个的时候,直接给玩家身上增加对应的元宝。

但是,这种流程,导致游戏服务器需要提供两个回调地址来处理支付逻辑。一个是普通渠道的,一个是应用宝的,增加了游戏服务器的工作量,而且更多时候,是困惑了渠道sdk的接入者和服务器端的同学。

现在,应用宝推出了全新的ysdk,但是ysdk中支付接入的依然是米大师,之前msdk中支付也是米大师。所以,支付接入方式本质上还是一样的。

老的流程,我们在u8server对ysdk做了兼容,之前msdk的用户,切换到ysdk之后,老的流程依然是通用的。

现在,我们提供了一个新的支付流程,新的支付流程,我们依然采用订单的方式,u8server处理完成之后,依然是通过和其他渠道sdk一样的方式通知游戏服务器,也就是游戏服务器不需要再为应用宝提供一个单独的处理接口。

同时,新的支付流程上,我们也稍微调整了下。 之前的流程是, 玩家登陆的时候,查询余额并扣款,作为补单的方式。然后支付完成之后,里面查询余额并扣款。现在,我们新的流程是这样:

支付之前,先查询余额,如果余额充足,就使用余额支付(这些余额就是之前可能丢单的),如果余额不足,就调出支付界面进行支付。支付完成的时候,直接调用扣款接口,进行扣款,扣款完成,和其他渠道sdk一样,通知游戏服务器发放游戏币

现在新的支付处理类,已经上传到u8server了,需要的用户,请同步最新的u8server的代码。对应的处理类是com.u8.server.web.ysdknewpayaction

总结

以上是凯发k8官方网为你收集整理的php 应用宝支付,u8sdk——应用宝ysdk新的支付流程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图