如何在 WooCommerce 中禁用某些国家/地区的支付网关
已发表: 2019-10-24在我的上一篇文章中,我谈到了如何根据不同的用户角色禁用 WooCommerce 中的支付网关。 有时,您可能需要根据客户所在的国家/地区执行此操作。 这可能是由于不同的原因,例如支付网关在该国家/地区未广泛使用,或者您希望鼓励您的客户使用某个支付网关进行支付,因此您希望有选择地启用该支付网关。 无论如何,对于在全球范围内服务的电子商务商店,这是一个有用的功能。 继续阅读以了解如何在 WooCommerce 中禁用某些国家/地区的支付网关。
与大多数事情一样,您可以使用代码片段或插件来做到这一点。
使用代码段禁用某些国家/地区的支付网关
首先,让我们考虑一个您要禁用 PayPal for India 的实例。 将以下代码粘贴到您的子主题的 functions.php 文件中:
add_filter('woocommerce_available_payment_gateways','ts_disable_payment_gateway_by_country');
功能 ts_disable_payment_gateway_by_country( $available_payment_gateways ) {
if ( is_admin() ) 返回 $available_payment_gateways;
if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) {
未设置($available_payment_gateways['paypal']);
}
返回$available_payment_gateways;
}在这里,我们向钩子woocommerce_available_payment_gateways添加了一个函数,该函数检查我们正在为其编写条件的国家/地区的国家代码,并禁用该国家/地区的 PayPal(在我们的例子中为印度):

