由服务端形成最终应付金额
商品、数量、优惠和必要费用在服务端计算,前端展示结果,不以浏览器提交的总价为最终依据。订单保存价格版本和计算明细,后续查询仍能解释顾客当时为何支付该金额。
金额变化需要重新确认
库存、数量或优惠变化导致应付金额调整时,返回清楚提示并展示新结果,再发起付款。不要让页面写一个价格,接口创建另一个金额。已产生支付尝试的订单要先核对原结果,避免旧价与新价同时付款。
结果通知再核对一次金额
验签后确认返回金额与原支付尝试一致,再执行履约。日志保留必要计算依据,但不暴露敏感凭据。验收时测试优惠过期、重复点击和刷新页面,保证金额一致性覆盖正常与边界操作。
测试价格发生变化的场景
让用户在优惠有效时打开订单页,优惠过期后再点击付款。服务端重新确认金额,若金额改变,应让用户确认后继续,不能沿用旧展示却提交新金额。创建结果、通知核验与售后查询使用同一支付尝试的金额,保留商品价格版本作为依据。

