根据Woocommerce结帐中的购物车总数更改付款网关选项

时间:2018-08-14 12:15:31

标签: php wordpress woocommerce stripe-payments payment-gateway

对于我的woocommerce商店,我在functions.php中有此过滤器。它使用“ woocommerce Stripe Gateway”插件强制3DS。

add_filter('wc_stripe_require_3ds','__return_true');

效果很好。

我希望此过滤器仅在订单金额超过50欧元时才有效。

我尝试过此操作,但它不起作用,该订单在没有3DS的情况下得到了验证。

    $minsecure = 50;
    $order = new WC_Order( $order_id );
    $total = $order->get_total();

    if($total>$minsecure) { 
          add_filter('wc_stripe_require_3ds','__return_true');
    }

我也尝试获取购物车金额而不是订单金额,但是我不知道从单击“订单”到确认页面之间,要启用哪个过滤器才有效。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我要检查订单价格是否超过50

if( WC()->cart->subtotal > 50 )

因此代码段看起来像

add_action('woocommerce_cart_updated', 'wc_stripe_require_3ds', 90);
function wc_stripe_require_3ds ( $cart ){
    if( WC()->cart->subtotal > 50 ) {
        add_filter('wc_stripe_require_3ds','__return_true');
    }
}

尝试一下。