WooCommerce 使用 PayPal 收款添加手续费

做外贸的朋友都知道,使用 PayPal 收款是需要手续费的,按 WooCommerce 默认的 PayPal 收款网关没有设置手续费的选项。

相信聪明且有耐心你肯定可以找到支持为 PayPal 收款设置手续费的插件。一刀我就没有这个耐心,于是研究了一下 WooCommerce PayPal 支付网关的相关代码,发现我们可以通过两端代码来为 PayPal 添加手续费。

为 PayPal 支付网关添加手续费的代码

多余的话咱不讲,一言不合就上代码(由此可见我是多么没耐心😄)。老规矩,把代码加到 functions.php 里面就可以了。

  1. add_action('woocommerce_cart_calculate_fees', function ()
  2. {
  3.     $chosen_gateway = WC()->session->get('chosen_payment_method');
  4.     if ($chosen_gateway == 'paypal') {
  5. 
    
  6.         if ( ! wc_prices_include_tax()) {
  7.             $amount = WC()->cart->get_cart_contents_total() + WC()->cart->get_shipping_total();
  8.         } else {
  9.             $amount = WC()->cart->get_cart_contents_total() + WC()->cart->get_taxes_total() + WC()->cart->get_shipping_total();
  10.         }
  11. 
    
  12.         WC()->cart->add_fee('PayPal Fee', $amount * 0.05);
  13.     }
  14. });

上面的代码只实现了默认选择 PayPal 支付网关时添加手续费的功能。我们需要在用户切换网关后也自动把这个手续费加上,代码也非常简单。

  1. add_action('woocommerce_review_order_before_payment', function ()
  2. {
  3.     ?>
  4.     <script type="text/javascript">
  5.         (function($) {
  6.             $('form.checkout').on('change', 'input[name^="payment_method"]', function() {
  7.                 $('body').trigger('update_checkout');
  8.             });
  9.         })(jQuery);
  10.     </script>
  11.     <?php
  12. });

上面的代码翻译成人类语言就是:在支付方法改变时,触发更新购物车的方法。

同样的道理,你也可以为其他支付网关设置手续费,所需要修改的就是找准支付网关的名字,把第一段代码中的网关名称换掉就可以了,调整手续费的点数就更简单了,把代码中的 0.05 换成你需要的数字就可以了。

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/80429

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注