首页 文章

PayPal IPN处理

提问于
浏览
1

我在VBScript / Classic ASP中实现了一个IPN监听器 . 在我看来,它似乎完美无缺 . 当它被调用时,它会将消息发送回Paypal,附加 cmd=_notify-validate . 然后检查 objHttp.status = 200objHttp.responseText = "VERIFIED" 的响应,然后将订单添加到我的数据库 .

但Paypal正在给我发电子邮件;

主题:PayPal即时付款通知警告发送到以下URL的即时付款通知失败:

1 回答

  • 0

    根据IPN Testing

    每个侦听器都必须包含处理“错误通知”IPN消息的代码 .

    无论哪种方式,您都应该一步一步地按照IPN troubleshooting tips中的步骤进行操作 .

    以下是我挑选出的一些应该有所帮助的内容 .

    • 检查IPN历史记录中列出的URL,以确保PayPal将每个IPN发布给您的侦听器 .

    • 检查Web服务器的访问和错误日志 .

    • 检查编程语言的错误日志 .

    • 验证您的IPN侦听器是否响应所有消息,即使是那些您不打算处理的消息 .


    OPs comments

    代码样本Paypal给出,其中不执行此步骤 . 这个步骤需要吗?

    听起来你错过了文档中工作流程的第2步

    2.从PayPal收到IPN消息后,您的侦听器会向PayPal返回一个空的HTTP 200响应 . 否则,PayPal重新发送IPN消息 .

    从PHP样本来看,两者似乎都首先发送验证,这与文档建议的工作流程不符 .

    在这种情况下你应该能够做到

    Response.Status = "200 OK"
    

    在剩下的代码之后,确保没有使用 Response.Write() 回写其他内容,因此服务器响应为空,您甚至可以使用

    Call Response.Clear()
    

    在设置 Response.Status 之前,确保没有从 Response 缓冲区写入任何其他内容 . 但是,只有事先将 Response.Buffer 设置为 True (通常在脚本的开头),这才有效 .

相关问题