トラブルシューティングを行う最も良い方法は、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サーバからの応答を格納することができ、後でそれを分析することができ、同様に書き込むため、このコードに従ってください。
お返事ありがとうございます。もう少し説明。別の配列が作成され、処理のためにAuthorize.netに送信されます。 Authorizeは "成功"または "失敗"のいずれかの応答を送信します。データベース+電子メールコードに保存するのは、応答が "成功" 'if($ payment == 'success')'の場合のみです。したがって、変数は確実にauthorize.netに向かいます。問題は '$ result = parent :: save($ key、$ urlVar);'行にあるようですが、行が変更されたかどうかをテストするよりも、実際に挿入されたクエリにアクセスすることができます。代わりに、その関数はjoomlaコアファイルを指し示します。 – mashstix