客户在银行完成3DS,返回后购物车为空或Session过期。先确认流程是跨站GET、POST还是iframe回传。
排查路径
- 记录3DS前后quote_id、支付attempt_id以及返回请求是否带Cookie,不记录卡数据。
- 跨站POST时检查SameSite、Secure、HTTPS和Cookie域;Lax策略可能不携带原Session。
落地修复
- state参数需签名并绑定Quote/attempt,不能只依赖Session;返回后先查询网关状态再恢复订单。
- 订单已创建时跳成功页;重复返回和刷新必须幂等,不能再次capture。
php bin/magento config:show web/cookie/cookie_domain
php bin/magento config:show web/cookie/cookie_path
# Network检查Set-Cookie的SameSite与Secure完成标准
成功、失败、取消、超时和重复返回均能定位原Quote/Order,只发生一次支付,伪造state被拒绝。

