V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KongLiu
V2EX  ›  问与答

鹰角的 Paypal 支付 Bug 可能是什么原因

  •  
  •   KongLiu · 2 天前 · 2025 次点击

    看 Reddit 好像是会随机从绑定 Paypal 无密支付的用户中抽取一个幸运儿买单。盲猜一波,高并发下的缓存读写错误?

    27 条回复    2026-01-24 22:57:44 +08:00
    YIsion
        1
    YIsion  
       2 天前
    看他们做支付系统用的 Golang,有没有可能是因为精度丢失导致用来扣款的免密支付凭证信息查错了,没写过 Go,不知道有没有这个可能
    pakro888
        2
    pakro888  
       2 天前
    @YIsion #1 精度丢失应该失败的概率更高而不是命中别的幸运儿。我猜测更可能还是高并发下的脏读
    MFWT
        3
    MFWT  
       2 天前
    主要是这个 bug 有些难绷,下订单或者绑定免密支付不应该和 UID 之类的挂钩,对上了才能发扣款请求嘛
    yyzh
        4
    yyzh  
       2 天前 via Android
    ╮(╯_╰)╭
    还有复制两个文件就能轻松实现盗号的恶性 bug 呢。不过相比起这个那还是小巫见大巫了
    werls
        5
    werls  
       2 天前
    一定是米哈游干的!
    levelworm
        6
    levelworm  
       2 天前
    没有前员工来说一说嘛?哈哈。。。
    likooo125802023
        7
    likooo125802023  
       2 天前
    哈哈哈,一群小年轻。
    但凡上了年纪的架构/程序都搞不出来这种活

    我们以前公司对支付那块的代码,简直跟军用代码一样严格,小的需求走个流程都得一个月(其实只要改 10 行不到的代码)

    现在这种全靠年轻人加班+无流程开发的后果,吃下吧
    stonerAAA
        8
    stonerAAA  
       2 天前
    晚上玩完躺在床上刷攻略,看到这个消息人傻了,看有老哥发帖说自己因此进入斩杀线,不知真假……
    stone9527
        9
    stone9527  
       2 天前
    一注册就永封,干废 3 号,伤不起
    bruce0
        10
    bruce0  
       2 天前
    前段时间投简历,直接挂简历了,反馈是不符合要求,好家伙,符合要求的也能搞出这么大篓子是吧(没有任何嘲讽和不尊重的意思)

    见过登录串号的,第一次见充值串号的
    katsusan
        11
    katsusan  
       2 天前 via iPhone   ❤️ 1
    @yyzh #4 这个 redis 线程池不耦合不等性是什么术语,是我 out 了吗😢
    ryan961
        12
    ryan961  
       2 天前

    yyzh
        13
    yyzh  
       2 天前 via Android   ❤️ 1
    @katsusan 我也不清楚😔在这里看到的
    https://b23.tv/D49HHKa
    sunny352787
        14
    sunny352787  
       2 天前
    @YIsion 用啥语言也不可能因为精度问题出这种 bug 啊,再说啥语言能用浮点数处理支付凭证?游戏支付的各种信息都是字符串传来传去,我这边就是用 golang 写的所有后端服务,鹰角就是一帮 SB 在那瞎 jb 写。说实话这种 bug 你让我写我都写不出来,查个数据库还能搞出幸运大抽奖,难不成是丢消息队列里然后强依赖消息队列的顺序?
    uxstone
        15
    uxstone  
       2 天前
    鹰角的代码是外包仔写的吧?
    likooo125802023
        16
    likooo125802023  
       2 天前
    @uxstone vibing code ,主打一个能跑就行
    sunny352787
        17
    sunny352787  
       2 天前   ❤️ 1
    我和朋友讨论之后觉得这玩意可能是 AI 写的,还是比较早期的 sonnet3.5 这种级别的 AI 写的,AI 的目标就是让任务能成功完成,所以会做各种兼容代码,这次会不会是 AI 写的流程里,扣款失败然后就去找别的扣款方式?反正能扣款的渠道挨个走一遍也不管是谁的账户
    uxstone
        18
    uxstone  
       2 天前
    @sunny352787 如果真这样,测试人员像极了熟睡的丈夫。
    unused
        19
    unused  
       2 天前   ❤️ 1
    @katsusan 你 out 了,这是 AI 复盘
    bruce0
        20
    bruce0  
       2 天前
    @uxstone #18 不光是测试问题,这是基本的开发流程都有问题了,连基本的代码 review 都没有吗,鹰角也算是上海的头部游戏公司了,总不至于这点流程都没有吧,连小作坊公司都不如吗
    lanxisama
        21
    lanxisama  
       2 天前
    感觉 yj 的程序员好像用不明白消息队列
    KongLiu
        22
    KongLiu  
    OP
       2 天前
    @uxstone 最离谱的是只在国内做了付费测试,国外都没付费测试
    JYii
        23
    JYii  
       2 天前
    @likooo125802023 #7 确实,入行以来,自身代码最严谨的一段时间就是接手了公司支付服务,状态机与事件状态严格流转,如何与其他平台保持数据一致,加锁,兜底方案等等。手上其他业务感觉写起来就很随意,有 bug 都不急。
    MoozLee
        24
    MoozLee  
       2 天前
    队列和缓存爆了吧,然后支付的时候设备信息 uid 这些的作用域不对,然后就把错误的用户信息和支付信息发给 paypal 了。
    EeveeRibbon
        25
    EeveeRibbon  
       2 天前
    @bruce0 #20 国外根本就没付费测试就放出来了
    bruce0
        26
    bruce0  
       1 天前
    @KongLiu
    @EeveeRibbon

    卧槽,他们是真敢,游戏本体不测,能理解,内容全一样的,国外和国内,明显支付和运维这些周边系统,和国内的是两套系统,尤其是涉及到钱的支付,一定要测试的吧.而且写的时候就应该考虑一些异常情况,比如支付出错了的一些容错方案,比如我们现在的方案是,出错了,宁可不给玩家发东西,或者少给了东西,也一定不能多给.少了东西可以补发,多给了就是灾难.
    EndlessMemory
        27
    EndlessMemory  
       14 小时 35 分钟前
    看了之后是真想笑
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2595 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 05:33 · PVG 13:33 · LAX 21:33 · JFK 00:33
    ♥ Do have faith in what you're doing.