按国家地区禁用WooCommerce支付网关

最模板 2022-07-10 15:41 WooCommerce教程

如果您使用 WooCommerce 向多个国家/地区销售商品,您可能需要阻止来自某些国家/地区的客户使用特定的支付网关。例如,您可能只想向美国客户提供 PayPal。或者您可能希望阻止澳大利亚的客户使用 Stripe。无论您出于何种原因,根据客户账单或发货国家/地区限制支付网关非常简单。

 

首先,您需要了解支付网关“slug”。这可以通过转到您的 WordPress 后端并导航到 WooCommerce-> 设置-> 付款来轻松找到。单击支付网关将打开该网关的设置。现在查看屏幕顶部的地址栏 - slug 将位于地址的末尾,紧随其后&section=

按国家地区禁用WooCommerce支付网关

现在您知道支付网关 slug,您可以根据客户所在的国家/地区禁用支付网关。在下面的所有示例中,我们都使用客户账单信息中的国家/地区。如果您想改用发货国家/地区,请替换get_billing_country()为get_shipping_country()。

 

 

1,禁用特定国家的支付网关

在此示例中,我们将为法国客户禁用 PayPal 网关:

 

add_filter( 'woocommerce_available_payment_gateways', 'zuimoban_com_disable_paypal_france' );
   
function zuimoban_com_disable_paypal_france( $available_gateways ) {
    if ( is_admin() ) {
        return $available_gateways;
    }
    if ( isset( $available_gateways['paypal'] ) && WC()->customer->get_billing_country() == 'FR' ) {
        unset( $available_gateways['paypal'] );
    }
    return $available_gateways;
}

2,禁用多个国家的支付网关

在此示例中,我们将为澳大利亚、新西兰、德国和意大利的客户禁用 Stripe:

 

add_filter( 'woocommerce_available_payment_gateways', 'zuimoban_com_disable_stripe_multiple_countries' );
   
function zuimoban_com_disable_stripe_multiple_countries( $available_gateways ) {
    if ( is_admin() ) {
        return $available_gateways;
    }
    $disabled_countries = array(
        'AU',
        'NZ',
        'DE',
        'IT',
    );  
    if ( isset( $available_gateways['stripe'] ) && in_array( WC()->customer->get_billing_country(), $disabled_countries ) ) {
        unset( $available_gateways['stripe'] );
    }
    return $available_gateways;
}

 

3,仅允许特定国家/地区的支付网关

在此示例中,我们将仅允许美国的客户使用货到付款支付网关:

 

add_filter( 'woocommerce_available_payment_gateways', 'zuimoban_com_allow_cod_usa_only' );
   
function zuimoban_com_allow_cod_usa_only( $available_gateways ) {
    if ( is_admin() ) {
        return $available_gateways;
    }   
    if ( isset( $available_gateways['cod'] ) && WC()->customer->get_billing_country() != 'US' ) {
        unset( $available_gateways['cod'] );
    }
    return $available_gateways;
}
4,只允许几个国家的支付网关

 

在此示例中,我们将仅在客户位于美国、加拿大或英国时才允许支票付款。

 

add_filter( 'woocommerce_available_payment_gateways', 'zuimoban_com_allow_cheque_multiple_countries' );
   
function zuimoban_com_allow_cheque_multiple_countries( $available_gateways ) {
    if ( is_admin() ) {
        return $available_gateways;
    }
    $allowed_countries = array(
        'US',
        'CA',
        'GB',
    );  
    if ( isset( $available_gateways['cheque'] ) && ! in_array( WC()->customer->get_billing_country(), $allowed_countries ) ) {
        unset( $available_gateways['cheque'] );
    }
    return $available_gateways;
}

 

 

 

 

 

 

 

相关文章

  1. 在WooCommerce产品页面上显示销售总数

    让客户知道产品的受欢迎程度确实有助于转化。一种方法是在产品页面上显示产品已售出的次数。WooCommerce 已经记录了产品的销售次数,因此在产品页面上显示这些数据非常容易。 woo...

    2022-07-10
  2. 为注销的用户重命名WooCommerce我的帐户菜

    在您的 WooCommerce 商店中,您可能会有一个指向我的帐户页面的菜单链接。通常,无论用户是否登录,此链接都会显示我的帐户。但是,如果我们想让它为注销的用户说一些更有用的东西...

    2022-07-10
  3. 按国家地区禁用WooCommerce支付网关

    如果您使用 WooCommerce 向多个国家/地区销售商品,您可能需要阻止来自某些国家/地区的客户使用特定的支付网关。例如,您可能只想向美国客户提供 PayPal。或者您可能希望阻止澳大利亚...

    2022-07-10
  4. 变量$order获取WooCommerce订单信息

    在WooCommerce我怎样才能得到订单总额或者我怎样才能得到订单物品或者可能是订单 ID、客户 ID、账单信息、付款方式、总退款等等,使用变量$order可以获取。可能有 $order_id 可用。在这种...

    2022-04-15
  5. 使用$product获取WooCommerce产品信息ID、S

    在WooCommerce中,使用变量$product 如何获取产品 SKU或者我怎样才能得到产品的简短描述或者可能是产品库存水平、运输等级、税收等级、价格、正常价格、销售价格等等.并非总是可以访问...

    2022-04-15
  6. 在WooCommerce列表页显示商品品牌

    安装好WooCommerce Brands 插件网站将显示品牌分类,商品也会出现品牌链接,但是商品列表页如何也显示商品品牌呢?仅将这些添加到单个产品页面中。 在woomcomerce当中添加以下代码: ad...

    2022-04-15
  7. 在 WooCommerce中自定义地址格式

    每个国家都有不同的地址格式,例如,美国使用缩写的州名,而澳大利亚通常显示完整的州名。这些不是一成不变的规则,它们总是可以改变的。如何 ? 通过当然是自定义代码: 此代码...

    2022-07-26
  8. 在WooCommerce单个产品图像上禁用缩放、灯

    如果WooCommerce您不销售具有大量细节的高端产品,您的客户可能不需要直接放大您的产品图像的能力。而且,如果您不上传高分辨率图像,那么缩放功能就毫无用处。这同样适用于灯箱和...

    2022-07-10
  9. 在WooCommerce添加产品视频代替图片

    WooCommerce 不允许您添加产品视频,但是我们可以用几行代码添加它,不需要第三方插件。 WooCommerce 产品图片用于说明您的产品,但有些产品需要视频才能更好地展示它们。在这里,我将...

    2022-04-04
  10. 在WooCommerce中重命名国家地区

    如果您想在WooCommerce中重命名一个国家/地区,只需向您的网站添加代码片段即可。以下示例将Ireland更改为Republic of Ireland: add_filter( woocommerce_countries, snippetpress_rename_countries );function sni...

    2022-07-10