361 361Sale WordPress Care by Openbyt · WordPress 修复与运维
修复笔记

WooCommerce 结账页一直转圈,先查缓存还是支付插件?

WooCommerce 结账卡住不一定是支付插件坏了,常见原因包括结账块兼容、缓存排除、支付回调、安全拦截和邮件/订单钩子超时。

高风险

只要涉及真实付款、订单状态、支付回调或客户数据,就建议工程师介入。结账链路修复要保留证据,避免为了恢复按钮而破坏订单数据。

常见现象

  1. 点击下单后按钮一直转圈
  2. 支付成功但订单没有更新
  3. 只有部分支付方式失败
  4. 移动端或特定地区更容易失败

可能原因

  1. cart、checkout、my-account 或 webhook 路径被页面缓存/CDN 缓存
  2. Checkout Block 与支付插件或主题片段不兼容
  3. 支付网关回调被安全插件、WAF 或 Cloudflare 规则拦截
  4. 订单创建后的邮件、库存、发票或会员插件钩子执行超时

不要先做

  1. 不要在真实订单上连续测试付款
  2. 不要先删除支付插件配置或清空订单
  3. 不要把结账页加入整站缓存规则
  4. 不要只看前台按钮状态,忽略 WooCommerce 和支付网关日志

安全排查顺序

  1. 记录失败时间、支付方式、订单号和浏览器环境
  2. 检查 WooCommerce 状态、支付网关日志和 webhook 响应
  3. 确认 cart、checkout、my-account、wc-api、wp-json、回调 URL 已从缓存中排除
  4. 切换到测试商品和测试支付方式复现,不碰真实订单
  5. 如使用 Checkout Block,确认支付插件是否声明兼容,必要时用经典结账页对照
  6. 恢复后保留测试订单、缓存规则和处理记录

常见问题

结账页一直转圈是不是支付插件坏了?

不一定。缓存、Checkout Block、税费配送规则、邮件钩子、安全拦截和支付回调都可能导致同样现象。

可以直接换支付插件吗?

不建议第一步就换。先看日志和回调,确认问题层级,否则可能引入新的订单状态问题。