我正在沙盒中的IPN模拟器中尝试这个,它告诉我“我们很抱歉,我们无法发送IPN。”
我将IPN处理程序URL设置为https:// [通知脚本]。当我尝试执行它时,它只会给出错误消息。
我之前在我的代码中尝试过它,但它也没有在那里工作。
notify_url不允许是SSL / HTTPS吗?整个域名都是HTTPS,我不得不弄清楚如何制作一个文件http。
更新: 我一直在使用我们的备用域进行测试(我们也为该域提供了有效的非自签名证书)。我已经知道notify_url = https:// ...使用我们的主域工作,但它仍然不会使用我们的alt域。我注意到我们的沙盒帐户电子邮件地址位于主域中。我想知道对于https,它是否要求沙箱帐户电子邮件与notify_url位于同一个域中。似乎很奇怪它不适用于http。
答案 0 :(得分:1)
是的,只要服务器具有由认可的CA签名的SSL证书,它就可以。自签名证书不会。
更新:与您的沙箱电子邮件帐户无关。我也处于不同的领域。
答案 1 :(得分:1)
听起来您可能对IPN脚本本身有问题,因此PayPal在发送测试时没有从您的服务器获得成功的200 OK响应。
我喜欢使用HTML表单和隐藏字段来设置我自己的基本模拟器,这些字段与我期望从IPN返回的内容相匹配。将操作设置为您的IPN URL,然后您可以在浏览器中点击它,以便结果将显示在屏幕上。
请记住,在以这种方式测试时,数据不是来自PayPal,因此无法验证。您需要确保您的代码逻辑能够适当地处理测试目的。
一旦你摆脱了任何问题并且一切都在浏览器中按预期工作,那么你可以回到模拟器进行PayPal沙盒的最终测试,并假设它很好(它应该在那时)那么你就准备好翻转开关并上线了。
答案 2 :(得分:1)
虽然我已经解决了这个问题,但为什么会这样做对我来说没有意义。将信息留在这里,以防万一。
" business"我们的电子邮件的用户部分(不是域名部分)中存在拼写错误。参数(即我们的电子邮件)。修复后,https请求不再被403反弹。
这对我没有意义,因为我不明白为什么我们的服务器会关心或知道我们使用的是哪个电子邮件地址。我甚至不能真诚地接受我自己的回答!如果我更清楚,我会在以后填写。
感谢那些尝试的人的帮助!!