我想开发一个预约支付系统。 预约后如果未在 10 分钟内付款,则表示我已取消该预约。
I am using ebs payment system.
预约后会去ebs网站。 我如何跟踪付款可以在 10 分钟内完成。 我是否需要为此创建线程,如果没有达到要求的结果意味着我必须取消该约会?
How can i do this?
最佳答案
我从未使用过 EBS,也无法在线找到 API 规范。但是,一般方案是服务会在交易成功后将用户重定向到某个 pingback URL。此 pingback URL 包含交易 ID,因此您只需要一个简单的 servlet,它会根据 EBS 服务检查具有给定 ID 的交易是否真正成功。检查后,您可以在 HTML 响应中向用户发送消息,并在您的系统中触发所需的操作。
关于取消部分,您可以安排一个 cron 作业(例如使用 Quartz 调度程序)定期检查未支付的约会并丢弃太旧的约会。不过我觉得10分钟是很短的时间,因为支付本身可能会持续10多分钟。
更好的方法是给用户 10 分钟的时间完成订单。已完成的订单仍然可以支付、未支付甚至取消,但不会被定期作业丢弃。
关于java - 跟踪付款在 10 分钟内完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20680457/