Jak wyłączyć bramki płatności w niektórych krajach w WooCommerce?

Opublikowany: 2019-10-24

W moim ostatnim poście mówiłem o tym, jak możesz wyłączyć bramki płatności w WooCommerce w oparciu o różne role użytkowników. Czasami zdarzają się sytuacje, w których może być to konieczne w zależności od kraju klienta. Może to wynikać z różnych powodów, takich jak bramka płatności, która nie jest powszechnie używana w tym kraju lub chcesz zachęcić klientów do korzystania z określonej bramy płatności do dokonywania płatności, a więc chcesz selektywnie włączyć tę bramkę płatności. W każdym razie, jeśli chodzi o sklep e-commerce, który działa na skalę globalną, jest to przydatna funkcja. Czytaj dalej, aby dowiedzieć się, jak wyłączyć bramki płatności w niektórych krajach w WooCommerce.

Podobnie jak w przypadku większości rzeczy, możesz to zrobić za pomocą fragmentów kodu lub wtyczek.

Używanie fragmentu kodu do wyłączania bramek płatności w niektórych krajach

Na początek rozważmy przypadek, w którym chcesz wyłączyć PayPal dla Indii. Wklej następujący kod do pliku functions.php motywu potomnego:

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country' );
  
funkcja ts_disable_payment_gateway_by_country( $available_payment_gateways) {
    if ( is_admin() ) zwraca $available_payment_gateways;
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) {
            unset( $available_payment_gateways['paypal'] );
        }
    zwróć $available_payment_gateways;
}

Tutaj dodaliśmy funkcję do haka woocommerce_available_payment_gateways , która sprawdza kod kraju, dla którego piszemy warunek, i wyłącza PayPal dla tego kraju (w naszym przypadku Indie):

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

Każdy kraj ma inny kod, tak jak tutaj użyliśmy „IN” dla Indii. Listę kodów krajów znajdziesz na końcu tego posta.

Słowa kluczowe/slugi dla domyślnych dostępnych bramek płatności to:

PayPal: paypal
Bezpośredni przelew bankowy: bacs
Pobranie: dorsz
Czek: czek

Rozważmy inny przypadek, w którym chcemy mieć włączoną tylko opcję PayPal dla klientów w USA, przy czym ta opcja jest wyłączona dla klientów w Indiach. W tym przypadku dostosujemy kilka dodatkowych wierszy do naszego fragmentu kodu powyżej, aby wyłączyć inne bramki płatności dla klientów w USA:

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country' );
  
