我试图在沙盒上使用Paypal IPN。我有一个提交快速结账的表格:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="my-sandbox-merchant-account@test.com" />
<input type="hidden" name="item_name" value="Item 3" />
<input type="hidden" name="item_number" value="3" />
<input type="hidden" name="amount" value="5.00" />
<input type="hidden" name="shipping" value="0.00" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="cn" value="Comments" />
<input type="hidden" name="currency_code" value="GBP" />
<input type="hidden" name="lc" value="GB" />
<input type="hidden" name="bn" value="PP-BuyNowBF" />
<input type="hidden" name="test_ipn" value="1" />
<input type="hidden" name="return" value="http://myhost/my-return-url" />
<input type="hidden" name="rm" value="2" />
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynow_SM.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" />
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" />
</form>
我的沙盒买家帐户付款很顺利,但是IPN通知失败了。当我单击沙箱中的IPN消息时,我看到配置了正确的通知端点,但消息失败,http响应代码为空,IPN typeTransaction =&#34; make&#34;。我的日志显示我的IPN端点没有收到任何消息(我知道端点已启动,因为我已尝试发送手动POST)。 paypal尝试发送的消息是:
handling_amount=0.00&payer_id=442H4KP3WRC9E&ipn_track_id=989ff3ead6a80&shipping=0.00
&charset=windows-1252&payment_gross=
&verify_sign=ABKgD9bUbQF9WahZwd8aOs6tdcUGAteKcEga-DtOd5oNAkSSSLAh33xt
&item_name=Item 3&test_ipn=1&txn_type=web_accept
&receiver_id=4W89DC8YDWBUG&payment_fee=&mc_currency=GBP&transaction_subject=
&custom=&protection_eligibility=Ineligible&payer_status=verified
&first_name=atest&mc_gross=5.00&payment_date=14:46:44 Aug 05, 2013 PDT
&payment_status=Completed&quantity=1&my-sandbox-merchant-account@test.com
&item_number=3&last_name=buyer&txn_id=91L22343JY671341E&mc_fee=0.40
&resend=true&payment_type=instant¬ify_version=3.7&payer_email=a-test@buyer.com
&receiver_email=my-sandbox-merchant-account@test.com&tax=0.00&residence_country=US
我已尝试多次重新发送IPN,并且也尝试了IPN模拟器,但这只是旋转直到连接重置。这是Paypal的沙盒IPN系统的问题,还是我忘记了/我在表单提交上发送了错误的数据?
如果沙箱IPN邮件系统出现问题,除了现场测试外还有哪些其他选项?
答案 0 :(得分:1)
如上所述,解决方案是使用标准端口(80/443)而不是非标准端口8080/8443