我正在尝试让IPN使用"立即购买"链接。但似乎IPN没有被调用,无论我做什么!
这是我的HTML:
<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="paypal.seller@demo.net" />
<input type="hidden" name="item_name" value="Training course">
<input type="hidden" name="item_number" value="001">
<input type="hidden" name="amount" value="2" />
<input type='hidden' name='notify_url' value='http://ccl.test.demo.com/rest/paypalpayment'>
<INPUT TYPE="hidden" NAME="currency_code" value="AUD">
<input type="submit" value="Pay now using PayPal" /></form>
我没有值"hosted_button_id",但当我尝试这样做时,我无法为沙箱环境生成一个可以工作的值。这是我的问题吗?
使用以上代码可能会导致事务被接受,但当我在历史记录中监视IPN回调时:https://www.paypal.com/au/cgi-bin/webscr?cmd=_display-ipns-history它告诉我,在过去24小时内没有任何IPN交易的历史。
IPN Simulator告诉我侦听器工作良好-使用指定的notifyURL。交易似乎在Paypal中按预期进行。Paypal也被配置为启用IPN。我们还可以确认IPN模拟器出现在我们的应用程序日志中。
没有与沙盒卖家帐户的电子邮件地址相关的沙盒交易:https://developer.paypal.com/developer/dashboard/sandbox/
我上面的HTML和表单详细信息是否有任何问题,可能会阻止IPN被调用?我的贝宝账户是商业,并已验证。我正在使用沙盒买家帐户进行付款。
简单的答案是没有在沙盒卖家帐户中打开IPN。感谢@AndrewAngell为我指明了方向。
长话短说,我无法检查沙盒帐户设置,因为我一直在看直播网站,尽管地址上写着"www.sandbox.baipal.com"。我打开了另一个浏览器(Chrome),清除了所有缓存,只使用我的沙盒卖家帐户访问了沙盒网站(商务,在developer.paypal.com网站上设置)。我不确定这是萤火虫还是贝宝的问题。但它现在起作用了。