解決済WCEX Auto Deliveryで自動注文時にPayPal決済エラー

フォーラム 拡張プラグイン 【解決済】WCEX Auto Deliveryで自動注文時にPayPal決済エラー

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

    お世話になります。
    WCEX Auto Deliveryで2回目の自動注文テストをすると、開発モードのPayPalで決済エラーになりました。

    テストの方法に問題がありますでしょうか?

    ■テストの方法
    1.Welcart、Auto Deliveryをインストールした真っ更な最新版のWordPressを用意
    2.初期設定をして1日毎に購入の定期購入商品を用意
    3.「wcad_do_event」関数の「wcad_event_mark」の処理をコメントアウトして日付チェックをスルーするように
    3.手動で1回目の注文をしたあと、2回目の注文日をDB操作で今日に
    4.WP Crontrolで「wcad_event」を手動実行

    この方法を行うと2回目のとき、代引き決済だと注文が通るのですが開発モードのPayPal決済がエラーになります。
    以下はエラー内容とPayPal決済が通った対応内容です。

    ■エラー内容
    #出力したログ内の警告
    PHP Notice: Undefined index: total_full_price in /wp-content/plugins/usc-e-shop/classes/paymentPayPalCP.class.php on line 1856

    ■対応内容
    警告文の該当箇所は以下の行です。
    $purchase_units['amount']['value'] = usces_crform( $entry['order']['total_full_price'], false, false, 'return', false );

    $entryに’total_full_price’キーの値が無いとのことでした。
    トレースの結果、「wcex_auto_delivery/functions/function.php」375行目辺りの以下、

    $order_id = $regular_order['reg_order_id'];

    こちらの次に以下のコードを追加しました。

    $data = $usces->get_order_data( $order_id, 'direct' );
    $total_full_price = $data['order_item_total_price'] - $data['order_usedpoint'] + $data['order_discount'] + $data['order_shipping_charge'] + $data['order_cod_fee'] + $data['order_tax'];
    if( $total_full_price < 0 ) $total_full_price = 0;
    
    // entry変数にtotal_full_priceを追加
    $entry['order']['total_full_price'] = $total_full_price;
    

    この処理は「wcex_auto_delivery/wcex_auto_delivery.php」の625行目辺りにある処理を流用しています。
    こうすると開発モードのPayPal決済が通り、SandBoxのPayPalにログインしても決済内容が表示されました。

    内容的には「/wp-content/plugins/usc-e-shop/classes/paymentPayPalCP.class.php」のregister_auto_orderdataという関数に渡ってくる$args引数の中の$ntry変数に、total_full_priceのキーと値を入れています。

    お手数ですが、こちらがテストの不備か不具合なのかご教授いただけますと幸いです。

    ——————————————-
    WordPress のバージョン:5.7.2
    Welcart のバージョン:2.2.4
    PHP のバージョン:7.4.13
    Welcart専用の拡張プラグインとバージョン:WCEX Auto Delivery 1.2.3
    その他プラグイン:WP Crontrol 1.10.0
    ご利用のテーマ:WelcartBasic
    症状を確認したブラウザ:Chrome
    サーバー【重要】:Xサーバー X10プラン
    ——————————————–

    • このトピックはikedaが4ヶ月前に変更しました。
    #93854
    ikeda
    キーマスター

    5io様

    こんにちは。
    ご報告いただきありがとうございました。
    こちらは Welcart 本体の修正になります。
    ご不便をおかけしまして申し訳ございませんが、
    次期バージョンのリリースをお待ちいただけますと幸いです。

    #93858
    5io
    参加者

    ikeda様

    いえいえ、ご返信ありがとうございます。
    次期バージョンにて修正の旨承知いたしました。

    お手数おかけしますが、前回のように開発版コードのご提供が可能であればお願いできますでしょうか。

    また上記のプログラム修正に問題がなければ一時的に本番環境に実装予定なのですが、差し支えなければ「辞めておいた方が良い」「現段階では回答が難しい」などご助言下さいますと幸いです。

    お忙しい中恐れ入りますが、よろしくお願いいたします。

    #93859
    ikeda
    キーマスター

    5io様

    Development Version をご利用いただけますでしょうか。
    こちらで問題なければそのままご利用いただけたらと思います。
    今回の修正は、Welcart の次期アップデートに含まれます。
    どうぞよろしくお願いいたします。

    #93861
    5io
    参加者

    ikeda様

    開発版コードのご提供ありがとうございます。
    こちらで問題なく決済が通ることを確認できました。

    お忙しい中、この度もご対応ありがとうございました。

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