Paypal 沙盒 IPN 模拟器 - 502 Bad Gateway

Posted

技术标签:

【中文标题】Paypal 沙盒 IPN 模拟器 - 502 Bad Gateway【英文标题】:Paypal sandbox IPN simulator - 502 Bad Gateway 【发布时间】:2015-08-28 21:35:28 【问题描述】:

我刚刚完成了支持 Paypal 的支付网关服务器的实现。该网关还具有用于 Paypal 和 Skrill 通知的自适应 IPN 服务器。在实现和测试过程中,我使用了 Paypal 的IPN manual 提供的文档。在测试期间,一切都“一切顺利”。我用文档给出的例子来测试它,“All Okay”:

mc_gross=19.95&protection_eligibility=Eligible&address_status=confirmed&payer_id=LPLWNMTBWMFAY&tax=0.00&address_street=1+Main+St&payment_date=20%3A12%3A59+Jan+13%2C+2009+PST&payment_status=Completed&charset=windows-1252&address_zip=95131&first_name=Test&mc_fee=0.88&address_country_code=US&address_name=Test+User&notify_version=2.6&custom=&payer_status=verified&address_country=United+States&address_city=San+Jose&quantity=1&verify_sign=AtkOfCXbDm2hu0ZELryHFjY-Vb7PAUvS6nMXgysbElEn9v-1XcmSoGtf&payer_email=gpmac_1231902590_per%40paypal.com&txn_id=61E67681CH3238416&payment_type=instant&last_name=User&address_state=CA&receiver_email=gpmac_1231902686_biz%40paypal.com&payment_fee=0.88&receiver_id=S8XGHLYDW9T3S&txn_type=express_checkout&item_name=&mc_currency=USD&item_number=&residence_country=US&test_ipn=1&handling_amount=0.00&transaction_subject=&payment_gross=19.95&shipping=0.00

问题开始于我们将网关部署到生产服务器,并使用 Paypal 的IPN Simulator 提供的模拟表格进行测试。好吧,当我点击Send IPN 按钮时,消息没有到达我的服务器,几秒钟后(更像是几分钟),出现了 HTTP 错误状态响应:

是的502 错误网关!那是什么呀?!?消息甚至没有到达服务器。需要注意的是,我们没有使用标准的 80/443 端口,我们只支持“POST”消息。 IPN 消息再次没有进入我们的服务器,我们使用其他测试工具对其进行测试,消息成功到达。

请帮忙!

>> 顺便说一下,我们正在使用 Express Checkout!

【问题讨论】:

你解决了这个问题吗?我收到了同样的错误信息。 刚刚遇到同样的问题,我的解决方案就是这里的答案:***.com/questions/11609174/… 【参考方案1】:

您应该避免将主机放在标题中。更改此内容:

    $header  = "POST /cgi-bin/webscr HTTP/1.1\r\n";
    $header .= "Host: www.paypal.com\r\n"; *****DELETE THIS LINE*****
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";

为此:

    $header  = "POST /cgi-bin/webscr HTTP/1.1\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";

【讨论】:

嘿 nmos,感谢您的回复,但我认为您没有得到问题。 IPN 模拟器实际上是我们的 IPN 侦听器的请求者。这些是我们对每个服务器请求的响应:Content-Length: 4 Content-Type: text/plain; charset=ISO-8859-1 Connection: keep-alive Date: Sun, 14 Jun 2015 22:46:51 GMT Server: SIGMA-IPN-Server/1.0

以上是关于Paypal 沙盒 IPN 模拟器 - 502 Bad Gateway的主要内容,如果未能解决你的问题,请参考以下文章

PayPal IPN 沙盒不工作,但模拟器可以

Paypal IPN 在沙盒 ipn sinulator 中有效,但在交易中无效

从 PayPal 的沙盒 IPN 获得无效响应

测试 IPN 不应该从我的 Paypal 沙盒帐户中取钱吗?

贝宝沙盒 IPN 模拟器 - 没有得到响应

缺少 PayPal 沙盒 IPN 历史记录