Skip to content

Instantly share code, notes, and snippets.

@kloon
Created October 29, 2012 08:47
Show Gist options
  • Save kloon/3972435 to your computer and use it in GitHub Desktop.
Save kloon/3972435 to your computer and use it in GitHub Desktop.
WooCommerce disable payment gateways based on customer country
// Disable gateway based on country
function payment_gateway_disable_country( $available_gateways ) {
global $woocommerce;
if ( isset( $available_gateways['ccavenue'] ) && $woocommerce->customer->get_country() <> 'IN' ) {
unset( $available_gateways['ccavenue'] );
} else if ( isset( $available_gateways['paypal'] ) && $woocommerce->customer->get_country() == 'IN' ) {
unset( $available_gateways['paypal'] );
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'payment_gateway_disable_country' );
@jumjum95
Copy link

Hey Johnymas, I used your code, works fine! But when there's only one payment gateway to choose from, the radio button and space between the header and gateway disappears.. Is there a way to fix that?
skarmavbild 2017-07-27 kl 09 12 02
skarmavbild 2017-07-27 kl 09 12 15

@aksthelion
Copy link

Hello, can anyone let me know what is the value to pass to $available_gateways[ ] to disable card payment option?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment