Advertisement

最新woocommerce結帳加入刷卡手續費/附加費用的中文教學方法

 

分享一個我經營購物網站必修改的函數
小本營利的商品很難經得起刷卡手續費的負擔
所以我一貫會附加費用
畢竟這筆費用的確不是入我的口袋
多虧了stackoverflow前輩們的分享
加上我自己部份修改完成符合自己需求的函數


函數效果

效果

當選擇ECPAY付款方式的時候,會主動更新結帳明細,增加附加費用為總計的4%



操作步驟

複製函數>移步到編輯佈景主題>function.php>新增在底部空白位置即可



1.複製以下函數

// 附加費用
add_action( 'woocommerce_cart_calculate_fees', 'bbloomer_add_checkout_fee_for_gateway' );
function bbloomer_add_checkout_fee_for_gateway() {
    $amount = WC()->cart->cart_contents_total;
  
    $chosen_gateway = WC()->session->get( 'chosen_payment_method' );
     if ( $chosen_gateway == 'ecpay' ) {
      WC()->cart->add_fee( 'ECPAY附加費用', $amount * 0.04 );
   }
}  
 
// 重新整理總計區塊
    
add_action( 'woocommerce_review_order_before_payment', 'bbloomer_refresh_checkout_on_payment_methods_change' );
    
function bbloomer_refresh_checkout_on_payment_methods_change(){
    ?>
    <script type="text/javascript">
        (function($){
            $( 'form.checkout' ).on( 'change', 'input[name^="payment_method"]', function() {
                $('body').trigger('update_checkout');
            });
        })(jQuery);
    </script>
    <?php
}

ecpay
:更改成你指定附加費用的付款方式

ECPAY附加費用:更改前台你要顯示的文字

$amount * 0.04:附加費用的計算


2.新增至function.php





3.完成

操作完以上步驟就完成了!
如果看不見效果
請檢查gateway是否改成你指定的付款方式?

指定的名稱是否正確?

你可以在後台的 商店>付款>找到你指定付款方式的連結,例如
wp-admin/admin.php?page=wc-settings&tab=checkout&section=ecpay
最尾的紅字即是名稱


延伸教學

如何在woocommerce訂單總計後加上第二種貨幣價格並顯示+後台訂單備註顯示