AI Verified

Name

WooCommerce Disable Payment Gateway Based On Shipping Method

About

If you do not have the facility to take payments other than cash for in-person shipping methods like local pickup, you may wish to disable the appropriate payment gateways and force the customer to pay by cash for example. This quick guide shows you how to do exactly that.

Language

PHP

Rating

Voted: 1 by 1 user(s)

How to Setup Snippet

Simply copy the pre-coded solution to your active child theme’s functions.php or preferably the Code Snippets Plugin.

Link for further information:

The author has provided the following URL that may be helpful to setting up or using this snippet:

https://www.ecommercehints.com/woocommerce-disable-payment-gateway-based-on-shipping-method

Codevault

ecommercehints

Scroll down to see more snippets from this codevault.

Wordpress Compatability

The author has indicated that this snippet is compatable up to wordpress version: 6.1

Our AI bot has checked this snippet is compatable up to wordpress version: 6.1

Code Snippet Plugin Sync

Free & Pro

Download this snippet by clicking the download button, then head over to the Code Snippet Plugin settings in your wordpress admin dashboard, select the import menu then upload this file to import into your wordpress site.

Pro Only (Coming Soon)

You will be able to click a button and sync this snippet to your wordpress site automatically and from your dashboard manage all code snippets across all your wordpress sites that have the Code Snippets Pro plugin installed.

Website/ Profile URL:

https://www.ecommercehints.com/

History

Last modified:

06/07/2024

Important Note

This snippet has the following status:

AI Verified

This snippet has been tested by our AI bot, see any comments below.

AI Bot Comments:

Found 0 vulnerabilities

WooCommerce Disable Payment Gateway Based On Shipping Method

 
                    
1/*
2* Snippet Name: Payment gateway dependent shipping methods
3* Snippet Author: ecommercehints.com
4*/
5 
6add_filter('woocommerce_available_payment_gateways', 'ecommercehints_payment_dependent_delivery');
7 
8function ecommercehints_payment_dependent_delivery($gateways) {
9 if(is_admin()) {
10 return $gateways;
11 }
12 
13 if(is_wc_endpoint_url('order-pay')) {
14 $order = wc_get_order(wc_get_order_id_by_order_key($_GET['key']));
15 if($order->has_shipping_method('local_pickup')) {
16 if(isset($gateways['cheque'])) { // Cheque payments will be disabled
17 unset($gateways['cheque']);
18 }
19 }
20 
21 } else {
22 $chosen_shipping_method = WC()->session->get('chosen_shipping_methods')[0];
23 
24 if ('local_pickup:2' === $chosen_shipping_method) { //shipping method radio button value
25 if(isset($gateways['cheque'])) {
26 unset($gateways['cheque']);
27 }
28 }
29 }
30 
31 return $gateways;
32}

1

Related Snippets

Please see some snippets below related to this snippet..

WooCommerce

AI Verified

WooCommerce

Unverified

0

Hide if Local Pickup is not selected, change Address (CSS version)

Added: 1 year ago

Last Updated: 1 year ago

This CSS should be used with the: https://codesnippets.cloud/snippet/Unkillhank/Hide-users-Address-if-Local-Pickup-is-not-selected-(PHP-version) This is the CSS combination to display a unique add...

WooCommerce

AI Verified

0

WooCommerce Only Allow Number Input For Billing Phone

Added: 1 year ago

Last Updated: 1 year ago

This snippet adds jQuery (run form the footer for performance reasons) which only allows number input in the billing phone field on the checkout. Specifically, it will find and delete anything which i...

Other Snippets in this Codevault

These are some popular snippets from this users codevault..

WooCommerce

AI Verified

6

WooCommerce Show Number Of People Viewing Product

Added: 1 year ago

Last Updated: 2 weeks ago

We want to make this solution absolutely clear from the outset. This snippet does NOT generate the actual number of people viewing the product. It shows a randomly generated number in the range of two...

WooCommerce

AI Verified

5

WooCommerce Show Number Of Units Sold On Product Page

Added: 1 year ago

Last Updated: 2 weeks ago

Showing the number of product units sold on the single product page is a great way to introduce Fear Of Missing Out (FOMO). You can highlight how many products are sold to let customers know a product...

WooCommerce

AI Verified

3

WooCommerce Add Content Under The Proceed To Checkout Button On The Cart Page

Added: 1 year ago

Last Updated: 2 weeks ago

How many times have you bought something online and seen trust symbols near the proceed to checkout button on the cart page? “30 Day Money Back Guarantee” or “Secure Checkout” are popular examples. By...