Paypal IPN 未在沙盒上发送/接收

Posted

技术标签:

【中文标题】Paypal IPN 未在沙盒上发送/接收【英文标题】:Paypal IPNs not sending/being received on sandbox 【发布时间】:2013-08-07 23:06:03 【问题描述】:

我正在尝试在沙盒上使用 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"  />
  <img  border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif"   />
</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&notify_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 消息系统有问题,除了现场测试,我还有哪些其他选择?

【问题讨论】:

您的听众的网址是什么?有非标准端口吗? 是的,这似乎是问题所在。我试图打 8080/8443,当我使用 80/443 时它可以工作! 我在使用 IPN 模拟器时遇到了同样的问题,但我不明白解决方案。我们在哪里配置这些端口号? 【参考方案1】:

如上所述,解决方案是使用标准端口 (80/443) 而不是非标准的 8080/8443

【讨论】:

以上是关于Paypal IPN 未在沙盒上发送/接收的主要内容,如果未能解决你的问题,请参考以下文章

PayPal IPN _notify-validate 在沙盒中引发错误 302

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

Paypal IPN 在沙盒中有效 直播时无效

PayPal IPN 问题,但在沙盒中工作正常

PayPal IPN - 测试 - 在沙盒中不起作用

Paypal 信用卡未在沙盒模式下显示