PayPal から Payza (以前の AlertPay) にアプリを移行しています。ブラウザーからコードを直接実行してトークン処理をテストすると、ログに表示され、適切な応答が得られます: ブラウザーで完全な IPN 応答を直接実行すると、エラーが表示されますが、目に見えるエラーは表示されません。
しかし、トランザクションを生成したり、Payza から IPN を再送信したりすると、ログに表示されず、500 内部サーバー エラーが発生します。CI 構成ファイルでクエリ文字列の許可をオンにしました。
class PayzaIPN {
function validate_ipn($payzaIPN ='',$logId = null) {
define("IPN_V2_HANDLER", "https://secure.payza.com/ipn2.ashx");
define("TOKEN_IDENTIFIER", "token=");
$_POST['token'] = '';
$token = urlencode($_POST['token']);
$token = TOKEN_IDENTIFIER.$payzaIPN;
$response = '';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, IPN_V2_HANDLER);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $token);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
if(strlen($response) > 0)