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

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(); ISCROSSRESPONSE_ISCROSS_FIELD = protobuf.FieldDescriptor();
ISCROSSINDICATION = protobuf.Descriptor(); ISCROSSINDICATION = protobuf.Descriptor();
ISCROSSINDICATION_ISCROSS_FIELD = protobuf.FieldDescriptor(); 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.name = "msg"
ERRORMSGRESPONSE_MSG_FIELD.full_name = ".rpc.protocols.ErrorMsgResponse.msg" ERRORMSGRESPONSE_MSG_FIELD.full_name = ".rpc.protocols.ErrorMsgResponse.msg"
@ -5592,6 +5596,40 @@ ISCROSSINDICATION.enum_types = {}
ISCROSSINDICATION.fields = {ISCROSSINDICATION_ISCROSS_FIELD} ISCROSSINDICATION.fields = {ISCROSSINDICATION_ISCROSS_FIELD}
ISCROSSINDICATION.is_extendable = false ISCROSSINDICATION.is_extendable = false
ISCROSSINDICATION.extensions = {} 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) ActiveUserMountRequest = protobuf.Message(ACTIVEUSERMOUNTREQUEST)
ActiveUserMountResponse = protobuf.Message(ACTIVEUSERMOUNTRESPONSE) ActiveUserMountResponse = protobuf.Message(ACTIVEUSERMOUNTRESPONSE)
@ -5607,6 +5645,8 @@ BloodRank = protobuf.Message(BLOODRANK)
BuyGoodsDropIndication = protobuf.Message(BUYGOODSDROPINDICATION) BuyGoodsDropIndication = protobuf.Message(BUYGOODSDROPINDICATION)
BuyStoreItemRequest = protobuf.Message(BUYSTOREITEMREQUEST) BuyStoreItemRequest = protobuf.Message(BUYSTOREITEMREQUEST)
BuyStoreItemResponse = protobuf.Message(BUYSTOREITEMRESPONSE) BuyStoreItemResponse = protobuf.Message(BUYSTOREITEMRESPONSE)
CheckBuyGoodsRequest = protobuf.Message(CHECKBUYGOODSREQUEST)
CheckBuyGoodsResponse = protobuf.Message(CHECKBUYGOODSRESPONSE)
CookFoodRequest = protobuf.Message(COOKFOODREQUEST) CookFoodRequest = protobuf.Message(COOKFOODREQUEST)
CookFoodResponse = protobuf.Message(COOKFOODRESPONSE) CookFoodResponse = protobuf.Message(COOKFOODRESPONSE)
DailyChallengeRequest = protobuf.Message(DAILYCHALLENGEREQUEST) DailyChallengeRequest = protobuf.Message(DAILYCHALLENGEREQUEST)

View File

@ -1750,6 +1750,21 @@ function this.RequestMission(func)
end) end)
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) function this.RequestBuyGiftGoods(Id, func)
local data = PlayerInfoProto_pb.TestBuyGiftGoodsRequest() local data = PlayerInfoProto_pb.TestBuyGiftGoodsRequest()

View File

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