WPML
Status
Aberto
Relatado para
WPML Multilingual & Multicurrency for WooCommerce 5.3.5
Plugin/tema relacionado
WooCommerce Payments
Tags de tópico
Compatibility

Visão geral do problema

Atualmente, não é possível salvar nenhuma alteração na Disponibilidade de país das suas configurações do WooPayments ao usar o WPML Multilingual & Multicurrency for WooCommerce.

Esse problema é semelhante a um relatado para o gateway de pagamento WooCommerce Stripe.

Solução alternativa

Enquanto isso, você pode considerar uma das seguintes soluções:

1) Se você quiser limitar o WooPayments a um único país (ex.: Espanha), você pode usar o seguinte código:

// Limit Stripe to Spain.
add_filter( 'woocommerce_available_payment_gateways', function( $gateways ) {
	$country = WCML\MultiCurrency\Geolocation::getUserCountry();
	if ( $country ) {
		if ( 'ES' !== $country ) {
			unset( $gateways['woocommerce_payments'] );
		}
	}

	return $gateways;
} );

2) Por outro lado, se você quiser limitar o seu WooPayments a vários países, você pode usar esta variação:
// Limit WooPayments for several countries
add_filter( 'woocommerce_available_payment_gateways', function( $gateways ) {
	$country = WCML\MultiCurrency\Geolocation::getUserCountry();
	if ( $country ) {
		// List of country codes to check against
		$country_codes = array('ES', 'FR', 'DE');
		if ( !in_array($country, $country_codes) ) {
			unset( $gateways['woocommerce_payments'] );
		}
	}

	return $gateways;
} );

Você pode adicionar o código acima ao arquivo functions.php do seu tema.

Não se esqueça de ajustar o código do país de acordo com as suas necessidades (em ambos os exemplos, usamos ‘ES’ para a Espanha).

Todos os problemas conhecidos →