0

我正在将应用程序从 PayPal 迁移到 Payza(以前称为 AlertPay)。当我直接从浏览器运行代码以测试令牌处理时,它会显示在日志中并且我得到正确的响应:token=47TXhMVgdPrmV3n5aauIZ5CC0MrytYXWjID81pjVnQsEhkSUklPXT3clXZ4SFUFOL5WqepRUpBz5SKomoyPuDw==& INVALID TOKEN。当我直接在浏览器中运行完整的 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)
4

0 回答 0