![]() |
1
1
您的问题表明到远程服务器的连接是异步的(Ajax)? 以同步方式编写它可能更容易,因此保证IPN返回。如果没有,就意味着:
a)用户重定向到远程服务器后关闭浏览器;
如果用户单击“取消”按钮,好的支付网关会将其重定向回您的站点,但返回永远无法保证,因此您需要正确处理。 我将有一个单独的表来记录给定用户的事务;即: 一个用户,多个事务 有些支付网关允许您在事务完成时定义为对服务器的回调。也就是说,连接是由网关启动的——它不运行浏览器,因为用户可以关闭选项卡/窗口——在这里它向回调URL发送一个日志,然后更新事务的状态。 我不知道贝宝是否允许这样的事情,但到目前为止,我从来没有问题与贝宝,因为我一直写它的同步方式。 当然,如果需要异步,那么Ajax函数必须有一个超时/错误处理程序——当然,我建议使用jquery。 |
![]() |
2
1
我从来没有遇到过IPN不能很快到达的问题,但是我也从来没有真正拥有过一个拥有大量用户的庞大网站。在收到IPN之前,我没有对用户帐户做任何重大更改。 我用Paypal API为我的一个网站做了付费注册。用户将填写他们的用户名、密码等,我会把变量传递给Paypal API。在我收到IPN之前,数据不会被处理。 如果您觉得用户配置文件中的状态“激活…”很重要,则可以始终将时间戳与挂起的付款关联起来。等待付款可能在10分钟后超时。 |