Cara menonaktifkan gateway pembayaran untuk beberapa negara di WooCommerce

Diterbitkan: 2019-10-24

Dalam posting terakhir saya, saya berbicara tentang bagaimana Anda dapat menonaktifkan gateway pembayaran di WooCommerce berdasarkan peran pengguna yang berbeda. Terkadang, ada kasus di mana Anda mungkin perlu melakukan ini berdasarkan negara pelanggan. Ini bisa karena alasan yang berbeda seperti gateway pembayaran yang tidak digunakan secara luas di negara tersebut, atau Anda ingin mendorong pelanggan Anda untuk menggunakan gateway pembayaran tertentu untuk melakukan pembayaran sehingga Anda ingin mengaktifkan gateway pembayaran tersebut secara selektif. Bagaimanapun, ketika datang ke toko e-niaga yang melayani dalam skala global, ini adalah fitur yang berguna. Baca terus untuk mengetahui bagaimana Anda dapat menonaktifkan gateway pembayaran untuk beberapa negara di WooCommerce.

Seperti kebanyakan hal, Anda dapat melakukan ini menggunakan cuplikan kode atau plugin.

Menggunakan cuplikan kode untuk menonaktifkan gateway pembayaran untuk beberapa negara

Untuk memulainya, mari pertimbangkan contoh di mana Anda ingin menonaktifkan PayPal untuk India. Rekatkan kode berikut di file functions.php tema anak Anda:

 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() ) mengembalikan $available_payment_gateways;
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) {
            unset( $available_payment_gateways['paypal'] );
        }
    kembalikan $available_payment_gateways;
}

Di sini, kami telah menambahkan fungsi ke kait woocommerce_available_payment_gateways , yang memeriksa kode negara negara tempat kami menulis ketentuan, dan menonaktifkan PayPal untuk negara itu (India dalam kasus kami):

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

Setiap negara memiliki kode yang berbeda seperti kami telah menggunakan "IN" untuk India di sini. Anda dapat menemukan daftar kode negara di akhir posting ini.

Kata kunci/slug untuk gateway pembayaran default yang tersedia adalah:

PayPal: paypal
Transfer Bank Langsung: bacs
Cash On Delivery : cod
Cek: cek

Mari kita pertimbangkan contoh lain di mana kita hanya ingin opsi PayPal diaktifkan untuk pelanggan di AS, dengan opsi ini dinonaktifkan untuk pelanggan di India. Dalam hal ini, kami akan menyesuaikan beberapa baris lagi ke cuplikan kode kami di atas sehingga menonaktifkan gateway pembayaran lain untuk pelanggan di AS:

 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() ) mengembalikan $available_payment_gateways;
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) {
            unset( $available_payment_gateways['paypal'] );
        }
  if ( WC()->pelanggan->get_billing_country() == 'AS' ) {
    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']); } 
  }
    kembalikan $available_payment_gateways;
}

Dengan cara ini, Anda dapat menonaktifkan gateway pembayaran berdasarkan negara pelanggan.

Menggunakan plugin untuk menonaktifkan gateway pembayaran untuk beberapa negara

Ada juga plugin yang tersedia untuk menonaktifkan gateway pembayaran sesuai negara pelanggan. Salah satu plugin tersebut adalah plugin Pembayaran Berbasis Negara . Ini adalah plugin gratis yang dapat Anda gunakan untuk memutuskan gateway pembayaran mana yang harus tersedia di negara mana. Meskipun antarmuka plugin ramah dan cukup jelas, jika Anda ingin mengecualikan hanya satu negara dari gateway pembayaran, maka cara mengatasinya adalah dengan memilih semua negara terhadap gateway pembayaran itu, dan kemudian secara individual batalkan pilihan negara yang ingin Anda nonaktifkan bahwa gateway pembayaran untuk.

Juga, dengan menggunakan Metode Pembayaran Bersyarat untuk plugin WooCommerce , Anda dapat menyembunyikan/menampilkan gateway pembayaran apa pun (termasuk gateway khusus) berdasarkan negara – lokasi penagihan/pengiriman pelanggan, atau taksonomi produk atau total pesanan. Misalnya, tunjukkan PayPal dan Stripe di AS, Kanada, dan negara-negara Eropa.

Dengan cara ini, Anda dapat menggunakan cuplikan kode serta plugin untuk menonaktifkan gateway pembayaran berdasarkan negara.

Daftar Kode Negara:

