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

时间:2016-06-27 22:31:51

标签: php wordpress woocommerce coupon payment-method

如果客户选择特定的付款方式,我会尝试限制折扣或优惠券。为此,我使用了一个名为 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 :(得分: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');}