我有一个asp.net应用程序
用户可以购买商品和/或升级现有服务。我使用PayPal来处理付款。
下订单时,我将订单详细信息作为记录放入表中。我也这样做,以便如果用户重新访问我的页面,我会检查该表中的标志,告诉他们是否已收到付款。
如果没有收到,那么我会在我的网页上显示一条消息,告诉他们已经请求并升级,我们正在等待付款。
我还禁用该用户以后的任何购买,以便他们不会升级两次(或更多次)。
现在,我发现,当用户被重定向到PayPal以进行购买时,付款可能会失败,或者他们可能会关闭网页。
在这种情况下,除非用户向我发送支持电子邮件,否则用户将无法升级。
什么是最佳做法?等待一段时间过去,如果没有付款,那么允许用户再次尝试或坚持使用支持电子邮件路线?
如果等待一段时间最好等待一段可接受的时间?
我使用Form值方法的帖子来模仿付款给PayPal:
https://www.paypal.com/cgi-bin/webscr
答案 0 :(得分:1)
你能做什么。
每次用户准备离开您的页面并转到paypal付款时,您都会创建
因此,如果一个订单失败,用户回来的任何时候都会找到一个新的订单“订单”+“唯一ID”。有了这2个元素就可以进行最终付款。
您最终可能会得到两个或更多克隆订单,但根据我的经验,因为这是我真正做的,很少见,对您的客户和您来说都是安全的。
另请注意,paypal仅接受每个订单的一个唯一ID。如果一个ID失败,那么你必须创建一个新的。
您发送给PayPal的唯一ID会转到invoice
参数。
所有参数的手册都是pdf - PayPal Payments Standard Intergration Guide ...而且还有更多支付宝的pdf ...