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