根据 WooCommerce 中的订单总额更改 PayPal 地址

Posted

技术标签:

【中文标题】根据 WooCommerce 中的订单总额更改 PayPal 地址【英文标题】:Change PayPal adress based on order total in WooCommerce 【发布时间】:2021-03-09 09:23:55 【问题描述】:

我正在寻找解决问题的方法。我想根据 WooCommerce 订单总额更改 PayPal 电子邮件。

所以,如果订单总额

收件人 PayPal = paypalemail1@domain.com

其他

收款人 PayPal = paypalemail2@domain.com

我试图在这里搜索,我发现的唯一代码是:

add_filter( 'woocommerce_paypal_args', 'woocommerce_paypal_args', 10, 2 );
    function woocommerce_paypal_args( $paypal_args, $order ) 

    //Get the customer ID
    $user_id = $order->get_user_id();

    // Get the user data
    $user_data = get_userdata( $customer_id );

    // Adding an additional recipient for a custom user role

    if ( in_array( 'wholesale_customer', $user_data->roles )  )
        $paypal_args['business'] = 'email@email.com';

    return $paypal_args;

但这里不是基于 WooCommerce 订单总数,而是基于用户角色。有什么方法可以个性化吗?

【问题讨论】:

【参考方案1】:

woocommerce_paypal_args 有两个参数,设置和$order 对象。所以根据订单,我们可以得到总数,并在此基础上更改电子邮件

function filter_woocommerce_paypal_args( $paypal_args, $order ) 
    // Get total
    $order_total = $order->get_total();
    
    // Less then 10
    if ( $order_total < 10 ) 
        $paypal_args['business'] = 'paypalemail1@domain.com';
     else 
        $paypal_args['business'] = 'paypalemail2@domain.com';       
    

    return $paypal_args;

add_filter( 'woocommerce_paypal_args', 'filter_woocommerce_paypal_args', 10, 2 );

【讨论】:

以上是关于根据 WooCommerce 中的订单总额更改 PayPal 地址的主要内容,如果未能解决你的问题,请参考以下文章

从 WooCommerce 中的订单总额中删除运费总额

根据 Woocommerce 中的用户角色更改 COD 支付网关的默认订单状态

WooCommerce 获得订单总额

如何在 WooCommerce 编辑订单中计算自定义订单总额?

Woocommerce 集团订单总额按自定义字段日期

WooCommerce 根据用户角色更改 BACS 订单状态