Comment désactiver les passerelles de paiement pour certains pays dans WooCommerce
Publié: 2019-10-24Dans mon dernier article, j'ai expliqué comment désactiver les passerelles de paiement dans WooCommerce en fonction de différents rôles d'utilisateur. Parfois, il y a des cas où vous devrez peut-être le faire en fonction du pays du client. Cela peut être pour différentes raisons, telles que la passerelle de paiement n'étant pas largement utilisée dans ce pays, ou que vous souhaitiez encourager vos clients à utiliser une certaine passerelle de paiement pour effectuer des paiements et que vous souhaitiez donc activer de manière sélective cette passerelle de paiement. Dans tous les cas, lorsqu'il s'agit d'un magasin de commerce électronique qui sert à l'échelle mondiale, il s'agit d'une fonctionnalité utile. Lisez la suite pour savoir comment vous pouvez désactiver les passerelles de paiement pour certains pays dans WooCommerce.
Comme pour la plupart des choses, vous pouvez le faire en utilisant des extraits de code ou des plugins.
Utilisation d'un extrait de code pour désactiver les passerelles de paiement pour certains pays
Pour commencer, considérons un cas où vous souhaitez désactiver PayPal pour l'Inde. Collez le code suivant dans le fichier functions.php de votre thème enfant :
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() ) return $available_payment_gateways ; if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) { unset( $available_payment_gateways['paypal'] ); } renvoie $available_payment_gateways ; }
Ici, nous avons ajouté une fonction au hook woocommerce_available_payment_gateways , qui vérifie le code pays du pays pour lequel nous écrivons la condition et désactive PayPal pour ce pays (l'Inde dans notre cas) :
Chaque pays a un code différent, tout comme nous avons utilisé "IN" pour l'Inde ici. Vous trouverez la liste des codes pays à la fin de cet article.
Les mots clés/slugs pour les passerelles de paiement disponibles par défaut sont :
Paypal : Paypal
Virement bancaire direct : bacs
Paiement à la livraison : morue
Chèque : chèque
Considérons un autre cas où nous voulons que seule l'option PayPal soit activée pour les clients aux États-Unis, cette option étant désactivée pour ceux en Inde. Dans ce cas, nous ajusterons quelques lignes supplémentaires à notre extrait de code ci-dessus afin qu'il désactive les autres passerelles de paiement pour les clients aux États-Unis :
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() ) return $available_payment_gateways ; if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) { unset( $available_payment_gateways['paypal'] ); } if ( WC()->client->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']); } } renvoie $available_payment_gateways ; }
De cette façon, vous pouvez désactiver les passerelles de paiement en fonction du pays du client.
Utiliser un plugin pour désactiver les passerelles de paiement pour certains pays
Il existe également des plugins disponibles pour désactiver les passerelles de paiement selon le pays du client. L'un de ces plugins est le plugin Country Based Payments . Il s'agit d'un plugin gratuit que vous pouvez utiliser pour décider quelle passerelle de paiement doit être disponible dans quel pays. Bien que l'interface du plug-in soit conviviale et explicite, si vous souhaitez exclure un seul pays d'une passerelle de paiement, la solution consiste à sélectionner tous les pays de cette passerelle de paiement, puis à désélectionner individuellement les pays que vous souhaitez désactiver. cette passerelle de paiement pour.
De plus, à l'aide du plug-in Conditional Payment Methods for WooCommerce , vous pouvez masquer/afficher toutes les passerelles de paiement (y compris les passerelles personnalisées) en fonction des pays - lieu de facturation/d'expédition des clients, taxonomie des produits ou total de la commande. Par exemple, affichez PayPal et Stripe aux États-Unis, au Canada et dans les pays européens.
De cette manière, vous pouvez utiliser des extraits de code ainsi que des plugins pour désactiver les passerelles de paiement en fonction du pays.
Liste des codes de pays :
Code | Lieu/Pays |
A1 | proxy anonyme |
A2 | Fournisseur de satellites |
O1 | Autre pays |
UN D | Andorre |
AE | Emirats Arabes Unis |
UN F | Afghanistan |
AG | Antigua-et-Barbuda |
IA | Anguilla |
AL | Albanie |
UN M | Arménie |
AO | Angola |
PA | Région Asie-Pacifique |
QA | Antarctique |
RA | Argentine |
COMME | Samoa américaines |
À | L'Autriche |
UA | Australie |
AW | Aruba |
HACHE | Iles Aland |
AZ | Azerbaïdjan |
BA | Bosnie Herzégovine |
BB | Barbade |
BD | Bengladesh |
ÊTRE | Belgique |
BF | Burkina Faso |
BG | Bulgarie |
BH | Bahreïn |
BI | Burundi |
BJ | Bénin |
BL | Saint Barthélemy |
BM | Bermudes |
NE | Brunei Darussalam |
BO | Bolivie |
QB | Bonaire, Saint Eustache et Saba |
BR | Brésil |
BS | Bahamas |
BT | Bhoutan |
VB | Île Bouvet |
PC | Bostwana |
PAR | Biélorussie |
BZ | Bélize |
Californie | Canada |
CC | Îles Cocos (Keeling) |
CD | Congo, République Démocratique du |
CF | République centrafricaine |
CG | Congo |
CH | Suisse |
CI | Côte d'Ivoire |
CK | les Îles Cook |
CL | Chili |
CM | Cameroun |
CN | Chine |
CO | Colombie |
RC | Costa Rica |
UC | Cuba |
CV | Cap-Vert |
CW | Curacao |
CX | L'île de noël |
CY | Chypre |
CZ | République tchèque |
DE | Allemagne |
DJ | Djibouti |
NSP | Danemark |
DM | Dominique |
FAIS | République Dominicaine |
DZ | Algérie |
CE | Equateur |
EE | Estonie |
PAR EXEMPLE | Egypte |
EH | Sahara occidental |
Urgences | Érythrée |
ES | Espagne |
HE | Ethiopie |
UE | L'Europe |
FI | Finlande |
FJ | Fidji |
FK | Îles Falkland (Malouines) |
MF | Micronésie, États fédérés de |
FO | Îles Féroé |
FR | France |
Géorgie | Gabon |
Go | Royaume-Uni |
GD | Grenade |
GE | Géorgie |
GF | Guyane Française |
GG | Guernesey |
GH | Ghana |
IG | Gibraltar |
GL | Groenland |
GM | Gambie |
GN | Guinée |
généraliste | Guadeloupe |
GQ | Guinée Équatoriale |
GR | Grèce |
GS | Géorgie du Sud et îles Sandwich du Sud |
GT | Guatemala |
GU | Guam |
GW | Guinée-Bissau |
GY | Guyane |
Hong Kong | Hong Kong |
SM | Iles Heard et McDonald |
HN | Honduras |
HEURE | Croatie |
HT | Haïti |
HU | Hongrie |
IDENTIFIANT | Indonésie |
C'EST À DIRE | Irlande |
IL | Israël |
JE SUIS | île de Man |
DANS | Inde |
OI | Territoire britannique de l'océan Indien |
QI | Irak |
IR | Iran (République islamique d |
EST | Islande |
CE | Italie |
JE | Jersey |
JM | Jamaïque |
JO | Jordan |
JP | Japon |
KE | Kenya |
KG | Kirghizistan |
KH | Cambodge |
KI | Kiribati |
KM | Comores |
KN | Saint-Christophe-et-Niévès |
PC | République populaire démocratique de Corée |
KR | Corée, République de |
kW | Koweit |
KY | Îles Caïmans |
KZ | Kazakhstan |
LA | République démocratique populaire lao |
KG | Liban |
CL | Sainte-Lucie |
LI | Liechtenstein |
LK | Sri Lanka |
G / D | Libéria |
LS | Lesotho |
LT | Lituanie |
LU | Luxembourg |
BT | Lettonie |
LY | Jamahiriya arabe libyenne |
MA | Maroc |
MC | Monaco |
MARYLAND | Moldavie, République de |
MOI | Monténégro |
MF | Saint Martin |
MG | Madagascar |
MH | Iles Marshall |
MK | Macédoine |
ML | Mali |
MM | Birmanie |
MN | Mongolie |
MO | Macao |
député | Îles Mariannes du Nord |
QM | Martinique |
M | Mauritanie |
MME | Montserrat |
MT | Malte |
MU | Maurice |
MV | Maldives |
MW | Malawi |
MX | Mexique |
MA | Malaisie |
MZ | Mozambique |
N / A | Namibie |
NC | Nouvelle Calédonie |
NE | Niger |
NF | l'ile de Norfolk |
NG | Nigeria |
NI | Nicaragua |
T.-N.-L. | Pays-Bas |
NON | Norvège |
NP | Népal |
NR | Nauru |
UN | Niué |
Nouvelle-Zélande | Nouvelle-Zélande |
OM | Oman |
Pennsylvanie | Panama |
PE | Pérou |
FP | Polynésie française |
PG | Papouasie Nouvelle Guinée |
pH | Philippines |
PAQUET | Pakistan |
PL | Pologne |
PM | Saint-Pierre-et-Miquelon |
PN | Pitcairn |
RP | Porto Rico |
PS | Territoire Palestinien |
PT | le Portugal |
TP | Palaos |
PY | Paraguay |
AQ | Qatar |
CONCERNANT | Réunion |
RO | Roumanie |
RS | Serbie |
RU | Fédération Russe |
RW | Rwanda |
SA | Arabie Saoudite |
SB | îles Salomon |
CS | les Seychelles |
Dakota du Sud | Soudan |
SE | Suède |
SG | Singapour |
SH | Sainte-Hélène |
SI | Slovénie |
SJ | Svalbard et Jan Mayen |
Sask. | Slovaquie |
SL | Sierra Leone |
SM | Saint Marin |
SN | Sénégal |
ALORS | Somalie |
RS | Suriname |
SS | Soudan du sud |
ST | Sao Tomé et Principe |
SV | Le Salvador |
SX | Saint-Martin |
SY | République arabe syrienne |
SZ | Swaziland |
CT | îles Turques-et-Caïques |
TD | Tchad |
TF | Terres australes françaises |
TG | Aller |
E | Thaïlande |
TJ | Tadjikistan |
savoirs traditionnels | Tokélaou |
TL | Timor oriental |
MT | Turkménistan |
TN | Tunisie |
À | Tonga |
TR | Turquie |
TT | Trinité-et-Tobago |
la télé | Tuvalu |
TW | Taïwan |
TZ | Tanzanie, République-Unie de |
UA | Ukraine |
UG | Ouganda |
UM | Îles mineures éloignées des États-Unis |
NOUS | États-Unis |
UY | Uruguay |
UZ | Ouzbékistan |
Virginie | Saint-Siège (État de la Cité du Vatican) |
CV | Saint-Vincent-et-les-Grenadines |
VE | Venezuela |
TB | Îles Vierges britanniques |
VI | Îles Vierges, États-Unis |
VN | Viêt Nam |
VU | Vanuatu |
WF | Wallis et Futuna |
WS | Samoa |
VOUS | Yémen |
YT | Mayotte |
ZA | Afrique du Sud |
ZM | Zambie |
ZW | Zimbabwe |
