【充值】充值前先请求订单号,并通过透传参数传递给后端

dev_chengFeng
gaoxin 2021-08-02 17:02:22 +08:00
parent 4897fc33b2
commit 2df20e2f91
4 changed files with 776 additions and 705 deletions

File diff suppressed because one or more lines are too long

View File

@ -553,6 +553,10 @@ ISCROSSRESPONSE = protobuf.Descriptor();
ISCROSSRESPONSE_ISCROSS_FIELD = protobuf.FieldDescriptor();
ISCROSSINDICATION = protobuf.Descriptor();
ISCROSSINDICATION_ISCROSS_FIELD = protobuf.FieldDescriptor();
CHECKBUYGOODSREQUEST = protobuf.Descriptor();
CHECKBUYGOODSREQUEST_GOODSID_FIELD = protobuf.FieldDescriptor();
CHECKBUYGOODSRESPONSE = protobuf.Descriptor();
CHECKBUYGOODSRESPONSE_ORDERID_FIELD = protobuf.FieldDescriptor();
ERRORMSGRESPONSE_MSG_FIELD.name = "msg"
ERRORMSGRESPONSE_MSG_FIELD.full_name = ".rpc.protocols.ErrorMsgResponse.msg"
@ -5592,6 +5596,40 @@ ISCROSSINDICATION.enum_types = {}
ISCROSSINDICATION.fields = {ISCROSSINDICATION_ISCROSS_FIELD}
ISCROSSINDICATION.is_extendable = false
ISCROSSINDICATION.extensions = {}
CHECKBUYGOODSREQUEST_GOODSID_FIELD.name = "goodsId"
CHECKBUYGOODSREQUEST_GOODSID_FIELD.full_name = ".rpc.protocols.CheckBuyGoodsRequest.goodsId"
CHECKBUYGOODSREQUEST_GOODSID_FIELD.number = 1
CHECKBUYGOODSREQUEST_GOODSID_FIELD.index = 0
CHECKBUYGOODSREQUEST_GOODSID_FIELD.label = 1
CHECKBUYGOODSREQUEST_GOODSID_FIELD.has_default_value = false
CHECKBUYGOODSREQUEST_GOODSID_FIELD.default_value = 0
CHECKBUYGOODSREQUEST_GOODSID_FIELD.type = 5
CHECKBUYGOODSREQUEST_GOODSID_FIELD.cpp_type = 1
CHECKBUYGOODSREQUEST.name = "CheckBuyGoodsRequest"
CHECKBUYGOODSREQUEST.full_name = ".rpc.protocols.CheckBuyGoodsRequest"
CHECKBUYGOODSREQUEST.nested_types = {}
CHECKBUYGOODSREQUEST.enum_types = {}
CHECKBUYGOODSREQUEST.fields = {CHECKBUYGOODSREQUEST_GOODSID_FIELD}
CHECKBUYGOODSREQUEST.is_extendable = false
CHECKBUYGOODSREQUEST.extensions = {}
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.name = "orderId"
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.full_name = ".rpc.protocols.CheckBuyGoodsResponse.orderId"
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.number = 1
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.index = 0
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.label = 1
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.has_default_value = false
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.default_value = ""
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.type = 9
CHECKBUYGOODSRESPONSE_ORDERID_FIELD.cpp_type = 9
CHECKBUYGOODSRESPONSE.name = "CheckBuyGoodsResponse"
CHECKBUYGOODSRESPONSE.full_name = ".rpc.protocols.CheckBuyGoodsResponse"
CHECKBUYGOODSRESPONSE.nested_types = {}
CHECKBUYGOODSRESPONSE.enum_types = {}
CHECKBUYGOODSRESPONSE.fields = {CHECKBUYGOODSRESPONSE_ORDERID_FIELD}
CHECKBUYGOODSRESPONSE.is_extendable = false
CHECKBUYGOODSRESPONSE.extensions = {}
ActiveUserMountRequest = protobuf.Message(ACTIVEUSERMOUNTREQUEST)
ActiveUserMountResponse = protobuf.Message(ACTIVEUSERMOUNTRESPONSE)
@ -5607,6 +5645,8 @@ BloodRank = protobuf.Message(BLOODRANK)
BuyGoodsDropIndication = protobuf.Message(BUYGOODSDROPINDICATION)
BuyStoreItemRequest = protobuf.Message(BUYSTOREITEMREQUEST)
BuyStoreItemResponse = protobuf.Message(BUYSTOREITEMRESPONSE)
CheckBuyGoodsRequest = protobuf.Message(CHECKBUYGOODSREQUEST)
CheckBuyGoodsResponse = protobuf.Message(CHECKBUYGOODSRESPONSE)
CookFoodRequest = protobuf.Message(COOKFOODREQUEST)
CookFoodResponse = protobuf.Message(COOKFOODRESPONSE)
DailyChallengeRequest = protobuf.Message(DAILYCHALLENGEREQUEST)

