对于我的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');
}
我也尝试获取购物车金额而不是订单金额,但是我不知道从单击“订单”到确认页面之间,要启用哪个过滤器才有效。
感谢您的帮助。
答案 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');
}
}
尝试一下。