WooCommerce使用PayPal 收款添加收款手续费
文 / @WordPress主题
为PayPal支付网关添加手续费的代码
做出口贸易的朋友都知道,在使用PayPal收款时必须支付手续费,但是WooCommerce默认的PayPal收款网关没有设置手续费的选项。那么老外是否默认收款方会支付手续费呢?
相信有智慧和耐心的你一定能够找到支持为PayPal收款设置手续费的插件。然而我太懒了,于是对WooCommercePayPal支付网关的相关代码进行了研究,发现我们可以通过两段代码来为PayPal添加手续费。
在PayPal支付网关中添加手续费的代码
不多说,上代码(由此可见我是多么没有耐心?)。老规矩,只需将代码添加到functions.php文件中即可。
add_action('woocommerce_cart_calculate_fees', function()
{
$chosen_gateway = WC()->session->get('chosen_payment_method');
if ($chosen_gateway == 'paypal') {
if (!wc_prices_include_tax()) {
$amount = WC()->cart->get_cart_contents_total() + WC()->cart->get_shipping_total();
} else {
$amount = WC()->cart->get_cart_contents_total() + WC()->cart->get_taxes_total() + WC()->cart->get_shipping_total();
}
WC()->cart->add_fee('PayPal手续费', $amount * 0.05);
}
});
上述代码只是实现了选择PayPal支付网关时自动添加手续费。我们需要修改代码,使得在用户切换到其他支付网关时也可以自动添加手续费。修改很简单。
add_action('woocommerce_review_order_before_payment', function()
{
?>
<script type="text/javascript">
(function($) {
$('form.checkout').on('change', 'input[name^="payment_method"]', function () {
$('body').trigger('update_checkout');
});
})(jQuery);
</script>
<?php
});
简而言之,上述代码的意思是:在支付方式改变时,触发购物车的自动更新方法。
同样地,通过修改支付网关名称和手续费数字,你也可以为其他支付网关设置手续费。相信这并不难。

相关文章
-
WordPress同城互联网产品解决方案:UBASE 2023-10-03 16:40:39
-
WordPress网站的安全插件:wordfence 2023-09-14 09:25:18
-
创建Vue组件详细教程 2023-09-10 00:23:17
-
WordPress 6.3 支持在手动更新插件和主题失败后回滚旧版本 2023-08-28 16:58:45
-
WordPress 6.3版本(2023年8月)性能提升了哪些? 2023-08-28 16:56:02
-
Astra 主题团队推出人工智能驱动的 WordPress 网站创建平台 – ZIPWP 2023-08-28 16:49:54
-
WordPress 宣布将为用户提供 100 年域名托管服务 2023-08-28 16:45:27
-
PHP判断if else 和 switch case的区别盘点 2023-07-29 15:11:11
-
详解WordPress独立站SEM中的OCPC方法(含百度推广OCPC与谷歌OCPC) 2023-07-19 08:01:30
-
WordPress的古腾堡全站编辑器site-editor.php介绍(附:site-editor.php启用代码) 2023-07-16 08:01:57