View File

@ -1750,6 +1750,21 @@ function this.RequestMission(func)
end)
end
-- 请求获取后端orderid
function this.RequestPayOrderId(goodsId, func)
local data = PlayerInfoProto_pb.CheckBuyGoodsRequest()
data.goodsId = goodsId
local msg = data:SerializeToString()
Network:SendMessageWithCallBack(MessageTypeProto_pb.CHECK_BUY_GOODS_REQUEST, MessageTypeProto_pb.CHECK_BUY_GOODS_RESPONSE, msg, function(buffer)
local data = buffer:DataByte()
local msg = PlayerInfoProto_pb.CheckBuyGoodsResponse()
msg:ParseFromString(data)
if func then
func(msg.orderId)
end
end)
end
--成长礼金
function this.RequestBuyGiftGoods(Id, func)
local data = PlayerInfoProto_pb.TestBuyGiftGoodsRequest()

View File

@ -23,7 +23,7 @@ end
this.EventTrigger = {}
function this.onSdkPayResult(id)
LogError("收到sdk支付成功回调商品id = "..id)
LogRed("收到sdk支付成功回调商品id = "..id)
if this.EventTrigger[id] then
this.EventTrigger[id](id)
this.EventTrigger[id] = nil
@ -35,33 +35,39 @@ function this.onSdkPayResult(id)
end
end
-- 这里发过来的是sdk的orderID
function this.RechargeSuccessOrder(msg)
LogError("充值成功orderId = "..tostring(msg.orderId))
LogRed("充值成功orderId = "..tostring(msg.orderId))
-- 订单id特殊传值
CustomEventManager.SendCustomEvent("PayOrderId", tostring(msg.orderId) ,"0")
end
function this.Pay(id, func)
LogRed("发起购买商品的请求商品id = "..id)
if not func then
func = function()end
end
-- if this.EventTrigger[id] then
-- LogError("重复发起购买商品的请求商品id = "..id..", uid = "..PlayerManager.uid)
-- PopupTipPanel.ShowTip("您有一个相同的订单正在处理,请稍后再试")
-- return
-- end
this.EventTrigger[id] = func
LogError("发起购买商品的请求商品id = "..id)
CheckRedPointStatus(RedPointType.GrowthPackage)--成长礼包的红点检测
--直购商品
local rechargeConfig = ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig, id)
if AppConst.isSDKLogin and rechargeConfig.Price > 0 then
PayManager.SdkPay({ Id = id })
else
NetManager.RequestBuyGiftGoods(id, function(msg)
this.onSdkPayResult(id)
end)
end
-- 请求游戏服务器的orderId
NetManager.RequestPayOrderId(id, function(orderId)
-- if this.EventTrigger[id] then
-- LogError("重复发起购买商品的请求商品id = "..id..", uid = "..PlayerManager.uid)
-- PopupTipPanel.ShowTip("您有一个相同的订单正在处理,请稍后再试")
-- return
-- end
LogRed("发起购买商品的请求订单id = "..orderId)
this.EventTrigger[id] = func
CheckRedPointStatus(RedPointType.GrowthPackage)--成长礼包的红点检测
--直购商品
local rechargeConfig = ConfigManager.GetConfigData(ConfigName.RechargeCommodityConfig, id)
if AppConst.isSDKLogin and rechargeConfig.Price > 0 then
PayManager.SdkPay({ Id = id, orderId = orderId })
else
NetManager.RequestBuyGiftGoods(id, function(msg)
this.onSdkPayResult(id)
end)
end
end)
end
@ -119,14 +125,14 @@ function this.RequestPay(context)
params.serverID = PlayerManager.serverInfo.server_id
params.serverName = PlayerManager.serverInfo.name
-- 角色相关
params.roleID = tostring(PlayerManager.uid).."_"..tostring(context.Id).."_"..PackageManager.GetCCCode().."_"..AppConst.Platform
params.roleID = tostring(PlayerManager.uid).."_"..tostring(context.Id).."_"..PackageManager.GetCCCode().."_"..AppConst.Platform--.."_"..tostring(context.orderId or "0").."_"..tostring(LoginManager.ServerId)
params.roleName = PlayerManager.nickName
params.roleLevel = PlayerManager.level
params.vip = tostring(VipManager.GetVipLevel())
params.guildID = PlayerManager.familyId
-- 其他
params.payNotifyUrl = ""
params.extension = tostring(PlayerManager.uid).."_"..tostring(context.Id).."_"..PackageManager.GetCCCode().."_"..AppConst.Platform
params.extension = tostring(PlayerManager.uid).."_"..tostring(context.Id).."_"..PackageManager.GetCCCode().."_"..AppConst.Platform--.."_"..tostring(context.orderId or "0").."_"..tostring(LoginManager.ServerId)
SDKMgr:Pay(params)
--