DEV Community

BIJAY KUMAR NAYAK
BIJAY KUMAR NAYAK

Posted on

How to Disable Coupons for COD Orders in WooCommerce

Coupon codes are a popular way to incentivize customers to make purchases on e-commerce platforms. However, for businesses that offer cash on delivery (COD) as a payment option, coupons can be a double-edged sword. While they can attract customers and boost sales, they can also lead to revenue loss and increased risk of fraud. That's why it's important to disable coupon codes for COD orders in WooCommerce.

The good news is that disabling coupons for COD orders in WooCommerce is easy. You can do it by adding a simple code snippet to your functions.php file.

add_filter( 'woocommerce_coupon_is_valid', 'disable_coupon_for_cod_orders', 10, 2 );

function disable_coupon_for_cod_orders( $is_valid, $coupon ) {
    // Check if COD is selected
    if ( isset( $_POST['payment_method'] ) && $_POST['payment_method'] == 'cod' ) {
        $is_valid = false;
        wc_add_notice( __( 'Sorry, you cannot use a coupon for COD orders.' ), 'error' );
    }
    return $is_valid;
}

Enter fullscreen mode Exit fullscreen mode

This code snippet will check if the customer has selected COD as the payment option, and if so, it will disable the coupon codes for that order. This way, you can ensure that your business is protected from coupon code abuse, while still offering your customers the convenience of COD

Disabling coupons for COD orders is an effective way to prevent revenue loss and reduce the risk of fraudulent activities. It also ensures that your business can continue to offer COD as a payment option without incurring any additional costs or risks.

In addition to disabling coupons for COD orders, you can also consider implementing other fraud prevention measures, such as address verification and fraud detection tools. These measures can help you further reduce the risk of fraudulent activities and protect your business from revenue loss.

Top comments (0)