Php WooCommerce:在购物车页面上预先设置默认付款方式
我试图限制折扣或优惠券,如果客户选择特定的付款方式。为此,我使用了一个名为的插件 我有3种付款方式:支票、信用卡和贝宝。我设置了一张优惠券,如果选择了付款方式“PayPal”,则可以限制订单上的折扣 然而,在购物车页面,当我向订单添加优惠券时,我得到了当前错误 优惠券对于当前选择的付款方式无效 我原以为WooCommerce的默认付款方式是按顺序排列的第一种付款方式,但它给了我这个错误。有一些方法可以通过编程取消应用默认的付款方式,但我还没有看到在购物车页面(在结帐页面之前)上应用默认付款方式的方法 我尝试了以下方法:Php WooCommerce:在购物车页面上预先设置默认付款方式,php,wordpress,woocommerce,coupon,payment-method,Php,Wordpress,Woocommerce,Coupon,Payment Method,我试图限制折扣或优惠券,如果客户选择特定的付款方式。为此,我使用了一个名为的插件 我有3种付款方式:支票、信用卡和贝宝。我设置了一张优惠券,如果选择了付款方式“PayPal”,则可以限制订单上的折扣 然而,在购物车页面,当我向订单添加优惠券时,我得到了当前错误 优惠券对于当前选择的付款方式无效 我原以为WooCommerce的默认付款方式是按顺序排列的第一种付款方式,但它给了我这个错误。有一些方法可以通过编程取消应用默认的付款方式,但我还没有看到在购物车页面(在结帐页面之前)上应用默认付款方式的
$available_gateways = $woocommerce->payment_gateways->get_available_payment_gateways();
$available_gateways['cheque']->chosen = true;
但这只适用于结帐页面
有什么想法吗?我也遇到了同样的问题,我这样解决了: 在woocommerce自动添加优惠券/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');}
我也有同样的问题,我这样解决: 在woocommerce自动添加优惠券/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');}
这不是很清楚…如果我理解,您的优惠券只适用于Paypal支付方式,以限制Paypal的所有其他折扣。所以,如果你强制支票为默认值,你得到那个错误是正常的,不是吗?然后,通常在结帐页面选择付款方式,而不是购物车页面。这有点复杂。也许你得换一种方式重新思考……对不起。我的意思是,我的优惠券设置为仅在支票和信用卡支付选项上可用,并在选择PayPal时取消应用。在购物车页面上,似乎没有选择默认付款选项。希望这能把事情弄清楚一点是的,现在已经非常清楚了…谢谢,这还不是很清楚…如果我理解的话,你的优惠券只适用于Paypal支付方式,以限制Paypal的所有其他折扣。所以,如果你强制支票为默认值,你得到那个错误是正常的,不是吗?然后,通常在结帐页面选择付款方式,而不是购物车页面。这有点复杂。也许你得换一种方式重新思考……对不起。我的意思是,我的优惠券设置为仅在支票和信用卡支付选项上可用,并在选择PayPal时取消应用。在购物车页面上,似乎没有选择默认付款选项。希望这能澄清一些事情是的,现在已经非常清楚了…thanksI在阅读了这篇问答之后写了一个插件:我在阅读了这篇问答之后写了一个插件: