我正在尝试在沙盒上使用 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 = "made"。我的日志显示我的 IPN 端点没有收到任何消息(我知道端点已启动,因为我尝试发送手动 POST)。贝宝试图发送的消息是:
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 消息系统有问题,除了现场测试,我还有哪些其他选择?