预授权冻结成功,扣款失败——这笔钱怎么办 打车结束,平台发起扣款,失败了(卡片过期、账户余额不足、银行侧超时)。但预授权冻结已经成功——用户卡里的这笔钱被冻着,既没被扣走,也还给不了用户。 这是预授权支付特有的问题。 --- 什么是预授权
定时任务取消订单,和用户付款撞了——你以为不会发生 订单超时未支付,定时任务把它取消了。但几乎同一时刻,用户点了"立即支付",付款成功了。 结果:钱扣了,订单是"已取消"状态,商家没有收到履约通知。 这个场景不是极端 case,只要有定时任
积分 + 现金混合支付,退款的时候怎么拆 用 200 积分 + 30 元现金买了一件 50 元的商品(积分按 1:0.1 换算,200 积分 = 20 元)。 退款的时候,退多少积分、退多少现金?这个问题没有唯一答案,但要提前设计好,不然退
并发提现,余额扣成了负数——这个坑不只出现在钱包 账户余额 100 元,两个提现请求同时进来,每个要提 80 元。 理论上只应该有一个成功,另一个因余额不足被拒。结果两个都通过了,余额变成了 -60。 --- 读-判-写三步不是原子的 最常
分账——多商户结算,一个失败了,已经出去的钱怎么办 你以为分账很简单:平台收了 1000 元,商户 A 分 600,商户 B 分 300,平台留 100 手续费,各自转账就行。 但第三家商户的账户被冻结,分账接口调用失败了——A 的 600
接到对账需求,先搞清楚"差"在哪里 内部系统显示今天收了 100 笔款、共 8762 元。支付宝账单一下载,99 笔,8682 元。 差一笔、差 80 元——钱去哪儿了?对账要解决的就是这件事,而且不只是找出差异,还要处理它。 --- 为什
钱退了,订单还是"退款中"——退款为什么不能只靠回调 退款这件事,用户侧和系统侧经常不同步。 用户银行卡已到账,订单系统还显示"退款处理中";客服接到投诉,开发去查,发现退款早就成功了——支付宝的回调发出来了,但没有送达。 --- 退款是异
用户点了两次付款,扣了两次——支付幂等比你想的复杂 支付幂等和抽奖幂等听起来是同一个问题,但支付场景有三方:用户、平台、支付渠道(微信支付/支付宝)。 用户侧重复点击,只是问题之一。更难处理的是:平台调了支付渠道扣款,结果不确定(成功/失败
接到大转盘需求,先想清楚奖品怎么"发完就没了" 大转盘、刮刮乐这类活动,需求描述通常是:iPhone 概率 1%,优惠券概率 99%。 看起来很简单,配个概率表就行。但发上线才发现:iPhone 只备了 10 台,活动跑了一天,发出去 47
砍价砍到负数,这个坑比想象中更常见 有人用砍价活动拿到了一件"负 12 元"的商品。 商品定价 100 元,好友帮砍一刀,砍完多少算多少,砍到 0 就免费拿走——这个活动没有任何复杂逻辑,出事的地方在代码里,不在规则里。 --- 哪里出了问

