Come disabilitare i gateway di pagamento per alcuni paesi in WooCommerce

Pubblicato: 2019-10-24

Nel mio ultimo post, ho parlato di come disabilitare i gateway di pagamento in WooCommerce in base a diversi ruoli utente. A volte, ci sono casi in cui potrebbe essere necessario farlo in base al paese del cliente. Ciò può essere dovuto a diversi motivi, ad esempio il gateway di pagamento non è ampiamente utilizzato in quel paese o se desideri incoraggiare i tuoi clienti a utilizzare un determinato gateway di pagamento per effettuare pagamenti e quindi vorresti abilitare selettivamente quel gateway di pagamento. In ogni caso, quando si tratta di un negozio di e-commerce che serve su scala globale, questa è una caratteristica utile. Continua a leggere per scoprire come disabilitare i gateway di pagamento per alcuni paesi in WooCommerce.

Come per la maggior parte delle cose, puoi farlo usando frammenti di codice o plugin.

Utilizzo di uno snippet di codice per disabilitare i gateway di pagamento per alcuni paesi

Per cominciare, consideriamo un'istanza in cui desideri disabilitare PayPal per l'India. Incolla il seguente codice nel file functions.php del tuo tema figlio:

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country' );
  
funzione ts_disable_payment_gateway_by_country( $ available_payment_gateway ) {
    if ( is_admin() ) restituisce $ available_payment_gateways;
    if ( isset( $ available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) {
            unset($available_payment_gateways['paypal']);
        }
    restituisci $gateway_di_pagamento_disponibili;
}

Qui, abbiamo aggiunto una funzione all'hook woocommerce_available_payment_gateways , che controlla il codice paese del paese per cui stiamo scrivendo la condizione e disabilita PayPal per quel paese (l'India nel nostro caso):

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

Ogni paese ha un codice diverso proprio come abbiamo usato "IN" per l'India qui. Puoi trovare l'elenco dei codici paese alla fine di questo post.

Le parole chiave/slug per i gateway di pagamento disponibili predefiniti sono:

PayPal: paypal
Bonifico Bancario Diretto: bacs
Contrassegno: cod
Assegno: assegno

Consideriamo un altro caso in cui vogliamo che solo l'opzione PayPal sia abilitata per i clienti negli Stati Uniti, con questa opzione disabilitata per quelli in India. In questo caso, adegueremo ancora qualche riga al nostro snippet di codice sopra in modo che disabiliti gli altri gateway di pagamento per i clienti negli Stati Uniti:

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country' );
  
