Cum să dezactivați gateway-urile de plată pentru unele țări în WooCommerce

Publicat: 2019-10-24

În ultima mea postare, am vorbit despre cum puteți dezactiva gateway-urile de plată în WooCommerce pe baza diferitelor roluri de utilizator. Uneori, există cazuri în care poate fi necesar să faceți acest lucru în funcție de țara clientului. Acest lucru se poate întâmpla din diferite motive, cum ar fi gateway-ul de plată care nu este utilizat pe scară largă în țara respectivă sau că doriți să vă încurajați clienții să folosească un anumit gateway de plată pentru a efectua plăți și, prin urmare, doriți să activați selectiv acel gateway de plată. În orice caz, atunci când vine vorba de un magazin de comerț electronic care servește la scară globală, aceasta este o caracteristică utilă. Citiți mai departe pentru a afla cum puteți dezactiva gateway-urile de plată pentru unele țări în WooCommerce.

La fel ca în majoritatea lucrurilor, puteți face acest lucru folosind fragmente de cod sau pluginuri.

Utilizarea unui fragment de cod pentru a dezactiva gateway-urile de plată pentru unele țări

Pentru început, să luăm în considerare un exemplu în care doriți să dezactivați PayPal pentru India. Lipiți următorul cod în fișierul functions.php al temei copilului dvs.:

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country');
  
funcția ts_disable_payment_gateway_by_country ($available_payment_gateways) {
    if ( is_admin() ) returnează $available_payment_gateways;
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->client->get_billing_country() == 'IN' ) {
            unset( $available_payment_gateways['paypal'] );
        }
    returnează $available_payment_gateways;
}

Aici, am adăugat o funcție la hook woocommerce_available_payment_gateways , care verifică codul de țară al țării pentru care scriem condiția și dezactivează PayPal pentru acea țară (India în cazul nostru):

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

Fiecare țară are un cod diferit, așa cum am folosit aici „IN” pentru India. Puteți găsi lista de coduri de țară la sfârșitul acestei postări.

Cuvintele cheie/slug-urile pentru gateway-urile de plată disponibile prestabilite sunt:

PayPal: paypal
Transfer bancar direct: bacs
Ramburs la livrare: cod
Cec: cec

Să luăm în considerare un alt exemplu în care dorim să avem doar opțiunea PayPal activată pentru clienții din SUA, această opțiune fiind dezactivată pentru cei din India. În acest caz, vom mai ajusta câteva rânduri la fragmentul nostru de cod de mai sus, astfel încât să dezactiveze celelalte gateway-uri de plată pentru clienții din SUA:

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country');
  
funcția ts_disable_payment_gateway_by_country ($available_payment_gateways) {
    if ( is_admin() ) returnează $available_payment_gateways;
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->client->get_billing_country() == 'IN' ) {
            unset( $available_payment_gateways['paypal'] );
        }
  if ( WC()->client->get_billing_country() == 'SUA' ) {
    if (isset($available_payment_gateways['bacs'])) { unset($available_payment_gateways['bacs']); } 
    if (isset($available_payment_gateways['cec'])) { unset($available_payment_gateways['cec']); } 
    if (isset($available_payment_gateways['cod'])) { unset($available_payment_gateways['cod']); } 
  }
    returnează $available_payment_gateways;
}

În acest fel, puteți dezactiva gateway-urile de plată în funcție de țara clientului.

Utilizarea unui plugin pentru a dezactiva gateway-urile de plată pentru unele țări

Există, de asemenea, pluginuri disponibile pentru a dezactiva gateway-urile de plată în funcție de țara clientului. Un astfel de plugin este pluginul Plăți bazate pe țară . Este un plugin gratuit pe care îl puteți utiliza pentru a decide ce gateway de plată ar trebui să fie disponibil în ce țară. În timp ce interfața pluginului este prietenoasă și explicită de la sine, dacă doriți să excludeți doar o țară dintr-un gateway de plată, soluția este să selectați toate țările față de acel gateway de plată și apoi să deselectați individual țările pe care doriți să le dezactivați. acel gateway de plată pentru.

De asemenea, folosind pluginul Metode de plată condiționată pentru WooCommerce , puteți ascunde/afișa orice gateway-uri de plată (inclusiv gateway-uri personalizate) în funcție de țări – locația de facturare/expediere a clienților, taxonomia produsului sau totalul comenzii. De exemplu, afișați PayPal și Stripe în SUA, Canada și țările europene.

În acest mod, puteți utiliza fragmente de cod, precum și pluginuri pentru a dezactiva gateway-urile de plată în funcție de țară.

Lista codurilor de țară:

