我有一个相当简单的页面,处理Paypal的付款,然后从Paypal返回时,应显示用户“订单”,以允许他们上传项目并编辑他们已支付的订单。
当我点击从Paypal返回的链接时,我的一些代码似乎没有运行。我必须处理它不同,因为Paypal发布到我的页面?
我在页面的Page_Load部分有我的方法,所以当页面加载时我检查Membership.GetUser()。ProviderOserKey()以获取登录用户的帐户ID,然后使用它与单独的函数获取订单ID。
当页面尝试运行此代码时,返回的订单ID始终为空白GUID。我已将帐户ID输出到屏幕,并且它始终正确填充,因此我不明白为什么代码返回空白GUID。
accountID = Membership.GetUser().ProviderUserKey()
Dim order As New orders
Dim orderID As String = order.SelectExistingPurchaseSeller(accountID, "2014/02/23")
如果我离开页面可能需要3/4秒并按F5,那么它会显示它应该显示。
我在这里错过了一些简单的东西吗?我不明白为什么它第一次不起作用,但是如果我等待并刷新它会运行我的数据库功能,并返回正确的订单ID。
通过将此页放在页面顶部,我已关闭此页面的缓存:
<%@ OutputCache Location="None" VaryByParam="None" %>
由于
答案 0 :(得分:0)
我自己也回答了这个问题。
即使Paypal说他们的IPN是“即时付款通知”,它实际上也可能需要10-20秒,因为我会在Paypal付款完成后立即检查,有时付款还没有完成。
现在我要添加某种形式的延迟检查页面,看看订单是否完整,然后再继续。