【问题标题】:PayPal IPN in PHP cannot send request to IPNPBPHP中的PayPal IPN无法向IPNPB发送请求
【发布时间】:2019-06-16 16:27:01
【问题描述】:

我这里有一个 PayPal IPN 脚本,但问题是,它正在正确接收 POST 请求,但是当它尝试向 PayPal 发出 CURL 请求时,似乎 PayPal 没有给出任何响应(甚至 @987654321 @ 或任何东西!)

这是我的代码:

<?php
    // Format POST values
    foreach($_POST as $name => $value) {
        $data .= $name.'='.$value.'&';
    }
    $data = substr_replace($data, NULL, -1);
    $data = urlencode($data);


    // THE PROBLEM COMES HERE, I TRY TO MAKE A CURL REQUEST TO PAYPAL BUT NO RESPONSE RETURNED
    $ch = curl_init('https://sandbox.ipnpb.paypal.com/cgi-bin/webscr');
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));

    $res = curl_exec($ch);
    $res = curl_close($ch);

    file_put_contents('result.txt',$res);
    // There is nothing in my result.txt file for $res , but $data returns the POST data PayPal gave me
?>

【问题讨论】:

    标签: php paypal paypal-sandbox paypal-ipn


    【解决方案1】:

    可能的解决方案是修改信息登录到收件人的Paypal帐户并设置IPN

    为此,请按照以下步骤操作:

    1. 步骤资料 -> 资料和设置 -> 我的销售工具 -> 即时付款通知 -> 更新

    2. 点击“选择IPN设置”

    3. 将“通知 URL”字段设置为 HTML 表单中“notify_url”上的内容。
    4. 选择“接收 IPN 消息”
    5. 保存

    注意:如果您查看 IPN 历史记录,它可能会显示为 Queued。这似乎是沙盒故障,或者可能是它处理了许多请求并且队列很长。您可以尝试以较小的价值(例如 1 美元)进行实时支付。请参阅此处:Paypal IPN 状态 - 已排队

    【讨论】:

    • 恐怕不行,来自 PayPal 的 POST 请求很好,但是当我尝试将值返回给 IPNPB 时,它根本不起作用。
    • 还有其他人可以帮助我吗?
    猜你喜欢
    • 2013-08-17
    • 2017-08-01
    • 2016-02-07
    • 2014-01-15
    • 1970-01-01
    • 2012-01-04
    • 2021-10-21
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多