2017-02-06 8 views
0

私は寄付を可能にするjoomla 2.5のフォームを持っています。提出には、フォームが進行

  • 成功した場合は、次の両方が
  • フォームの値を保存を実行する必要がありauthorize.net、 経由paypmentプロセスよりも、次の..

    1. 外部メールの検証、良い場合を行いますデータベース内で
    2. さまざまな電子メールをユーザーと私に送信します。

    私の質問は#3に関するものです。次の行によってトリガを保存します。最後の50の提出のうち

    $result = parent::save($key, $urlVar); 
    

    、3は、それらがauthorize.netやメールを介して充電されていても、データベースに保存していないユーザーと私に送られました。何が起こっているのかをテスト/解消する最良の方法は何でしょうか。

  • 答えて

    0

    トラブルシューティングを行う最も良い方法は、authorize.netからテキストファイルに送信する前に変数を書き込むことです。データベースに入力されていないログデータを分析すると、それが起こった理由を正確に知ることができます。私のペイパルのプラグインでは、私は、テキストファイル

    function log_ipn_results($success) { 
         if ($this->ipn_log) { 
          $text = '[' . date('m/d/Y g:i A') . '] PAYPAL RESPONSE - '; 
          if ($success) 
           $text .= "SUCCESS!\n"; 
          else $text .= "FAIL!\n"; 
          $text .= "IPN POST Vars from Paypal:\n"; 
          foreach ($this->ipn_data as $key=>$value) { 
           $text .= "$key=$value, "; 
          } 
          $text .= "\nIPN Response from Paypal Server:\n " . $this->ipn_response; 
          $fp  = fopen($this->ipn_log_file, 'a');//Your log file path 
          fwrite($fp, $text . "\n\n"); 
          fclose($fp); // close file 
         } else { 
          // @todo does not log ipn file 
         } 
        } 
    

    あなたはauthorise.netサーバからの応答を格納することができ、後でそれを分析することができ、同様に書き込むため、このコードに従ってください。

    +0

    お返事ありがとうございます。もう少し説明。別の配列が作成され、処理のためにAuthorize.netに送信されます。 Authorizeは "成功"または "失敗"のいずれかの応答を送信します。データベース+電子メールコードに保存するのは、応答が "成功" 'if($ payment == 'success')'の場合のみです。したがって、変数は確実にauthorize.netに向かいます。問題は '$ result = parent :: save($ key、$ urlVar);'行にあるようですが、行が変更されたかどうかをテストするよりも、実際に挿入されたクエリにアクセスすることができます。代わりに、その関数はjoomlaコアファイルを指し示します。 – mashstix

    関連する問題