3

我正在尝试在网站上使用 Paypal IPN。

  • 付款有效并标记为“已完成”。
  • 返回网址有效。
  • 发送电子邮件通知付款完成

但似乎贝宝不与 IPN 脚本对话。与 Wireshark 核对时,发送付款时没有与我的网站通信。

  1. 可能是因为此通信嵌入在 SSL 通信中,而不是在不安全的 HTTP 中?

  2. 我的服务器可以拒绝处理来自 Paypal 的 IPN 请求吗?

我认为它可以开箱即用,但没有。它似乎没有到达我的服务器,并且 Paypal 没有返回类似“您的服务器拒绝接收 IPN 信息”之类的信息。所以 Paypal 只是不调用 IPN 脚本。

我 99% 确定我的请求是正确的,但这是我制作的按钮:

<form action="<%=paypalurl%>" method="post" target="_blank">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<%=appsettings.paypalemail%>">
<input type="hidden" name="item_name" value="<%=appsettings.paypalitem%>">
<input type="hidden" name="item_number" value="<%=appsettings.paypalid%>">
<input type="hidden" name="amount" value="<%=appsettings.paypalamount%>">
<input type="hidden" name="currency_code" value="<%=appsettings.paypalcurrency%>">
<input type="hidden" name="custom" value="<%=userid%>">
<input type="hidden" name="notify_url" value="http://www.mysite.com/ipnscript.aspx">
<input type="hidden" name="return" value="http://www.mysite.com/ppreturnurl.aspx">
<input type="hidden" name="cancel_return" value="http://www.mysite.com/ppcancelurl.aspx">
<input type="hidden" name="bn" value="PP-BuyNowBF">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.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>
4

2 回答 2

4

您确定启用了 IPN 吗?

帐户 -> 我的个人资料 -> 即时付款通知首选项

其次,我会检查 IPN 历史

帐户 -> 历史 -> IPN 历史

这将允许您查看状态并在需要时重新发送。

  • 我假设您首先使用沙盒进行测试。
于 2012-07-12T23:09:52.513 回答
2

自 2013 年 6 月 20 日起,如果您有企业帐户,要启用 IPN 消息:

(登录 PayPal)> 个人资料 > 我的销售工具 > 获得付款和管理我的风险 / 即时付款通知 / 更新 > 选择 IPN 设置 > (o) 接收 IPN 消息(启用)> 保存

*注意:如果您在付款表单/按钮代码中提供“notify_url”字段,您可以将“通知 URL”留空。

于 2013-06-20T18:01:34.043 回答