WooCommerce 多步结帐(Billing/Shipping 地址和付款方式在不同页面上)

WooCommerce Multi-Step Checkout (Billing/Shipping Address and Payment Methods on different pages)

我目前正在根据发货国家/地区为不同的 STRIPE 帐户进行多 STRIPE 结帐。 到目前为止,通过使用 wc_stripe_paramswc_stripe_payment_request_paramswoocommerce_stripe_request_headers 过滤器并为 webhook 重载相应的 类,一切都顺利进行。但是有一个问题。 在结帐页面加载后,付款方式所在的位置,STRIPE 为其 JS 文件呈现 CDATA 值。

当通过 geoip 数据库猜测的初始运输国家是正确的并且客户没有更改运输国家时,一切正常,因为正确的 public 键被插入到 STRIPE 的 JS 中。当客户更改运送国家/地区时,无法操作已处理的 JS 变量。这就是为什么我想拆分结帐流程,以便最后一页仅用于基于之前选择的送货国家/地区的付款选项。

我知道有多个插件可用于多步结帐,但所有插件都使用 ajax 进行平滑渲染,这会导致相同的错误。我了解如何在 WP 或 WC 中自定义不同的流程,但我不知道如何真正解决这个问题,因为结帐页面上的 form 已发布到需要选择付款的 wc_get_checkout_url()完成了 - 看起来没有 ajax 计划的真正的多步骤?

提前感谢您的任何帮助或想法

通过将结帐过程拆分为多种形式并将数据作为一个发布到 woocommerce 结帐控制器来解决问题