每个国家都有不同的代码,就像我们在这里用“IN”表示印度一样。 您可以在本文末尾找到国家/地区代码列表。
默认可用支付网关的关键字/标签是:
贝宝:贝宝
直接银行转账: bas
货到付款:鳕鱼
支票:支票
让我们考虑另一个例子,我们希望仅对美国客户启用 PayPal 选项,而对印度客户禁用此选项。 在这种情况下,我们将在上面的代码片段中再调整几行,以便为美国客户禁用其他支付网关:
add_filter('woocommerce_available_payment_gateways','ts_disable_payment_gateway_by_country');
功能 ts_disable_payment_gateway_by_country( $available_payment_gateways ) {
if ( is_admin() ) 返回 $available_payment_gateways;
if ( isset( $available_payment_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'IN' ) {
未设置($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['cheque'])) { unset($available_payment_gateways['cheque']); }
if (isset($available_payment_gateways['cod'])) { unset($available_payment_gateways['cod']); }
}
返回$available_payment_gateways;
}通过这种方式,您可以根据客户所在的国家/地区禁用支付网关。
使用插件禁用某些国家/地区的支付网关
还有一些插件可用于根据客户所在的国家/地区禁用支付网关。 一个这样的插件是Country Based Payments插件。 这是一个免费插件,您可以使用它来决定哪个支付网关应该在哪个国家/地区可用。 虽然插件界面友好且不言自明,但如果您只想从支付网关中排除一个国家,那么解决方法是选择该支付网关的所有国家,然后单独取消选择要禁用的国家那个支付网关。
此外,使用WooCommerce 插件的条件支付方式,您可以根据国家/地区隐藏/显示任何支付网关(包括自定义网关)——客户的账单/发货地点,或产品分类或订单总额。 例如,在美国、加拿大和欧洲国家显示 PayPal 和 Stripe。
通过这种方式,您可以使用代码片段和插件来禁用基于国家/地区的支付网关。
国家代码列表:
| 代码 | 地点/国家 |
| A1 | 匿名代理 |
| A2 | 卫星提供商 |
| O1 | 其他国家 |
| 广告 | 安道尔 |
| AE | 阿拉伯联合酋长国 |
| 自动对焦 | 阿富汗 |
| 股份公司 | 安提瓜和巴布达 |
| 人工智能 | 安圭拉 |
| 铝 | 阿尔巴尼亚 |
| 是 | 亚美尼亚 |
| AO | 安哥拉 |
| 美联社 | 亚太地区 |
| 水Q | 南极洲 |
| 增强现实 | 阿根廷 |
| 作为 | 美属萨摩亚 |
| 在 | 奥地利 |
| 非盟 | 澳大利亚 |
| AW | 阿鲁巴岛 |
| 斧头 | 奥兰群岛 |
| AZ | 阿塞拜疆 |
| 文学学士 | 波斯尼亚和黑塞哥维那 |
| BB | 巴巴多斯 |
| BD | 孟加拉国 |
| 是 | 比利时 |
| 高炉 | 布基纳法索 |
| BG | 保加利亚 |
| BH | 巴林 |
| 双 | 布隆迪 |
| 北京 | 贝宁 |
| 提单 | 圣巴泰勒米 |
| BM | 百慕大 |
| 国阵 | 文莱达鲁萨兰国 |
| 博 | 玻利维亚 |
| BQ | 博内尔岛、圣尤斯特歇斯和萨巴岛 |
| BR | 巴西 |
| 学士学位 | 巴哈马 |
| 英国电信 | 不丹 |
| BV | 布维岛 |
| 体重 | 博茨瓦纳 |
| 经过 | 白俄罗斯 |
| BZ | 伯利兹 |
| 加州 | 加拿大 |
| 抄送 | 科科斯(基林)群岛 |
| 光盘 | 刚果民主共和国 |
| CF | 中非共和国 |
| CG | 刚果 |
| 甲烷 | 瑞士 |
| CI | 科特迪瓦 |
| CK | 库克群岛 |
| CL | 智利 |
| 厘米 | 喀麦隆 |
| 中国 | 中国 |
| 一氧化碳 | 哥伦比亚 |
| 铬 | 哥斯达黎加 |
| 铜 | 古巴 |
| 简历 | 佛得角 |
| 连续波 | 库拉索 |
| CX | 圣诞岛 |
| CY | 塞浦路斯 |
| 长征 | 捷克共和国 |
| 德 | 德国 |
| DJ | 吉布提 |
| 丹麦 | 丹麦 |
| DM | 多米尼克 |
| 做 | 多明尼加共和国 |
| DZ | 阿尔及利亚 |
| 欧共体 | 厄瓜多尔 |
| EE | 爱沙尼亚 |
| 例如 | 埃及 |
| 嗯 | 西撒哈拉 |
| 急诊室 | 厄立特里亚 |
| ES | 西班牙 |
| 外星人 | 埃塞俄比亚 |
| 欧盟 | 欧洲 |
| FI | 芬兰 |
| 缩略词 | 斐济 |
| FK | 福克兰群岛(马尔维纳斯) |
| 调频 | 密克罗尼西亚联邦 |
| 佛 | 法罗群岛 |
| FR | 法国 |
| 遗传算法 | 加蓬 |
| 国标 | 英国 |
| 广东 | 格林纳达 |
| 通用电气 | 乔治亚州 |
| GF | 法属圭亚那 |
| GG | 根西岛 |
| 生长激素 | 加纳 |
| 胃肠道 | 直布罗陀 |
| 总帐 | 格陵兰 |
| 通用汽车 | 冈比亚 |
| GN | 几内亚 |
| 全科医生 | 瓜德罗普 |
| GQ | 赤道几内亚 |
| GR | 希腊 |
| GS | 南乔治亚岛和南桑威奇群岛 |
| 燃气轮机 | 危地马拉 |
| 顾 | 关岛 |
| GW | 几内亚比绍 |
| GY | 圭亚那 |
| 香港 | 香港 |
| HM | 赫德岛和麦克唐纳群岛 |
| 氢化物 | 洪都拉斯 |
| 人力资源 | 克罗地亚 |
| H T | 海地 |
| 胡 | 匈牙利 |
| ID | 印度尼西亚 |
| IE | 爱尔兰 |
| 伊利诺伊州 | 以色列 |
| 我是 | 马恩岛 |
| 在 | 印度 |
| IO | 英属印度洋领地 |
| 智商 | 伊拉克 |
| 红外 | 伊朗伊斯兰共和国 |
| 是 | 冰岛 |
| 它 | 意大利 |
| 乙脑 | 球衣 |
| 杰米 | 牙买加 |
| 乔 | 约旦 |
| J.P | 日本 |
| 柯 | 肯尼亚 |
| 公斤 | 吉尔吉斯斯坦 |
| KH | 柬埔寨 |
| KI | 基里巴斯 |
| 公里 | 科摩罗 |
| KN | 圣基茨和尼维斯 |
| KP | 朝鲜民主主义人民共和国 |
| 韩国 | 大韩民国 |
| 千瓦 | 科威特 |
| 肯塔基州 | 开曼群岛 |
| KZ | 哈萨克斯坦 |
| 洛杉矶 | 老挝人民民主共和国 |
| 磅 | 黎巴嫩 |
| 液相色谱 | 圣卢西亚 |
| 李 | 列支敦士登 |
| 力劲 | 斯里兰卡 |
| LR | 利比里亚 |
| LS | 莱索托 |
| LT | 立陶宛 |
| 鲁 | 卢森堡 |
| 低压 | 拉脱维亚 |
| LY | 阿拉伯利比亚民众国 |
| 嘛 | 摩洛哥 |
| MC | 摩纳哥 |
| 医学博士 | 摩尔多瓦共和国 |
| 我 | 黑山 |
| 中频 | 圣马丁 |
| MG | 马达加斯加 |
| MH | 马绍尔群岛 |
| MK | 马其顿 |
| 机器学习 | 马里 |
| 毫米 | 缅甸 |
| 锰 | 蒙古 |
| 莫 | 澳门 |
| 国会议员 | 北马里亚纳群岛 |
| MQ | 马提尼克岛 |
| 先生 | 毛里塔尼亚 |
| 多发性硬化症 | 蒙特塞拉特 |
| 公吨 | 马耳他 |
| 亩 | 毛里求斯 |
| MV | 马尔代夫 |
| 兆瓦 | 马拉维 |
| MX | 墨西哥 |
| 我的 | 马来西亚 |
| 美中 | 莫桑比克 |
| 不适用 | 纳米比亚 |
| 数控 | 新喀里多尼亚 |
| 网元 | 尼日尔 |
| NF | 诺福克岛 |
| NG | 尼日利亚 |
| 你 | 尼加拉瓜 |
| 荷兰 | 荷兰 |
| 不 | 挪威 |
| NP | 尼泊尔 |
| NR | 瑙鲁 |
| NU | 纽埃 |
| 新西兰 | 新西兰 |
| OM | 阿曼 |
| 功放 | 巴拿马 |
| 体育 | 秘鲁 |
| PF | 法属波利尼西亚 |
| PG | 巴布亚新几内亚 |
| 酸碱度 | 菲律宾 |
| PK | 巴基斯坦 |
| PL | 波兰 |
| 下午 | 圣皮埃尔和密克隆 |
| PN | 皮特凯恩 |
| 公关 | 波多黎各 |
| 附言 | 巴勒斯坦领土 |
| PT | 葡萄牙 |
| 私服 | 帕劳 |
| PY | 巴拉圭 |
| 质量保证 | 卡塔尔 |
| 回覆 | 团圆 |
| 反渗透 | 罗马尼亚 |
| RS | 塞尔维亚 |
| 俄罗斯 | 俄罗斯联邦 |
| RW | 卢旺达 |
| 南非 | 沙特阿拉伯 |
| 某人 | 所罗门群岛 |
| SC | 塞舌尔 |
| 标清 | 苏丹 |
| 东南 | 瑞典 |
| SG | 新加坡 |
| 上海 | 圣赫勒拿 |
| SI | 斯洛文尼亚 |
| SJ | 斯瓦尔巴和扬马延 |
| SK | 斯洛伐克 |
| SL | 塞拉利昂 |
| SM | 圣马力诺 |
| 序列号 | 塞内加尔 |
| 所以 | 索马里 |
| SR | 苏里南 |
| 党卫军 | 南苏丹 |
| 英石 | 圣多美和普林西比 |
| SV | 萨尔瓦多 |
| SX | 圣马丁 |
| SY | 阿拉伯叙利亚共和国 |
| 深圳 | 斯威士兰 |
| TC | 特克斯和凯科斯群岛 |
| 运输署 | 乍得 |
| 特遣部队 | 法属南部领地 |
| TG | 多哥 |
| TH | 泰国 |
| TJ | 塔吉克斯坦 |
| 传统知识 | 托克劳 |
| TL | 东帝汶 |
| TM值 | 土库曼斯坦 |
| TN | 突尼斯 |
| 至 | 汤加 |
| TR | 火鸡 |
| TT | 特立尼达和多巴哥 |
| 电视 | 图瓦卢 |
| 台湾 | 台湾 |
| 太极 | 坦桑尼亚联合共和国 |
| UA | 乌克兰 |
| UG | 乌干达 |
| 嗯 | 美国本土外小岛屿 |
| 我们 | 美国 |
| UY | 乌拉圭 |
| 乌兹别克斯坦 | 乌兹别克斯坦 |
| 弗吉尼亚州 | 圣座(梵蒂冈城邦) |
| 风险投资 | 圣文森特和格林纳丁斯 |
| VE | 委内瑞拉 |
| 视频网关 | 英属维尔京群岛 |
| 六 | 美国维尔京群岛 |
| 越南 | 越南 |
| 似曾相识 | 瓦努阿图 |
| WF | 瓦利斯和富图纳 |
| WS | 萨摩亚 |
| 叶 | 也门 |
| 优酷 | 马约特岛 |
| ZA | 南非 |
| ZM | 赞比亚 |
| ZW | 津巴布韦 |
