WooCommerce 购物车金额为 0 时,如何免支付直接下单?

在 WooCommerce 搭建的某些系统中,订单的金额有时候会为 0,比如免费赠送的商品、免费领取小样、使用优惠券后购物车总金额为 0 等等情况。WooCommerce 默认还是需要支付一下,生成订单,以便后续处理。

当购物车金额为 0 时,如果默认选择了线上支付网关,这些支付网关一般都会因为支付金额为 0 而报错,导致支付失败。其实金额为 0 时,WooCommerce 是可以免支付直接下单的。

WooCommerce 免支付直接下单的代码

在下面的代码中,我们用 woocommerce_cart_needs_payment 这个 Filter,过滤 $need_payment 参数,当订单金额为 0 时,设置该参数为 0, 这样购物车中的支付按钮就会变成下单按钮,点击这个下单按钮,就可以免支付直接下单了。

add_filter( 'woocommerce_cart_needs_payment', function($need_payment, $cart){
    if($cart->get_total('edit') == 0){
        $need_payment = false;
    }
 
    return $need_payment;
}, 10,2);

除了购物车为 0 时,免支付下单,在一些预定系统,询价系统中,也是需要免支付直接下单的,我们参考上面的代码,修改 $need_payment 参数为 false 即可,具体实现代码跟据实际情况调整即可。

去看你博客原创文章,作者:去看你博客,如若转载,请注明出处:https://www.7kanni.cn/3281.html

(0)
去看你博客的头像去看你博客管理组
上一篇 2024-09-30 下午5:59
下一篇 2024-10-01 上午8:00

相关推荐

发表回复

登录后才能评论