首页 文章

WooCommerce:预先设置购物车页面上的默认付款方式

提问于
浏览
1

如果客户选择特定的付款方式,我会尝试限制折扣或优惠券 . 为此,我使用了一个名为 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页面 .

有任何想法吗?

1 回答

  • 0

    我有同样的问题,我解决了这个问题:

    在woocommerce-auto-added-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');}
    

相关问题