订票软件订,订单有效时间设计问题。。。。。。。。。。

vc555 2016-01-19 02:05:03
订票软件设计流程如下:
1.用户下单;
2.系统开始倒计时订单有效期;
3.跳转到第三方支付平台支付。

现在的问题是,
1.假设订单有效期为10分钟;
2.用户在剩余1分钟时点击支付按钮,跳转到第三方支付平台;
3.10分钟到了时,用户仍在第三方平台操作,但这时订票系统已判定此订单失效。
4.用户扣款成功,但此订单已失效。

请问这个问题如何解决呢?因为系统不知道用户会在第三方平台停留多长时间。
...全文
334 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
vc555 2016-01-25
  • 打赏
  • 举报
回复
谢谢sp1234和各位。已经按这个思路设计了。先试用看看会不会有什么问题。
  • 打赏
  • 举报
回复
引用 7 楼 vc555 的回复:
主要就是我手上的这几个第三方提供的接口,我看了。并没有通知取消订单的功能。有的话,自然好处理了。
传统的支付,大多都没有那种取消功能。就算有取消,也必须在极短的时间之内取消,而不是任意等了几分钟之后去取消。
  • 打赏
  • 举报
回复
引用 8 楼 From_TaiWan 的回复:
没有取消支付的功能,那么,要是客户下单后,因为有事忘了付款了,他定的那张票你的系统就不卖了?
这里纠结的,是销售软件去取消支付平台的已经发起的支付交易能否成功。假设客户忘了支付,那么 lz 就不用纠结了。
  • 打赏
  • 举报
回复
引用 3 楼 vc555 的回复:
谢谢。跳转时就延长订单有效期能部分解决这个问题
不可能绝对解决。也还是要设计出来退款处理流程代码的。
秋的红果实 2016-01-20
  • 打赏
  • 举报
回复
没有取消支付的功能,那么,要是客户下单后,因为有事忘了付款了,他定的那张票你的系统就不卖了?
Justin-Liu 2016-01-20
  • 打赏
  • 举报
回复
超时取消与第三方的联系就行了吧,付款会失败
vc555 2016-01-20
  • 打赏
  • 举报
回复
引用 4 楼 From_TaiWan 的回复:
就像12306那样,提交订单后30分钟内付款 你的系统要等待客户付款成功并返回,才能决定订票成功,30分钟内,若客户没有付款成功,就取消订单,重新下订单 第三方平台应该可以终止的,就是说,如果30分钟内没有付款成功,通知付款超时,取消客户在第三方平台的操作
主要就是我手上的这几个第三方提供的接口,我看了。并没有通知取消订单的功能。有的话,自然好处理了。
vc555 2016-01-20
  • 打赏
  • 举报
回复
引用 5 楼 FoxDave 的回复:
超时取消与第三方的联系就行了吧,付款会失败
这个不太现实吧?有些第3方没这个功能。
秋的红果实 2016-01-19
  • 打赏
  • 举报
回复
就像12306那样,提交订单后30分钟内付款 你的系统要等待客户付款成功并返回,才能决定订票成功,30分钟内,若客户没有付款成功,就取消订单,重新下订单 第三方平台应该可以终止的,就是说,如果30分钟内没有付款成功,通知付款超时,取消客户在第三方平台的操作
vc555 2016-01-19
  • 打赏
  • 举报
回复
谢谢。跳转时就延长订单有效期能部分解决这个问题
  • 打赏
  • 举报
回复
订单有效期应该延长,或者跳转支付平台的条件应该限制(必须至少在订单到期前3分钟)。 如果真的过期了,你可以再用户感知不到情况下尝试再试一次快速出票。 如果实在是已经被别人使用了,那么就只好退款。但是很明显,你给支付阶段保证的操作时间足够长(别是1分钟这么短),例如凡是跳转支付页面时就自动延长10分钟订单有效期,出现这种问题的概率就很低。

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