解決済Auto Deliveryの2回目以降の料金算出について

フォーラム 拡張プラグイン 【解決済】Auto Deliveryの2回目以降の料金算出について

  • このトピックには4件の返信、2人の参加者があり、最後にkitagawaにより1年、 1ヶ月前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #99702
    deg
    参加者

    ——————————————-
    WordPress のバージョン:6.1.1
    Welcart のバージョン:2.8.13
    PHP のバージョン:7.4.33
    Welcart専用の拡張プラグインとバージョン:Auto Delivery
    ご利用の親テーマとバージョン : Welcart Basic 1.7.3
    ご利用の子テーマとバージョン : Welcart Basic Child
    症状を確認したブラウザ:safari
    サーバー【重要】:xserver x10
    ——————————————–

    お世話になります。
    クライアントEC案件で定期購入商品向けにAuto Deliveryを使用致しております。

    Auto Deliveryの2回目以降の自動売上における、手数料の算出についてご教授ください。

    今回、定期購入商品の販売条件が「送料無料・代引手数料無料」となりますので、代引手数料については「カート内が特定SKU(定期購入商品)のみの場合、代引手数料を無料」となる様に、他サイトの情報をベースに下記の様に手を加え、functions.phpに記述しております。

    add_filter(‘usces_filter_set_cart_fees_cod’, ‘customized_set_cart_fees_cod’, 10, 7);
    function customized_set_cart_fees_cod($cod_fee, $entries, $total_items_price, $use_point, $discount, $shipping_charge, $amount_by_cod) {
    global $usces;

    //代引手数料を無料にするSKUの指定
    $free_skus = array(‘対象skuコード’);
    $free_sku_in_cart = false;

    // カート情報の取得
    $carts = $usces->cart->get_cart();

    $myteikiitem = 0;

    // カート内に指定sku以外があれば、$myteikiitemに1加算
    foreach ($carts as $item) {
    if (!in_array($item[‘sku’], $free_skus)) {
    $myteikiitem = ++$myteikiitem;
    }
    }
    // $myteikiitemが加算されていなければtrueに置き換え
    if($myteikiitem == 0) {
    $free_sku_in_cart = true;
    }
    // $free_sku_in_cartがtrueなら代引手数料0
    if ($free_sku_in_cart) {
    $cod_fee = 0;
    }
    return $cod_fee;
    }

    不慣れな事もあり少し強引な記述かとは思いますが、一応これで初回の動作は代引手数料無料となりました。
    しかし2回目の自動受注時は手数料が通常通り加算されており、困っております。

    Auto Deliveryの自動売上時の料金算出は、どの様な仕様になりますでしょうか?
    また、上記の動作を自動受注時にも適用させる事は出来ますでしょうか?

    Auto Deliveryについては、諸々とニーズが多い割に情報や関数が少ない様に思えますので、なかなか苦慮しております。
    皆様のお力添え宜しくお願い致します。

    #99731
    deg
    参加者

    >kitagawa様

    ありがとうございます。
    大変助かります。
    下記のご返信について、1点アドバイスを頂けないでしょうか。

    >> また、上記の動作を自動受注時にも適用させる事は出来ますでしょうか?
    >usc-e-shop\classes\usceshop.class.php 内の
    >フィルターフック「usces_filter_getCODFee」を使えば
    >定期購入の自動受注データ作成時も対応できるかと思います。

    フィルターフック usces_filter_getCODFee は代引き手数料のフィルターで、購入時のカート処理に反映される事を確認致しましたが、定期購入の自動受注時にも反映されるとの認識で宜しいでしょうか?

    という事は、当方が質問上で記述している customized_set_cart_fees_cod のフィルターを usces_filter_getCODFee のフィルターフックに置き換える事で、定期購入の初回購入時も自動受注時も代引手数料を操作する事ができる、という捉え方で間違いないでしょうか?

    定期購入は2回目以降の自動受注の検証が即座にできない為、「書いて試す」にも時間を要してしまい、他力本願な点、お許しください。

    宜しくお願い致します。

    #99732
    kitagawa
    キーマスター

    deg 様

    ご返信ありがとうございます。
    お力になれて幸いです。

    > フィルターフック usces_filter_getCODFee は代引き手数料のフィルターで、購入時のカート処理に> 反映される事を確認致しましたが、定期購入の自動受注時にも反映されるとの認識で宜しいでしょうか?
    「wcad_make_order」関数内で$usces->getCODFee()が使用されているので
    フィルターフック「usces_filter_getCODFee」が利用できます。

    恐れ入りますがカスタマイズのレクチャはできかねますので、ご自身でのカスタマイズが難しい場合にはこちら WelCustom よりお申し出いただけますでしょうか。

    ご理解いただければ幸いです。
    よろしくお願いいたします。

    #99738
    deg
    参加者

    承知致しました。
    ありがとうございます。

    #99747
    kitagawa
    キーマスター

    deg 様

    お世話になっております。
    情報共有の為、こちらのトピックは「解決済み」とさせていただきます。ご了承ください。

    その他ご不明な点がありましたら別途お問い合わせください。
    ありがとうございました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。