首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PayPal IPN和AutoReturn

PayPal IPN和AutoReturn
EN

Stack Overflow用户
提问于 2018-06-02 02:30:10
回答 1查看 240关注 0票数 0

我有一个ipn侦听器,它更新我的事务(从未决到完成)和我的合同付款从完成到支付。这太完美了!我还有一个返回页面...从PayPal到我的网站...此页面显示“谢谢”和“允许下载他们最后一次支付的在线合同的按钮”(使用PayPal支付)。我的问题是...Ipn listener有时会在我的返回页面显示给用户3秒后出现……

在我的返回页面中。交易和合同是否未支付...当ipn监听器捕捉到结果时...则此事务处理和合同将更改为已支付状态。但是ipn监听器是在后端执行的。在我的服务器上。我的返回页面在我的用户面前显示了3或2秒。我能做什么?

我是否应该在返回页面中添加一个计时器(延迟),直到ipn更新我的交易和合同状态?然后,向用户显示一个按钮“您可以下载您上次支付的合同!”。或者更好的是,我应该忘记这一步。并在我的返回页面总是没有等待显示给用户“感谢您的付款”。“您可以下载您上次支付的合同!”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 18:57:39

我也有我的返回页面,等待IPN通知进入我的服务器,如果你做得正确,你肯定可以做到这一点。

最初,返回页面轮询IPN处理程序更新的后端数据库中的一个字段。然后,当返回页面看到该字段更新时,客户会得到他的“这是您支付的商品”按钮。

我在这个过程中也有一分钟的超时。当过期时(尽管我不记得上一次实际发生的时间了),我会显示一个包罗万象的错误消息(‘处理您的事务时出现问题’),并邀请客户联系我寻求帮助。

我还告诉他们,他们的许可证密钥(在我的情况下,就是他们购买的密钥)可能正在通过电子邮件发送,因为通常情况下是这样的。由于某些原因,IPN通知有时可能需要一段时间才能到达,但我的IPN处理程序会发送一封确认电子邮件作为备份,所以他们会在适当的时候收到。这通常会解决问题,我很少需要直接参与。

如果PayPal将交易搁置,它似乎永远不会将客户转到返回页面(我肯定从来没有见过这种情况)。相反,我假设它让客户知道他必须等待资金结清,并将其留在那里。

但是,当事务最终清除时,确实会发送IPN通知,然后您可以让您的处理程序发送该电子邮件。

为了避免这听起来像是大量的工作,你无论如何都应该从你的IPN处理程序发送一封电子邮件,因为客户喜欢有他们的购买记录。一旦你把这个机制放在适当的位置,剩下的事情就很容易了。

注意:要注意标记为“echeque”的IPN事务。资金还没有结清,,当他们结清时,你会收到另一个通知。然后你可以通过电子邮件向他们发送他们的合同。如果内存正常,这会将它们转发到您的返回页面,因此您必须通过让它们知道它们必须等待来处理此问题。在实践中,这似乎并不经常发生。

建议:当发生意想不到的事情时,让你的脚本给你发一封电子邮件。当PayPal无缘无故地更改了传递给IPN处理程序的字段的名称时,这样做不止一次节省了我的时间。

总结:这是一个实用的,基于经验的我的网站工作方式的写法,它工作得很好。我希望这篇文章的读者能发现它的帮助,尽管有神秘的票数下降。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50649202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档