3

我有一个问题,如果你能帮助我一些想法,我将不胜感激。

在在线酒店或机票预订系统中,通常会为用户分配一个特定的时间来完成他们的注册/付款等,并且在此期间系统会为该用户保留预订。如果用户在此期间无法完成注册,系统将超时,不允许用户继续进行任何操作。系统为其他用户取消保留。

我的问题是,如果用户被带到支付网关系统(贝宝等)并且他们将所有分配/保留时间都花在支付页面上,并且在成功支付后他们返回到站点,系统还会即使用户用完了分配的时间,也允许他们完成预订?

这在典型的预订系统中是如何工作的?

提前谢谢了。

4

4 回答 4

2

如果您使用与支付网关的同步连接,那么一旦启动支付流程,预订状态应该会发生变化,例如“付款待定”。如果支付网关响应失败(或您有超时),您将其报告给用户,是否延长会话时间取决于您。

如果您使用异步连接,例如将用户重定向到 PayPal 页面并等待回复,那么您可能需要考虑授权而不是付款:如果用户在会话时间之后被重定向回您的站点限制已过,取消授权并通知用户他们花费的时间太长,需要重新开始。如果他们在他们的时限内,告诉 PayPal 完成交易并确保您收到您的钱。

希望有帮助:)

于 2012-06-28T03:53:36.340 回答
0

你的销售算法必须有一些智能。就像推销员试图达成交易一样。

他会知道这是一位老太太,这可能需要一段时间,但当她下定决心时,她会全额付款。

或者他是一个脾气暴躁的老人,总是说支票在邮局。

计算机只能在没有相遇或理解的情况下做出最好的猜测。

因此,您的最佳猜测将基于过去的响应并允许适当的超时。例如,监控您网站上表格的平均输入时间。由于互联网连接缓慢,可能会模拟一个老人。

于 2012-06-28T04:03:22.533 回答
0

使用贝宝,您可以进行付款授权。这将使客户贝宝帐户中的资金暂停。

在授权之后,它将被发送回您的系统,并带有交易 ID。然后您可以检查预订是否已超时。

如果是这样,您可以通知用户它已经超时并且他们没有被收费。然后,您使用交易 ID 取消交易以释放他们的资金

如果它没有超时,那么您可以捕获资金。

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_authcapture

于 2012-06-28T04:59:31.477 回答
0

系统应该让您支付预订费用,应该会弹出一些警告。如果您成功付款,那么您可能需要出示一些显示您已付款的机票,因此公司要么退还您的付款,要么给您房间。

每一点都应该以预期的方式考虑,这是你应该关心的工作,而不是你设计算法的方式。

想一想,如果您超过截止日期交付一些工作会发生什么。

于 2012-06-28T03:26:41.427 回答