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):

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 |
