我在网站上使用pay pal订阅。
当用户付钱时,我等待IPN消息将其保存在数据库中。
此外,付款后用户从paypal重定向到我的网站,我必须检查IPN邮件是否存储在数据库中,并基于此我做了一些其他的东西ind数据库。
问题是,当用户重定向到网站有时它发生的IPN消息还没有,所以我不能做我想做的。
所以我想以某种方式停止应用程序三秒钟,但我从来没有做过这样的事情,我不知道这样做是否好。
IPN信息延迟几秒钟是否正常?
如果我说Thread.Sleep(3000)
是否有可能以这种方式在Web应用程序中显示动画加载器?
Pay Pal IPN延迟 - 正在睡觉的网站解决方案
0
A
回答
1
您可以在paypal ipn overview的一看就会发现,你将需要一个不同的方法。
“IPN消息服务并不假设您的听众会及时收到所有消息,因为互联网不是100%可靠的,所以消息可能会丢失或延迟,为了处理传输和接收的可能性延迟或失败,IPN消息服务实现一个重试机制,以不同的时间间隔重新发送消息,直到您确认消息已成功接收为止。消息可能会在原始消息后四天内重新发送。
“IPN消息服务不应被视为实时服务,您的结帐流程不应等待IPN消息才能完成。如果您的网站等待IPN消息,结帐处理可能会延迟由于系统负载并且由于重试的可能性而变得更加复杂。“
一种解决方案是在付款到达之前不启用内容,但正如您所看到的,最多可能需要四天。
其他解决方案是,当您通过paypal API创建订阅时,您会收到一个包含订阅信息的响应。 (例如,如果您正在使用定期付款,则在create_recurring付款资料中的回复)。在此之后,您可以承诺他会支付并启用内容。 (当然,如果付款时间太长,用户可能会在退款前退订)
0
如果我说了Thread.Sleep(3000)是有可能在Web应用程序以这种方式显示动画装载机 ?
不,您将完全卡住您的应用程序而无需任何实现。所以解决方案可以使用一个计时器。
所以尝试:
Timer timer = new Timer();
timer.Interval = 3000;
timer.Tick += new EventHandler(timer_Tick);
//diplay the animated loader and start the timer
timer.Enabled = true;
void timer_Tick(object sender, EventArgs e)
{
//Elapsed 3000 milliseconds so you have to stop the timer
timer.Enabled = false;
//Now redirect the user
}
相关问题
- 1. PAY PAL IPN停止工作
- 2. 延迟程序就像睡觉()
- 3. jquery:如何睡觉或延迟?
- 4. 指导睡觉理发监测解决方案
- 5. jQuery的延迟或JavaScript的setTimeout简单的解决方案
- 6. Apple Pay。延迟付款?
- 7. 移动网站分析解决方案
- 8. 延迟/懒解决
- 9. 寻求XSP提交延迟的解决方案
- 10. JQuery延迟解决其他延迟
- 11. 解决方案Dexie.js调试代码接管延迟承诺
- 12. 如何解决网站速度测试延迟
- 13. 将“已发布”网站导入视觉工作室作为解决方案
- 14. 如何解决在我的网站下显示的解决方案文件?
- 15. 网站创建者的网络分析解决方案
- 16. 延迟/睡眠呼叫方法
- 17. 在我的解决方案中,我是否永久禁用延迟加载?
- 18. 在ASP.NET MVC网站上集成PayPal的简单解决方案
- 19. 如何解决在JavaScript延迟的keydown
- 20. Windows Azure网站延迟
- 21. Azure网站 - 高延迟
- 22. Salesforce网站更改延迟
- 23. 网站应用程序的第三方存储解决方案?
- 24. 跟踪第三方网站上像素的解决方案?
- 25. 网站付款Pro托管解决方案错误
- 26. 延迟脚本,直到它执行ping到IP不睡觉
- 27. 在我的网站上加载延迟
- 28. 方法的网络解决方案
- 29. JSON解析正确的解决方案
- 30. 用javascript屏幕拖延网站延迟
正确的解决方案是不使用IPN,而是使用PayPal NVP API(或SOAP,如果您已陷入施虐受虐狂)。我们为C#/ ASP.NET开源了一个非常简单的PayPal NVP库:https://github.com/NeoSmart/paypalnvp-dotnet –
我听说过类似于PDT的东西 – Toskan