pppbbb

投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.0.2)
Welcart のバージョン:(例 2.8.1)
PHP のバージョン:(例 8.0)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.1、SKU Select 1.4.2)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.7.1)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.4)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------

フォーラムへの返信

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • 返信先: ソニーペイメント仕様変更について #102380
    pppbbb
    参加者

    以下になります。
    ——————————————-
    WordPress のバージョン:6.5.5
    Welcart のバージョン:2.10.6
    PHP のバージョン:8.1
    Welcart専用の拡張プラグインとバージョン:WCEX Multi Price 1.3.3、WCEX Google Analytics4 1.0.6
    ご利用の親テーマとバージョン:Welcart Basic 1.8.5
    ご利用の子テーマとバージョン:Welcart VOLL 1.5.1(カスタマイズ有り)
    症状を確認したブラウザ:
    サーバー【重要】:Bizメール&ウェブ ビジネスr3
    ——————————————–

    昨日のコメントが消されているようですが、対応や状況が変わったということでしょうか?

    pppbbb
    参加者

    ikeda様、ご返信ありがとうございます。

    拡張機能クレジットカードセキュリティ対策も有効化しています。
    その後、独自でクレジットカード入力画面の「次へ」にGoogle reCAPTCHAのチェックを設定しました。
    (現時点ではWelcartをメンテナンスモードでテスト中)
    ソニーペイメントからも依頼のあった作業になります。

    現状のWelcartの機能では防げないようなので、
    将来的に標準機能のGoogle reCAPTCHAの範囲をカートページ全体やお問い合わせフォームなどにもにひろげることも検討いただければ幸いです。

    pppbbb
    参加者

    横から失礼いたします。
    同様に悩んでいたところ、別の方法で非表示にできたので共有させていただきます。

    実際に記述を消すのではなく、担当表示用のフォントサイズ設定があるので、フォントサイズを0にすることで非表示にする方法に至りました。
    参考になれば幸いです。

    参考コード:

    add_filter( 'useces_filter_order_pdfheader_fontsize', function( $fontsizes ) {
    	$fontsizes['customer_attn'] = 0;
    	return $fontsizes;
    } );
    返信先: 複数商品での業務パック割引の適用 #92403
    pppbbb
    参加者

    一応、自己解決できましたので共有させていただきます。

    カートに入れたタイミングだけでなく、カート内商品を削除のタイミングでも単価の再計算の必要がありました。
    ですので、usces_action_after_inCartusces_action_after_cart_del_rowフックを用いて、get_cart()を参考にセッションに保存されている単価を上書きできるようにしました。

    以下がフックした処理です。

    global $usces;
    foreach( $_SESSION['usces_cart'] as $serial => $qua ) {
    	$row = $usces->cart->key_unserialize( $serial );
    	$post_id = $row['post_id'];
    	$sku = $row['sku'];
    	$price = $usces->cart->get_realprice( $post_id, $sku, $_SESSION['usces_cart'][$serial]['quant'] );
    	$_SESSION['usces_cart'][$serial]['price'] = $price;
    }

    ポイントはシリアライズされた$serialを配列のキーとしてそのまま使用することです。
    get_cart()だとアンシリアライズされているため、使用しませんでした。
    ※もし解釈が間違っていたら申し訳ありません。

    ただ、カート内で試しただけですので、受注リスト等で上手く処理されるかはわかりません。ご注意ください。

    pppbbb
    参加者

    ご返信ありがとうございます。
    ご対応お待ちしています。

5件の投稿を表示中 - 1 - 5件目 (全5件中)