function bena_disable_payment( $available_payment_gateways ) {
//Check whether the available payment gateways have the Cash on delivery option and if the user is not logged in or has the role customer
$user = wp_get_current_user();
$allowed_roles = array('customer');
if ( isset($available_payment_gateways['cod']) && (array_intersect($allowed_roles, $user->roles ) || !is_user_logged_in()) ) {
//Remove the cash on delivery payment gateway
unset($available_payment_gateways['cod']);
}
return $available_payment_gateways;
}
add_filter('woocommerce_available_payment_gateways', 'bena_disable_payment', 90, 1);