Cod Locație/Țară
A1
Proxy anonim
A2 Furnizor de satelit
O1 Alta tara
ANUNȚ Andorra
AE
Emiratele Arabe Unite
AF Afganistan
AG
Antigua si Barbuda
AI Anguilla
AL Albania
A.M Armenia
AO Angola
AP
Regiunea Asia-Pacific
AQ Antarctica
AR Argentina
LA FEL DE
Samoa Americană
LA Austria
AU Australia
AW Aruba
TOPOR Insulele Aland
AZ Azerbaidjan
BA
Bosnia si Hertegovina
BB Barbados
BD Bangladesh
FI Belgia
BF Burkina Faso
BG Bulgaria
BH Bahrain
BI Burundi
B J Benin
BL
Sfântul Barthelemey
BM Bermude
BN
Brunei Darussalam
BO Bolivia
BQ
Bonaire, Sfantul Eustatie si Saba
BR Brazilia
BS Bahamas
BT Bhutan
BV Insula Bouvet
BW Botswana
DE Bielorusia
BZ Belize
CA Canada
CC
Insulele Cocos (Keeling).
CD
Congo, Republica Democrată
CF
Republica Centrafricană
CG Congo
CH Elveţia
CI Coasta de Fildeș
CK Insulele Cook
CL Chile
CM Camerun
CN China
CO Columbia
CR Costa Rica
CU Cuba
CV capul Verde
CW Curacao
CX Insula Craciunului
CY Cipru
CZ Republica Cehă
DE Germania
DJ Djibouti
DK Danemarca
DM Dominica
DO
Republica Dominicană
DZ Algeria
EC Ecuador
EE Estonia
DE EXEMPLU Egipt
EH sahara de Vest
ER Eritreea
ES Spania
ET Etiopia
UE Europa
FI Finlanda
FJ Fiji
FK
Insulele Falkland (Malvinas)
FM
Micronezia, Statele Federate ale
FO Insulele Feroe
FR Franţa
GA Gabon
GB Regatul Unit
GD Grenada
GE Georgia
GF Guyana Franceză
GG Guernsey
GH Ghana
GI Gibraltar
GL Groenlanda
GM Gambia
GN Guineea
GP Guadelupa
GQ
Guineea Ecuatorială
GR Grecia
GS
Georgia de Sud și Insulele Sandwich de Sud
GT Guatemala
GU Guam
GW Guineea-Bissau
GY Guyana
HK Hong Kong
HM
Insula Heard și Insulele McDonald
HN Honduras
HR Croaţia
HT Haiti
HU Ungaria
ID Indonezia
IE Irlanda
IL Israel
SUNT insula Barbatului
ÎN India
IO
Teritoriul Britanic al Oceanului Indian
IQ Irak
IR
Iran (Republica Islamica a
ESTE Islanda
ACEASTA Italia
JE Jersey
JM Jamaica
JO Iordania
JP Japonia
KE Kenya
KG Kârgâzstan
KH Cambodgia
KI Kiribati
KM Comore
KN
Saint Kitts și Nevis
KP
Coreea, Republica Populară Democrată
KR
Republica Coreea
KW Kuweit
KY Insulele Cayman
KZ Kazahstan
LA
Republica Populară Democrată Laos
LIVRE Liban
LC Sfânta Lucia
LI Liechtenstein
LK Sri Lanka
LR Liberia
LS Lesotho
LT Lituania
LU Luxemburg
LV Letonia
TE IUBESC
Jamahiriya Arabă Libiană
MA Maroc
MC Monaco
MD
Moldova, Republica
PE MINE Muntenegru
MF Sfântul Martin
MG Madagascar
MH Insulele Marshall
MK Macedonia
ML Mali
MM Myanmar
MN Mongolia
MO Macao
MP
Insulele Mariane de Nord
MQ Martinica
DOMNUL Mauritania
DOMNIȘOARĂ Montserrat
MT Malta
MU Mauritius
MV Maldive
MW Malawi
MX Mexic
ALE MELE Malaezia
MZ Mozambic
N / A Namibia
NC Noua Caledonie
NE Niger
NF Insula Norfolk
NG Nigeria
NI Nicaragua
NL Olanda
NU Norvegia
NP Nepal
NR Nauru
NU Niue
NZ Noua Zeelanda
OM Oman
PA Panama
PE Peru
PF
Polinezia Franceză
PG
Papua Noua Guinee
PH Filipine
PK Pakistan
PL Polonia
P.M
Saint Pierre și Miquelon
PN Pitcairn
relatii cu publicul Puerto Rico
PS
Teritoriul Palestinian
PT Portugalia
PW Palau
PY Paraguay
QA Qatar
RE Reuniune
RO România
RS Serbia
RU
Federația Rusă
RW Rwanda
SA Arabia Saudită
SB Insulele Solomon
SC Seychelles
SD Sudan
SE Suedia
SG Singapore
SH Sfânta Elena
SI Slovenia
SJ
Svalbard și Jan Mayen
SK Slovacia
SL Sierra Leone
SM San Marino
SN Senegal
ASA DE Somalia
SR Surinam
SS Sudul Sudanului
SF
Sao Tome și Principe
SV El Salvador
S X Sint Maarten
SY
Republica Araba Siriana
SZ Swaziland
TC
Insulele Turks și Caicos
TD Ciad
TF
teritoriile din sudul Frantei
TG A merge
TH Tailanda
TJ Tadjikistan
TK Tokelau
TL Timorul de Est
TM Turkmenistan
TN Tunisia
LA Tonga
TR Curcan
TT
Trinidad și Tobago
televizor Tuvalu
TW Taiwan
TZ
Tanzania, Republica Unită
UA Ucraina
UG Uganda
UM
Insulele minore periferice ale Statelor Unite
S.U.A. Statele Unite
UY Uruguay
UZ Uzbekistan
VA
Sfântul Scaun (statul orașului Vatican)
VC
Saint Vincent și Grenadine
VE Venezuela
VG
Insulele Virgine, britanice
VI
Insulele Virgine, SUA
VN Vietnam
VU Vanuatu
WF
Wallis și Futuna
WS Samoa
VOI Yemen
YT Mayotte
ZA Africa de Sud
ZM Zambia
ZW Zimbabwe