1

如果客户选择特定的付款方式,我会尝试限制折扣或优惠券。为此,我使用了一个名为WooCommerce Extended Coupon Features的插件。

我有 3 种有效的付款方式:支票、信用卡和 PayPal,按相应顺序排列。如果选择付款方式“PayPal”,我会设置优惠券以限制对订单应用的折扣。

但是,当我在我的订单中添加优惠券时,在购物车页面上,我收到了当前错误。

优惠券不适用于当前选择的付款方式。

我认为 WooCommerce 的默认付款方式是按顺序排列的第一个付款方式,但它给了我这个错误。有一些方法可以以编程方式取消应用默认付款方式,但我还没有看到在结帐页面之前的购物车页面上应用它的方法。

我尝试了以下方法:

  $available_gateways = $woocommerce->payment_gateways->get_available_payment_gateways();

  $available_gateways['cheque']->chosen = true;

但这仅适用于结帐页面。

有任何想法吗?

4

1 回答 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');}
于 2018-06-21T20:25:33.290 回答