我正在尝试使用PayPal IPN service。我已经设置了我的通知网址(此处称为“我的网页'”)以响应IPN并按照指示验证请求。此外,无论IPN的状态如何,我的页面都会向我发送电子邮件。它似乎按预期工作,除非我通过PayPal IPN Simulator进行测试。
这是我的发现。有没有人知道我做错了什么以及如何在IPN模拟器(案例3和4)中按预期工作?
案例1)我在浏览器中访问我的页面(http 或 https)没有传递参数:
结果= 符合预期:PayPal的IPN服务响应'无效'我的页面给我发了一封电子邮件。
案例2)我在浏览器中访问我的页面(http 或 https)并传递integration guide中详述的示例参数:
结果= 符合预期:PayPal的IPN服务响应'无效'我的页面向我发送了一封包含所有细节的电子邮件。
案例3)我使用PayPal IPN Simulator并在不安全协议(http)上测试我的页面:
结果= 部分符合预期:服务显示' IPN已成功发送'但是我的页面没有给我发了一封电子邮件(暗示它实际上并没有被调用)。
期待:' IPN已成功发送'和我发送电子邮件的页面。
案例4)我使用PayPal IPN Simulator并通过安全协议(https)测试我的页面:
结果= 不按预期:服务说' 我们很抱歉,我们无法发送IPN '并且我的页面没有向我发送电子邮件(建议未尝试或网址无法访问)。
期待:' IPN已成功发送'和我发送电子邮件的页面。
我找到了this related unanswered question和this q&a,但没有其他任何有用的东西。任何帮助将非常感激。也许我错过了一些基本的东西。我不得不承认在各种API和指令上苦苦挣扎。
答案 0 :(得分:0)
案例3 =我的坏(ish)。
只有在通过模拟器调用时才会发生未被捕获的错误。我的代码期望charamet编码在param charset
中传递(根据PayPal自己的例子),但它不是,我的草率编码没有考虑它是null
的可能性。
案例4 =已过期的SSL证书
我的SSL证书不再有效。我实际上没有使用有效的证书对其进行测试,但我预计这很可能是问题所在。