果子 发表于 2019-1-24 14:40:26

实现剑侠内充跳转的几种方法

第一种
在解包的客户端文件内ScriptRecharge找到Recharge.lua文件找到以下方法


function Recharge:RequestBuyDaysCard(buy_dia_channel, buy_dia_id, nGroupIndex) --日卡
function Recharge:RequestBuyGold(tbBuyInfo) --元宝
function Recharge:RequestBuyDressMoney() --黎饰
如下
function RechargeRequestBuyGold(tbBuyInfo)
if SdkIsXgSdk() then
    RemoteServer.RequestRecharge(tbBuyInfo.ProductId)
else
    SdkPay(tbBuyInfo.nMoneyRecharge.RATE, tbBuyInfo.ProductId, {
      buy_dia_channel = Recharge.PAGE_ID_SHOP,
      buy_dia_id = Recharge.CLICK_ID_GOLD_FROM + tbBuyInfo.nGroupIndex,
      buy_quantity = tbBuyInfo.nMoneyRecharge.RATE
    })
end
end
例子


function RechargeRequestBuyGold(tbBuyInfo)
      SdkOpenUrl(目标地址) --修改为你想让他们跳转的连接
end
第二种
第二种方法需要一点语言功底,可以进行传参接收,意思就是当点击按钮之后,将带参数出去,然后你后端接收读取让这些内容显示在页面之上.


例子


function RechargeRequestBuyGold(tbBuyInfo)
      Sdk:OpenUrl("http://xxxxxxx/cz.htm?id="..tostring(me.dwID).."&Money="..tostring(tbBuyInfo.nMoney))--内冲传递ID参数和Money
end
第三种
当然第三种也可以作为传参的方式,具体方法可以根据第二种方法去写.
\Server\ServerScript\Recharge\RechargeXG.lua找到


--请求充值对应rmb
function Recharge:RequestRecharge(pPlayer, szProductId)
      if not self:CanBuyProduct(pPlayer, szProductId) then
                return
      end
      self:DoRequest(pPlayer, szProductId)
end
例子


function Recharge:RequestRecharge(pPlayer, szProductId)
      local Url ="目标网址"; --你要跳转的连接
      pPlayer.CallClientScript("Sdk:OpenUrlByOutsideWeb",Url)
end
最后
充值方式有非常的多,如果想简单的用就直接用别人写好的或者直接一个跳转连接这种不带传参的就行,在或者你本身有编程底子你可以根据以上几种方法自己写出属于自己的一套支付系统,包括后端接收,前端玩家付款后后端发送通知进行发货什么的

页: [1]
查看完整版本: 实现剑侠内充跳转的几种方法