Kode Lokasi/Negara
A1
Proksi Anonim
A2 Penyedia Satelit
O1 Negara lain
IKLAN Andora
AE
Uni Emirat Arab
AF Afganistan
AG
Antigua dan Barbuda
AI Anguila
AL Albania
SAYA Armenia
AO Angola
AP
Wilayah Asia Pasifik
AQ Antartika
AR Argentina
SEBAGAI
Samoa Amerika
PADA Austria
AU Australia
AW Aruba
KAPAK Pulau Aland
AZ Azerbaijan
BA
Bosnia dan Herzegovina
BB Barbados
BD Bangladesh
MENJADI Belgium
BF Burkina Faso
BG Bulgaria
BH Bahrain
DUA Burundi
BJ Benin
BL
Saint Barthelemey
BM Bermuda
BN
Brunei Darussalam
BO Bolivia
BQ
Bonaire, Saint Eustatius dan Saba
BR Brazil
BS Bahama
BT Bhutan
BV Pulau Bouvet
BB Botswana
OLEH Belarusia
BZ Belize
CA Kanada
CC
Kepulauan Cocos (Keeling)
CD
Kongo, Republik Demokratik
CF
Republik Afrika Tengah
CG Kongo
CH Swiss
CI Pantai Gading
CK Kepulauan Cook
CL Chili
cm Kamerun
CN Cina
BERSAMA Kolumbia
CR Kosta Rika
CU Kuba
CV Tanjung Verde
CW Curacao
CX Pulau Natal
CY Siprus
CZ Republik Ceko
DE Jerman
DJ Djibouti
DK Denmark
DM Dominika
MELAKUKAN
Republik Dominika
DZ Aljazair
EC Ekuador
EE Estonia
MISALNYA Mesir
EH Sahara Barat
ER Eritrea
ES Spanyol
ET Etiopia
UE Eropa
FI Finlandia
FJ Fiji
FK
Kepulauan Falkland (Malvinas)
FM
Mikronesia, Negara Federasi
FO Kepulauan Faroe
FR Perancis
GA Gabon
GB Britania Raya
GD Grenada
GE Georgia
GF Guyana Perancis
GG Guernsey
GH Ghana
GI Gibraltar
GL Tanah penggembalaan
GM Gambia
GN Guinea
GP Guadeloupe
GQ
Guinea ekuator
GR Yunani
GS
Georgia Selatan dan Kepulauan Sandwich Selatan
GT Guatemala
GU Guam
GW Guinea-Bissau
GY Guyana
HK Hongkong
HM
Pulau Heard dan Kepulauan McDonald
HN Honduras
SDM Kroasia
HT Haiti
HU Hungaria
PENGENAL Indonesia
YAITU Irlandia
saya Israel
AKU Pulau manusia
DI India
saya
Wilayah Samudra Hindia Britania
IQ Irak
IR
Iran (Republik Islam
ADALAH Islandia
DIA Italia
JE baju kaos
JM Jamaika
JO Yordania
JP Jepang
KE Kenya
KG Kirgistan
KH Kamboja
KI Kiribati
km Komoro
KN
Saint Kitts dan Nevis
KP
Korea, Republik Rakyat Demokratik
KR
Korea, Republik
KW Kuwait
KY Pulau cayman
KZ Kazakstan
LA
Republik Demokratik Rakyat Laos
LB Libanon
LC Saint Lucia
LI Liechtenstein
LK Srilanka
LR Liberia
LS Lesotho
LT Lithuania
LU Luksemburg
LV Latvia
LY
Jamahiriya Arab Libya
MA Maroko
MC Monako
MD
Moldova, Republik
SAYA Montenegro
MF Saint Martin
MG Madagaskar
MH Pulau Marshall
MK Makedonia
ML mali
MM Myanmar
M N Mongolia
MO Makau
MP
Kepulauan Mariana Utara
MQ Martinik
PAK Mauritania
NONA Montserrat
MT Malta
MU Mauritius
MV Maladewa
MW Malawi
MX Meksiko
KU Malaysia
MZ Mozambik
tidak Namibia
NC Kaledonia Baru
NE Nigeria
NF Pulau Norfolk
NG Nigeria
NI Nikaragua
NL Belanda
TIDAK Norway
NP Nepal
NR Nauru
NU Niue
NZ Selandia Baru
om Oman
PA Panama
pe Peru
PF
Polinesia Perancis
PG
Papua Nugini
PH Filipina
PK pakistan
PL Polandia
PM
Saint Pierre dan Miquelon
PN Pitcairn
PR Puerto Riko
PS
Wilayah Palestina
PT Portugal
PW Palau
PY Paraguay
QA Qatar
ULANG Reuni
RO Rumania
RS Serbia
RU
Federasi Rusia
RW Rwanda
SA Arab Saudi
SB Pulau Solomon
SC Seychelles
SD Sudan
SE Swedia
SG Singapura
SH Saint Helena
SI Slovenia
SJ
Svalbard dan Jan Mayen
SK Slowakia
TL Sierra Leone
SM San Marino
SN Senegal
JADI Somalia
SR Suriname
SS Sudan Selatan
ST
Sao Tome dan Principe
SV El Salvador
SX Sint Maarten
SY
Republik Arab Syria
SZ Swaziland
TC
Kepulauan Turks dan Caicos
TD Chad
TF
Wilayah Selatan Prancis
TG Untuk pergi
TH Thailand
TJ Tajikistan
TK Tokelau
TL Timor-Leste
TM Turkmenistan
TN Tunisia
KE Tonga
TR Turki
TT
Trinidad dan Tobago
televisi Tuvalu
DUA Taiwan
TZ
Tanzania, Republik Bersatu
UA Ukraina
UG Uganda
UM
Kepulauan Terluar Kecil Amerika Serikat
KITA Amerika Serikat
UY Uruguay
UZ Uzbekistan
VA
Tahta Suci (Negara Kota Vatikan)
VC
Saint Vincent dan Grenadines
VE Venezuela
VG
Kepulauan Virgin, Inggris
VI
Kepulauan Virgin, AS
VN Vietnam
VU Vanuatu
WF
Wallis dan Futuna
WS Samoa
KAMU Yaman
YT mayotte
ZA Afrika Selatan
ZM Zambia
ZW Zimbabwe