如果客户选择特定的付款方式,我会尝试限制折扣或优惠券。为此,我使用了一个名为 WooCommerce Extended Coupon Features 的插件。
我有3种有效的付款方式:支票,信用卡和PayPal按各自的顺序排列。如果选择了付款方式“PayPal”,我会设置优惠券以限制在订单上应用的折扣。
但是,当我在订单中添加优惠券时,在购物车页面上,我收到了当前错误。
优惠券对当前选择的付款方式无效。
我认为WooCommerce的默认付款方式是按顺序排列的第一个,但它给了我这个错误。有一些方法可以以编程方式取消应用默认付款方式,但我还没有看到在Checkout页面之前的Cart页面上应用它的方法。
我尝试了以下内容:
$available_gateways = $woocommerce->payment_gateways->get_available_payment_gateways();
$available_gateways['cheque']->chosen = true;
但这仅适用于Checkout页面。
有什么想法吗?
答案 0 :(得分:0)
我遇到了同样的问题,并通过以下方式解决了
在woocommerce-auto-add-coupons / includes / WJECF_Controller.php中的查找此行:
//============================
//Test restricted payment methods
并在以下位置添加此代码:
if (!isset( WC()->session->chosen_payment_method ) || WC()->session->chosen_payment_method == '' || !is_checkout()) {WC()->session->set('chosen_payment_method', 'paypal');}