2017-02-06 1 views
0

나는 joomla 2.5에 기부를 허용하는 양식이 있습니다. 제출에서 양식을 진행

  • 프로세스가 모두
  • 양식 값을 저장 실행해야 다음, 성공하면, authorize.net를 통해 paypment 이상의 경우 좋은, 다음 ...

    1. 외부 이메일 유효성 검사를 수행 데이터베이스에서
    2. 사용자와 저에게 다양한 이메일을 보냅니다.

    제 질문은 # 3에 관한 것입니다. 다른 이름으로 저장 다음과 같은 라인을 통해 트리거 :

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

    지난 50 명을 제출 중, 3 그들이 authorize.net를 통해 충전하고 이메일은 사용자 나에게 보내졌다하더라도 데이터베이스에 저장하지 않았다. 무슨 일이 일어나고 있는지 테스트/분석하는 가장 좋은 방법은 무엇입니까?

  • 답변

    0

    문제를 해결하는 가장 좋은 방법은 authorize.net에서 텍스트 파일로 보내고 보내기 전에 변수를 쓰는 것입니다. 데이터베이스에 입력되지 않은 로그 데이터를 분석 할 때 왜 그런 일이 발생했는지 정확히 알게됩니다. 내 페이팔 플러그인에서 나는 텍스트 파일에 당신이 authorise.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 
         } 
        } 
    

    비슷한 방법을 쓰기 위해이 코드를 수행하고 나중에 그것을 분석 할 수 있습니다.

    +0

    응답 해 주셔서 감사합니다. 좀 더 자세한 설명 .. 별도의 배열이 만들어지고 처리를 위해 Authorize.net에 전송됩니다. 인증은 "성공"또는 "실패"응답을 보냅니다. 데이터베이스 + 전자 메일 코드 저장은 응답이 "성공"'if ($ payment == 'success')'인 경우에만 실행됩니다. 그래서 변수는 확실히 authorize.net 될 것입니다. 문제는'$ result = parent :: save ($ key, $ urlVar);'행에있는 것처럼 보입니다. 만약 행이 변경 되었다면 테스트 할 수있는 것보다 쿼리에 대한 실제 삽입에 대한 액세스 권한이 있습니다. 대신이 함수는 joomla 코어 파일을 가리 킵니다. – mashstix

    관련 문제