funzione ts_disable_payment_gateway_by_country( $ available_payment_gateway ) {
    if ( is_admin() ) restituisce $ available_payment_gateways;
    if ( isset( $ available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) {
            unset($available_payment_gateways['paypal']);
        }
  if ( WC()->customer->get_billing_country() == 'US' ) {
    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']); } 
  }
    restituisci $gateway_di_pagamento_disponibili;
}

In questo modo puoi disabilitare i gateway di pagamento in base al Paese del cliente.

Utilizzo di un plug-in per disabilitare i gateway di pagamento per alcuni paesi

Sono disponibili anche plugin per disabilitare i gateway di pagamento in base al paese del cliente. Uno di questi plugin è il plugin Country Based Payments . È un plug-in gratuito che puoi utilizzare per decidere quale gateway di pagamento dovrebbe essere disponibile in quale paese. Sebbene l'interfaccia del plug-in sia intuitiva e autoesplicativa, se desideri escludere un solo paese da un gateway di pagamento, il modo per aggirare è selezionare tutti i paesi rispetto a quel gateway di pagamento, quindi deselezionare individualmente i paesi che desideri disabilitare quel gateway di pagamento per.

Inoltre, utilizzando il plug-in Metodi di pagamento condizionali per WooCommerce , puoi nascondere/mostrare qualsiasi gateway di pagamento (inclusi gateway personalizzati) in base ai paesi: posizione di fatturazione/spedizione dei clienti o tassonomia del prodotto o totale dell'ordine. Ad esempio, mostra PayPal e Stripe negli Stati Uniti, in Canada e nei paesi europei.

In questo modo, puoi utilizzare frammenti di codice e plug-in per disabilitare i gateway di pagamento in base al paese.

Elenco dei codici paese:

Codice Località/Paese
A1
proxy anonimo
A2 Provider satellitare
O1 Altro paese
ANNO DOMINI Andorra
AE
Emirati Arabi Uniti
AF Afghanistan
AG
Antigua e Barbuda
AI Anguilla
AL Albania
SONO Armenia
AO Angola
AP
Regione Asia/Pacifico
AQ Antartide
AR Argentina
COME
Samoa americane
A Austria
AU Australia
AW Aruba
ASCIA Isole Aland
AZ Azerbaigian
BA
Bosnia Erzegovina
BB Barbados
BD Bangladesh
ESSERE Belgio
BF Burkina Faso
BG Bulgaria
BH Bahrein
BI Burundi
BJ Benin
BL
San Bartolomeo
BM Bermuda
BN
Brunei Darussalam
BO Bolivia
BQ
Bonaire, Sant'Eustazio e Saba
BR Brasile
BS Bahamas
BT Bhutan
BV Isola Bouvet
BW Botswana
DI Bielorussia
BZ Belize
circa Canada
CC
Isole Cocos (Keeling).
CD
Congo, Repubblica Democratica del
CF
Repubblica Centrafricana
CG Congo
CH Svizzera
CI Costa d'Avorio
CK Isole Cook
CL Chile
CENTIMETRO Camerun
CN Cina
CO Colombia
CR Costa Rica
CU Cuba
CV capo Verde
CW Curacao
CX Isola di Natale
CY Cipro
CZ Repubblica Ceca
DE Germania
DJ Gibuti
DK Danimarca
DM Dominica
FARE
Repubblica Dominicana
DZ Algeria
CE Ecuador
EE Estonia
PER ESEMPIO Egitto
EH Sahara occidentale
E.R Eritrea
es Spagna
et Etiopia
Unione Europea Europa
FI Finlandia
FJ Figi
FK
Isole Falkland (Malvinas)
FM
Micronesia, Stati Federati di
FO Isole Faroe
FR Francia
GA Gabon
GB Regno Unito
GD Granata
GE Georgia
GF Guiana francese
GG Guernsey
GH Ghana
GI Gibilterra
GL Groenlandia
GM Gambia
GN Guinea
GP Guadalupa
GQ
Guinea Equatoriale
GR Grecia
GS
Georgia del Sud e Isole Sandwich meridionali
GT Guatemala
GU Guam
GW Guinea Bissau
GY Guyana
HK Hong Kong
HM
Heard Island e Isole McDonald
HN Honduras
risorse umane Croazia
HT Haiti
HU Ungheria
ID Indonesia
CIOÈ Irlanda
I L Israele
IO SONO Isola di Man
IN India
IO
Territorio britannico dell'Oceano Indiano
QI Iraq
IR
Iran (Repubblica Islamica del
È Islanda
ESSO Italia
JE Maglia
JM Giamaica
GIO Giordania
JP Giappone
KE Kenia
KG Kirghizistan
KH Cambogia
KI Kiribati
KM Comore
KN
Saint Kitts e Nevis
KP
Corea, Repubblica Popolare Democratica di
KR
Corea, Repubblica di
KW Kuwait
KY Isole Cayman
KZ Kazakistan
LA
Repubblica Democratica Popolare del Laos
LIBBRE Libano
LC Santa Lucia
LI Liechtenstein
LK Sri Lanka
LR Liberia
LS Lesoto
LT Lituania
LU Lussemburgo
LV Lettonia
LY
Giamahiria araba libica
MA Marocco
MC Monaco
MD
Moldavia, Repubblica di
ME Montenegro
MF San Martino
MG Madagascar
MH Isole Marshall
MK Macedonia
ML Mali
MM Birmania
MN Mongolia
MO Macao
MP
Isole Marianne settentrionali
MQ Martinica
SIG Mauritania
SM Montserrat
mt Malta
MU Maurizio
MV Maldive
MW Malawi
MX Messico
MIO Malaysia
MZ Mozambico
N / A Namibia
NC Nuova Caledonia
NE Niger
NF Isola Norfolk
NG Nigeria
NI Nicaragua
NL Olanda
NO Norvegia
NP Nepal
NR Nauru
NU Niue
neozelandese Nuova Zelanda
OM Oman
PAPÀ Panama
PE Perù
PF
Polinesia francese
PG
Papua Nuova Guinea
PH Filippine
PK Pakistan
PL Polonia
PM
Saint Pierre e Miquelon
PN Pitcairn
PR Portorico
PS
Territorio Palestinese
PT Portogallo
PW Palau
PY Paraguay
QA Qatar
RIF Riunione
RO Romania
RS Serbia
RU
Federazione Russa
RW Ruanda
SA Arabia Saudita
SB Isole Salomone
SC Seychelles
SD Sudan
SE Svezia
SG Singapore
SH Sant'Elena
SI Slovenia
SJ
Svalbard e Jan Mayen
SK Slovacchia
SL Sierra Leone
SM San Marino
SN Senegal
COSÌ Somalia
SR Suriname
SS Sudan del Sud
ST
Sao Tomé e Principe
SV El Salvador
SX Sint Maarten
SY
Repubblica Araba Siriana
SZ Swaziland
TC
Isole Turks e Caicos
TD Chad
TF
Territori della Francia del sud
TG Andare
TH Tailandia
TJ Tagikistan
TK Tokelau
TL Timor Est
TM Turkmenistan
TN Tunisia
A Tonga
TR Tacchino
TT
Trinidad e Tobago
tv Tuvalù
TW Taiwan
TZ
Tanzania, Repubblica Unita di
UA Ucraina
UG Uganda
UM
Isole minori esterne degli Stati Uniti
NOI stati Uniti
UY Uruguay
UZ Uzbekistan
VA
Santa Sede (Stato Città del Vaticano)
VC
Saint Vincent e Grenadine
VE Venezuela
VG
Isole Vergini britanniche
VI
Isole Vergini americane
VN Vietnam
VU Vanuatu
WF
Wallis e Futuna
WS Samoa
VOI Yemen
YT Mayotte
ZA Sud Africa
ZM Zambia
Z W Zimbabwe