funkcja ts_disable_payment_gateway_by_country( $available_payment_gateways) {
    if ( is_admin() ) zwraca $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['czek'])) { unset($available_payment_gateways['czek"]); } 
    if (isset($available_payment_gateways['cod'])) { unset($available_payment_gateways['cod']); } 
  }
    zwróć $available_payment_gateways;
}

W ten sposób możesz wyłączyć bramki płatności na podstawie kraju klienta.

Korzystanie z wtyczki do wyłączania bramek płatności w niektórych krajach

Dostępne są również wtyczki do wyłączania bramek płatności zgodnie z krajem klienta. Jedną z takich wtyczek jest wtyczka Country Based Payments . Jest to darmowa wtyczka, za pomocą której możesz zdecydować, która bramka płatności powinna być dostępna w danym kraju. Chociaż interfejs wtyczki jest przyjazny i oczywisty, jeśli chcesz wykluczyć tylko jeden kraj z bramki płatności, to sposobem na obejście tego jest wybranie wszystkich krajów względem tej bramki płatności, a następnie indywidualne odznaczenie krajów, które chcesz wyłączyć dla tej bramki płatności.

Ponadto, korzystając z wtyczki Warunkowe metody płatności dla WooCommerce , możesz ukryć/pokazać dowolne bramy płatności (w tym bramy niestandardowe) na podstawie krajów – lokalizacji rozliczeń/wysyłki klienta lub taksonomii produktu lub sumy zamówienia. Na przykład pokaż PayPal i Stripe w USA, Kanadzie i krajach europejskich.

W ten sposób możesz użyć fragmentów kodu, a także wtyczek, aby wyłączyć bramki płatności w zależności od kraju.

Lista kodów krajów:

Kod Lokalizacja/Kraj
A1
Anonymous Proxy
A2 Dostawca satelitarny
O1 Inne państwo
OGŁOSZENIE Andora
AE
Zjednoczone Emiraty Arabskie
AF Afganistan
AG
Antigua i Barbuda
AI Anguilla
glin Albania
JESTEM Armenia
AO Angola
AP
Region Azji i Pacyfiku
AQ Antarktyda
AR Argentyna
JAK
Samoa Amerykańskie
W Austria
AU Australia
AW Aruba
TOPÓR Wyspy Alandzkie
AZ Azerbejdżan
BA
Bośnia i Hercegowina
nocleg ze śniadaniem Barbados
BD Bangladesz
BYĆ Belgia
BF Burkina Faso
BG Bułgaria
BH Bahrajn
BI Burundi
BJ Benin
BL
Św Barthelemey
BM Bermudy
BN
Brunei Darussalam
BO Boliwia
BQ
Bonaire, św. Eustatius i Saba
BR Brazylia
BS Bahamy
BT Bhutan
BV Wyspa Bouveta
BW Botswana
ZA POMOCĄ Białoruś
BZ Belize
CA Kanada
CC
Wyspy Kokosowe (Keelinga)
płyta CD
Kongo, Demokratyczna Republika
CF
Republika Środkowoafrykańska
CG Kongo
CH Szwajcaria
CI Wybrzeże Kości Słoniowej
CK Wyspy Cooka
CL Chile
CM Kamerun
CN Chiny
WSPÓŁ Kolumbia
CR Kostaryka
CU Kuba
CV Wyspy Zielonego Przylądka
CW Curaçao
CX Wyspa Bożego Narodzenia
CY Cypr
CZ Republika Czeska
DE Niemcy
DJ Dżibuti
DK Dania
DM Dominika
ROBIĆ
Republika Dominikany
DZ Algieria
WE Ekwador
EE Estonia
NP Egipt
EH Sahara Zachodnia
ER Erytrea
ES Hiszpania
ET Etiopia
UE Europa
FI Finlandia
FJ Fidżi
FK
Falklandy (Malwiny)
FM
Mikronezja, Sfederowane Stany
FO Wyspy Owcze
FR Francja
GA Gabon
GB Zjednoczone Królestwo
GD Grenada
GE Gruzja
GF Gujana Francuska
GG Guernsey
GH Ghana
żołnierz amerykański Gibraltar
GL Grenlandia
GM Gambia
GN Gwinea
GP Gwadelupa
GQ
Gwinea Równikowa
GR Grecja
GS
Georgia Południowa i Sandwich Południowy
GT Gwatemala
GU Guam
GW Gwinea Bissau
GY Gujana
HK Hongkong
HM
Wyspy Heard i Wyspy McDonalda
HN Honduras
HR Chorwacja
HT Haiti
HU Węgry
ID Indonezja
TJ Irlandia
IL Izrael
JESTEM Wyspa Man
W Indie
IO
Brytyjskie Terytorium Oceanu Indyjskiego
ILORAZ INTELIGENCJI Irak
IR
Iran (Islamska Republika
JEST Islandia
TO Włochy
JE Golf
JM Jamajka
JO Jordania
JP Japonia
KE Kenia
KG Kirgistan
KH Kambodża
KI Kiribati
KM Komory
KN
Saint Kitts i Nevis
KP
Korea, Republika Ludowo-Demokratyczna
KR
Republika Korei
KW Kuwejt
KY Kajmany
KZ Kazachstan
LA
Laotańska Republika Ludowo-Demokratyczna
FUNT Liban
LC święta Lucia
LI Liechtenstein
LK Sri Lanka
LR Liberia
LS Lesoto
LT Litwa
LU Luksemburg
LV Łotwa
LY
Libijska Arabska Dżamahirija
MAMA Maroko
MC Monako
MD
Mołdawia, Republika
JA Czarnogóra
MF święty Marcin
MG Madagaskar
MH Wyspy Marshalla
MK Macedonia
ML Mali
MM Myanmar
MN Mongolia
MO Makao
poseł
Mariany Północne
MQ Martynika
PAN Mauretania
SM Montserrat
MT Malta
MU Mauritius
MV Malediwy
MW Malawi
MX Meksyk
MÓJ Malezja
MZ Mozambik
Nie dotyczy Namibia
NC Nowa Kaledonia
NE Niger
NF Wyspa Norfolk
NG Nigeria
NI Nikaragua
Holandia Holandia
NIE Norwegia
NP Nepal
NR Nauru
NU Niue
Nowa Zelandia Nowa Zelandia
OM Oman
ROCZNIE Panama
PE Peru
PF
Polinezja Francuska
PG
Papua Nowa Gwinea
PH Filipiny
PK Pakistan
PL Polska
PO POŁUDNIU
Saint-Pierre i Miquelon
PN Pitcairn
PR Portoryko
PS
terytorium palestyńskie
PT Portugalia
PW Palau
PY Paragwaj
Kontrola jakości Katar
ODNOŚNIE Zjazd
RO Rumunia
RS Serbia
RU
Federacja Rosyjska
RW Rwanda
SA Arabia Saudyjska
SB Wyspy Salomona
SC Seszele
SD Sudan
SE Szwecja
SG Singapur
CII Święta Helena
SI Słowenia
SJ
Svalbard i Jan Mayen
SK Słowacja
SL Sierra Leone
SM San Marino
SN Senegal
WIĘC Somali
SR Surinam
SS Południowy Sudan
ST
Wyspy Świętego Tomasza i Książęca
SV Salwador
SX Sint Maarten
SY
Republika Syryjsko-Arabska
SZ Suazi
TC
Wyspy Turks i Caicos
TD Czad
TF
Francuskie Terytoria Południowe
TG Iść
TH Tajlandia
TJ Tadżykistan
TK Tokelau
TL Timor Wschodni
TM Turkmenia
TN Tunezja
DO Tonga
TR Indyk
TT
Trynidad i Tobago
telewizja Tuvalu
TW Tajwan
TZ
Tanzania, Zjednoczona Republika
UA Ukraina
UG Uganda
UM
Stany Zjednoczone Dalekie Wyspy Mniejsze
NAS Stany Zjednoczone
UY Urugwaj
UZ Uzbekistan
VA
Stolica Apostolska (Państwo Watykańskie)
VC
Saint Vincent i Grenadyny
VE Wenezuela
VG
Wyspy Dziewicze, Brytyjskie
VI
Wyspy Dziewicze, Stany Zjednoczone
VN Wietnam
VU Vanuatu
WF
Wallis i Futuna
WS Samoa
CZŁEK Jemen
YT Majotta
ZA Afryka Południowa
ZM Zambia
ZARAZ WRACAM Zimbabwe