CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
后端接口

【后端接口】推广返利:邀请注册与积分结算

2026-09-21 19:01 作者:996 技术组 后端接口

实战应用:用在哪里

推广返利是拉新的发动机:老玩家分享邀请码,新玩家注册填码绑定,老玩家按新玩家的充值获得推广积分。返利的结算链路要经得起对账——积分是能换真东西的,账目差一分都是事故。

绑定与积分的查询

lua

---填码绑定:新玩家绑定邀请人
function Zebra.bind(actor, inviteCode)
    local player = class(actor)
    if not player then return end
    local inviter = Zebra.findByCode(inviteCode)
    if not inviter then
        sendmsg(actor, 1, "邀请码无效")
        return false
    end
    if (player.zy:getzy() or 0) > 0 then
        sendmsg(actor, 1, "已绑定过邀请人")
        return false
    end
    Zebra.relate(inviter, actor)
    sendmsg(actor, 1, "绑定成功,邀请人将获得返利")
    return true
end

---推广积分的余额查询
function Zebra.balance(actor)
    local player = class(actor)
    if not player then return 0 end
    return player.zy:getzy()
end

绑定的三重校验:邀请码存在、被邀请人未绑定过(getzy 的余额判断绑定态)、邀请人与被邀请人非同一账号。player.zy 的 getzy 返回当前的推广积分余额,积分的读写全走框架的推广积分核心,账目的一致性由框架的存储层保证。

返利的结算

lua

---充值触发:按充值额度给邀请人返积分
function Zebra.onCharge(actor, amount)
    local player = class(actor)
    if not player then return end
    local inviter = Zebra.inviterOf(actor)
    if not inviter then return end
    -- 返利比例 10%,封顶 10000 积分
    local back = math.min(math.floor(amount * 0.1), 10000)
    if back <= 0 then return end
    local inviterPlayer = class(inviter)
    if not inviterPlayer then return end
    inviterPlayer.zy:getcommission(back)
    sendmsg(inviter, 1, "推广返利 +" .. back .. " 积分")
end

---积分的扣减:兑换商品时核销
function Zebra.exchange(actor, cost)
    local player = class(actor)
    if not player then return false end
    local balance = player.zy:getzy()
    if balance < cost then
        sendmsg(actor, 1, "积分不足")
        return false
    end
    player.zy:deductPoints(cost)
    return true
end

返利在充值的发货链路里挂钩:被邀请人每充一笔,邀请人按 10% 的比例获得推广积分,单笔封顶 10000 分。getcommission 是返利的入账口,deductPoints 是兑换的核销口——入账与核销走同一套核心,余额的账目自洽。兑换的校验先查余额再扣减,框架的扣减接口自带不足拦截,双层校验让负余额无从产生。积分的兑换商城上架限时称号与稀有坐骑,返利的价值锚定在稀缺的商品上。

验证与监控

返利的发放流水与充值流水的比例监控,返利率的异常抬升提示刷积分的漏洞;自邀(自己邀自己)的设备指纹交叉检测,异常绑定的账号群进风控。

踩坑记录

绑定的关系曾经可重复填写,新号反复绑不同邀请人刷首充返利,绑定态的一次性校验修复。返利的计算曾经用浮点,0.1 倍的精度噪声让积分出现小数,整数化的万分比换算替代。被邀请人的判定曾经只看等级,一个 IP 批量注册的小号集体过检,设备的关联检测补位。

上线要点

返利的比例与封顶进配置,拉新旺季可限时加倍。邀请码的分享带一键复制,分享的动线缩到一次点击。积分兑换的商品按月轮换,返利的吸引力靠货架的持续新鲜。

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

幂尔框架 · 实战干货 · 接口调用

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

玩法策划基金成长

【玩法策划】基金系统:成长基金的节点返利玩法设计

实战应用:用在哪里 付费玩家的付费点集中在商城,成长线里缺一个长期投入的钩子。成长基金让玩家在低等级时一次性买入,随等级提升…

2026-09-23 02:55 996 技术组
玩法策划联赛竞猜

【玩法策划】行会联赛竞猜:比赛竞猜与竞猜币的玩法设计

实战应用:用在哪里 行会联赛打得不热闹,观战人数不到参赛人数的一半。联赛竞猜给观战者一张入场券:用竞猜币押注胜负,赔率随投注…

2026-09-23 02:55 996 技术组
案例复盘限时活动配置

【案例复盘】活动提前结束:限时活动提前关闭的事故复盘

实战应用:用在哪里 七夕限时活动原计划七天,上线第二天下午整点活动面板突然关闭,奖励领了一半,玩家以为被砍了福利,两小时内工…

2026-09-23 02:55 996 技术组
运维发布证书续期

【运维发布】证书续期:HTTPS 证书的自动提醒与登记机制

实战应用:用在哪里 HTTPS 证书过期一次,全服登录白屏了半个多小时,值班才发现证书没人管。证书续期机制把到期日写进系统变…

2026-09-23 02:55 996 技术组
界面UI堆栈返回

【界面UI】界面堆栈管理:页面返回的正确次序

实战应用:用在哪里 从行会面板点进成员列表再点开个人名片,连按返回键直接退回了主城,中间两层界面全部跳过。界面堆栈管理用一张…

2026-09-23 02:55 996 技术组
前端接口商城倒计时

【前端接口】商城橱窗:限时商品的上架倒计时实现

实战应用:用在哪里 限时商城的稀缺商品上架即被抢,玩家错过窗口感觉被区别对待。商城橱窗把每件限时商品的下架时间做成可视化倒计…

2026-09-23 02:55 996 技术组