Welcartで代引手数料以外の手数料を加算する

忘れそうなので、メモ。WelcartはWordPressをECサイト化する国産のプラグインですが、標準では代引手数料以外の手数料を加算する機能がありません(ver.1.2.1現在。今後対応されるとのことです)。

今構築している北欧雑貨の通販サイトでは、決済方法に代金引換の他、「NP後払い」という決済を利用するので、この支払方法を選択した注文に対して所定の手数料(今回は200円)を商品代金以外に加算したいと思います。

この場合、Welcart側で用意されたフックを利用して、NP後払いを選択した場合だけ手数料を加算する、という処理を、使用するテーマのfunctions.phpに書き加えます(既存のテーマを使っている場合は、子テーマを作ってからfunctions.phpファイルを作成するとよいでしょう)。コードはこんな感じになります。

(追記:2013.12.8 コードを見直しました)

function my_filter_getCODFee(){
    $args = func_get_args(); //フックからデータを取得
    list ($fee, $payment_name, $amount_by_cod) = $args; //配列を変数にセット
    if ($payment_name == 'NP後払い') {
        $fee = 200;  //支払方法がNP後払いなら、手数料を200円に設定
    }
    return $fee;
}

add_filter('usces_filter_getCODFee', 'my_filter_getCODFee', 10, 3);

function my_filter_cod_label() {
    $text = '代引・後払い手数料'; //カートの手数料表記を書き換える
    return $text;
}

add_filter('usces_filter_cod_label', 'my_filter_cod_label');

コードのご利用はご自由にどうぞ。ただし、不具合などの責は負いかねますので、よくテストしてご利用ください。

この記事を書いた人

いがらしたけし