Como desabilitar gateways de pagamento para alguns países no WooCommerce

Publicados: 2019-10-24

No meu último post, falei sobre como você pode desabilitar gateways de pagamento no WooCommerce com base em diferentes funções de usuário. Às vezes, há casos em que você pode precisar fazer isso com base no país do cliente. Isso pode ocorrer por diferentes motivos, como o gateway de pagamento não ser amplamente usado naquele país, ou porque você deseja incentivar seus clientes a usar um determinado gateway de pagamento para fazer pagamentos e, portanto, deseja habilitar seletivamente esse gateway de pagamento. De qualquer forma, quando se trata de uma loja de comércio eletrônico que atende em escala global, esse é um recurso útil. Continue lendo para descobrir como você pode desativar os gateways de pagamento para alguns países no WooCommerce.

Como na maioria das coisas, você pode fazer isso usando trechos de código ou plugins.

Usando um trecho de código para desativar gateways de pagamento para alguns países

Para começar, vamos considerar uma instância em que você deseja desabilitar o PayPal para a Índia. Cole o seguinte código no arquivo functions.php do seu tema filho:

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country' );
  
function ts_disable_payment_gateway_by_country( $available_payment_gateways) {
    if ( is_admin() ) return $available_payment_gateways;
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN') {
            unset( $available_payment_gateways['paypal']);
        }
    retornar $available_payment_gateways;
}

Aqui, adicionamos uma função ao gancho woocommerce_available_payment_gateways , que verifica o código do país para o qual estamos escrevendo a condição e desativa o PayPal para esse país (Índia no nosso caso):

disable payment gateways for some countries in WooCommerce - PayPal disabled for India on the Checkout page

Cada país tem um código diferente, assim como usamos “IN” para a Índia aqui. Você pode encontrar a lista de códigos de país no final deste post.

As palavras-chave/slugs para os gateways de pagamento padrão disponíveis são:

PayPal: paypal
Transferência Bancária Direta: bacs
Dinheiro na entrega: bacalhau
Cheque: cheque

Vamos considerar outra instância em que queremos ter apenas a opção PayPal habilitada para clientes nos EUA, com essa opção desabilitada para os da Índia. Nesse caso, ajustaremos mais algumas linhas ao nosso trecho de código acima para que ele desabilite os outros gateways de pagamento para clientes nos EUA:

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country' );
  
function ts_disable_payment_gateway_by_country( $available_payment_gateways) {
    if ( is_admin() ) return $available_payment_gateways;
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN') {
            unset( $available_payment_gateways['paypal']);
        }
  if ( WC()->cliente->get_billing_country() == 'EUA') {
    if (isset($available_payment_gateways['bacs'])) { unset($available_payment_gateways['bacs']); } 
    if (isset($available_payment_gateways['cheque'])) { unset($available_payment_gateways['cheque']); } 
    if (isset($available_payment_gateways['cod'])) { unset($available_payment_gateways['cod']); } 
  }
    retornar $available_payment_gateways;
}

Dessa forma, você pode desativar os gateways de pagamento com base no país do cliente.

Usando um plugin para desabilitar gateways de pagamento para alguns países

Também existem plugins disponíveis para desativar os gateways de pagamento de acordo com o país do cliente. Um desses plugins é o plugin Country Based Payments . É um plugin gratuito que você pode usar para decidir qual gateway de pagamento deve estar disponível em qual país. Embora a interface do plug-in seja amigável e autoexplicativa, se você deseja excluir apenas um país de um gateway de pagamento, a maneira de contornar isso é selecionar todos os países contra esse gateway de pagamento e desmarcar individualmente os países que deseja desativar esse gateway de pagamento para.

Além disso, usando o plugin Conditional Payment Methods for WooCommerce , você pode ocultar/mostrar qualquer gateway de pagamento (incluindo gateways personalizados) com base em países - local de cobrança/envio dos clientes, taxonomia do produto ou total do pedido. Por exemplo, mostre PayPal e Stripe nos EUA, Canadá e países europeus.

Dessa forma, você pode usar trechos de código e plugins para desativar os gateways de pagamento com base no país.

Lista de códigos de país:

Código Local/País
A1
proxy anônimo
A2 Provedor de Satélite
O1 Outro país
DE ANÚNCIOS Andorra
EA
Emirados Árabes Unidos
AF Afeganistão
AG
Antígua e Barbuda
IA Anguila
AL Albânia
SOU Armênia
AO Angola
PA
Região pacífica da Ásia
AQ Antártica
RA Argentina
COMO
Samoa Americana
NO Áustria
UA Austrália
AW Aruba
MACHADO Ilhas Aland
AZ Azerbaijão
BA
Bósnia e Herzegovina
BB Barbados
BD Bangladesh
SER Bélgica
BF Burkina Faso
BG Bulgária
BH Bahrein
BI Burundi
BJ Benim
BL
São Bartolomeu
BM Bermudas
BN
Brunei Darussalam
BO Bolívia
QB
Bonaire, Santo Eustáquio e Saba
BR Brasil
BS Bahamas
BT Butão
BV Ilha Bouvet
BW Botsuana
POR Bielorrússia
BELEZA Belize
CA Canadá
CC
Ilhas Cocos (Keeling)
CD
Congo, República Democrática do
FC
República Centro-Africana
CG Congo
CH Suíça
CI Costa do Marfim
CK Ilhas Cook
CL Chile
CM Camarões
CN China
CO Colômbia
CR Costa Rica
CU Cuba
cv cabo Verde
CW Curaçao
CX Ilha do Natal
CY Chipre
CZ República Checa
DE Alemanha
DJ Djibuti
NS Dinamarca
Mestre Dominica
FAZ
República Dominicana
DZ Argélia
CE Equador
EE Estônia
POR EXEMPLO Egito
EH Saara Ocidental
pronto-socorro Eritreia
ES Espanha
ET Etiópia
UE Europa
FI Finlândia
FJ Fiji
FK
Ilhas Malvinas (Malvinas)
FM
Micronésia, Estados Federados da
FO ilhas Faroe
FR França
GA Gabão
GB Reino Unido
GD Granada
GE Geórgia
GF Guiana Francesa
GG Guernsey
GH Gana
GI Gibraltar
GL Groenlândia
GM Gâmbia
GN Guiné
GP Guadalupe
GQ
Guiné Equatorial
GR Grécia
GS
Ilhas Geórgia do Sul e Sandwich do Sul
GT Guatemala
GU Guam
GW Guiné-Bissau
GY Guiana
Hong Kong Hong Kong
HM
Ilha Heard e Ilhas McDonald
HN Honduras
RH Croácia
HT Haiti
HU Hungria
EU IRIA Indonésia
IE Irlanda
IL Israel
EU ESTOU Ilha de Man
DENTRO Índia
IO
Território Britânico do Oceano Índico
QI Iraque
RI
Irã (Republic Islâmica do Irã
É Islândia
ISTO Itália
JE Jersey
JM Jamaica
JO Jordânia
JP Japão
KE Quênia
KG Quirguistão
KH Camboja
KI Kiribati
KM Comores
KN
São Cristóvão e Nevis
KP
Coréia, República Popular Democrática da
KR
Republica da Coréia
KW Kuwait
KY Ilhas Cayman
KZ Cazaquistão
LA
República Democrática Popular do Laos
LIBRA Líbano
LC Santa Lúcia
LI Listenstaine
LK Sri Lanka
LR Libéria
LS Lesoto
LT Lituânia
LU Luxemburgo
LV Letônia
LY
Jamahiriya Árabe Líbia
MA Marrocos
MC Mônaco
MD
Moldávia, República da
EU Montenegro
MF são Martinho
MG Madagáscar
MH Ilhas Marshall
MK Macedônia
ML Mali
MILÍMETROS Mianmar
MN Mongólia
MO Macau
deputado
Ilhas Marianas do Norte
MQ Martinica
SENHOR Mauritânia
EM Montserrat
MT Malta
UM Maurício
MV Maldivas
MW Malawi
MX México
MINHA Malásia
MZ Moçambique
N / D Namíbia
NC Nova Caledônia
NE Níger
NF Ilha Norfolk
NG Nigéria
NI Nicarágua
NL Holanda
NÃO Noruega
NP Nepal
NR Nauru
NU Niue
Nova Zelândia Nova Zelândia
OM Omã
PA Panamá
EDUCAÇAO FISICA Peru
PF
Polinésia Francesa
PG
Papua Nova Guiné
PH Filipinas
PK Paquistão
PL Polônia
PM
São Pedro e Miquelon
PN Pitcairn
RP Porto Rico
PS
Território Palestino
PT Portugal
PW Palau
PY Paraguai
Controle de qualidade Catar
Reunião
RO Romênia
RS Sérvia
RU
Federação Russa
RW Ruanda
SA Arábia Saudita
SB Ilhas Salomão
SC Seicheles
SD Sudão
SE Suécia
SG Cingapura
SH Santa Helena
SI Eslovênia
SJ
Svalbard e Jan Mayen
SK Eslováquia
SL Serra Leoa
SM São Marinho
SN Senegal
ASSIM Somália
SR Suriname
SS Sudão do Sul
ST
São Tomé e Príncipe
SV El Salvador
SX São Martinho
SY
República Árabe da Síria
SZ Suazilândia
TC
Ilhas Turcas e Caicos
DT Chade
TF
Territórios do Sul da França
TG Ir
º Tailândia
TJ Tajiquistão
TK Toquelau
TL Timor-Leste
MT Turcomenistão
TN Tunísia
PARA Tonga
TR Peru
TT
Trindade e Tobago
televisão Tuvalu
TW Taiwan
TZ
Tanzânia, República Unida da
UA Ucrânia
UG Uganda
UM
Ilhas Menores Distantes dos Estados Unidos
NÓS Estados Unidos
UY Uruguai
UZ Uzbequistão
VA
Santa Sé (Estado da Cidade do Vaticano)
VC
São Vicente e Granadinas
VE Venezuela
VG
Ilhas Virgens, Britânico
VI
Ilhas Virgens, EUA
VN Vietnã
VU Vanuatu
WF
Wallis e Futuna
WS Samoa
VÓS Iémen
YT Maiote
ZA África do Sul
ZM Zâmbia
ZW Zimbábue