jbr*_*777 6 paypal paypal-sandbox paypal-ipn
我刚刚完成了支持Paypal的支付网关服务器.该网关还具有用于Paypal和Skrill通知的自适应IPN服务器.在实施和测试期间,我使用了Paypal的IPN手册提供的文档.在测试期间,一切都"全部好".我用文档给出的例子"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¬ify_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
Run Code Online (Sandbox Code Playgroud)
当我们将网关部署到我们的生产服务器,并使用Paypal的IPN模拟器提供的模拟表格进行测试时,问题就出现了.好吧,当我点击Send IPN按钮时,消息没有到达我的服务器,几秒钟后(更像是分钟),出现HTTP错误状态响应:

是的502 Bad Gateway!那是什么呀?!?消息甚至没有到达服务器.一些评论,我们没有使用标准的80/443端口,我们只支持"POST"消息.IPN消息再次进入我们的服务器,我们使用其他测试工具对其进行测试,并且消息成功到达.
请帮忙!
>>我们正在使用快速结账!
小智 -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";
Run Code Online (Sandbox Code Playgroud)
为了这:
$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";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
888 次 |
| 最近记录: |