处理支付请求的方法、装置、电子设备和计算机可读介质与流程

文档序号:34312651发布日期:2023-05-31 22:14阅读:40来源:国知局
处理支付请求的方法、装置、电子设备和计算机可读介质与流程

本发明涉及移动互联,尤其涉及一种处理支付请求的方法、装置、电子设备和计算机可读介质。


背景技术:

1、通常地铁出行的支付场景包括:购买地铁次卡或地铁卡乘车,或者刷码乘车。进站时,校验余额是否超过最低票价,低于最低票价会提示去客服中心处理,出站时发起支付交易,余额不足会提示到客服中心处理,补票完成并且支付成功后才开闸让行。

2、在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

3、1)传统乘车支付方法是先扣费再通行,导致开闸慢、交易链长,而且容易因为没网络、没信号、终端没电等原因导致扣费失败而开不了闸,从而导致出行效率低下;

4、2)在支付过程中可能会有交易超时,网络抖动等导致地铁方接收不到,导致数据不同步,从而导致出行效率低下;

5、3)在出闸前必须完成支付,若因为网络或者服务异常等原因支付不了,会导致影响乘客出行。


技术实现思路

1、有鉴于此,本发明实施例提供一种处理支付请求的方法、装置、电子设备和计算机可读介质,以解决出行效率低下的技术问题。

2、为实现上述目的,根据本发明实施例的一个方面,提供了一种处理支付请求的方法,包括:

3、接收出行系统发送的支付请求,所述支付请求携带订单信息,所述订单由所述出行系统在用户出闸后生成,所述订单信息包括行程信息、支付金额、付款账户、收款账户、订单生成时间和订单号;

4、判断当前处理请求量是否大于等于第一请求量阈值;若是,则将所述支付请求加入到待处理队列中;若否,则按照如下步骤处理所述支付请求:

5、判断缓存中是否存在重复的订单;若是,则向所述出行系统返回订单重复的报错消息或者支付成功的处理结果;若否,则将所述订单号存储到所述缓存中并记录所述订单号的存储时间,根据所述支付金额、所述付款账户和所述收款账户完成支付流程。

6、可选地,判断缓存中是否存在重复的订单,若是,则向所述出行系统返回订单重复的报错消息或者支付成功的处理结果,包括:

7、根据所述订单号判断所述缓存中是否存在重复的订单;

8、若是,则判断当前时间与所述订单号的存储时间的差值是否小于第一时间阈值,若是,则向所述出行系统返回订单重复的报错消息;

9、若否,则向所述出行系统返回支付成功的处理结果。

10、可选地,向所述出行系统返回支付成功的处理结果,包括:

11、判断所述订单号的处理结果是否为支付成功;

12、若是,则对所述订单号进行幂等性处理,向所述出行系统返回与首次支付成功时返回的处理结果相同的处理结果;

13、若否,则根据所述支付金额、所述付款账户和所述收款账户完成支付流程,并将支付成功的处理结果存储到所述缓存中。

14、可选地,根据所述支付金额、所述付款账户和所述收款账户完成支付流程,包括:

15、根据所述支付金额、所述付款账户和所述收款账户进行支付,判断是否支付成功;

16、若是,则向所述出行系统返回支付成功的处理结果;

17、若否,则根据支付失败的原因进行人工处理或者重新发起支付。

18、可选地,若支付成功,所述方法还包括:

19、判断在支付过程中是否进行了垫资;

20、若是,则对垫资的账户进行补缴,并向所述出行系统返回支付成功的处理结果;

21、若否,则向所述出行系统返回支付成功的处理结果。

22、可选地,根据支付失败的原因进行人工处理或者重新发起支付,包括:

23、判断支付失败的原因是否为业务报错;

24、若是,则进行人工处理;

25、若否,则在第二时间阈值后重新发起支付,直到发起支付的次数大于等于异常重试次数。

26、可选地,根据支付失败的原因进行人工处理或者重新发起支付,包括:

27、判断支付失败的原因是否为业务报错;

28、若是,则进行人工处理;

29、若否,则将所述支付请求加入到所述待处理队列中,若当前处理请求量小于第二请求量阈值,则从所述待处理队列中取出所述支付请求并处理所述支付请求。

30、另外,根据本发明实施例的另一个方面,提供了一种处理支付请求的装置,包括:

31、接收模块,用于接收出行系统发送的支付请求,所述支付请求携带订单信息,所述订单由所述出行系统在用户出闸后生成,所述订单信息包括行程信息、支付金额、付款账户、收款账户、订单生成时间和订单号;

32、处理模块,用于判断当前处理请求量是否大于等于第一请求量阈值;若是,则将所述支付请求加入到待处理队列中;若否,则按照如下步骤处理所述支付请求:

33、判断缓存中是否存在重复的订单;若是,则向所述出行系统返回订单重复的报错消息或者支付成功的处理结果;若否,则将所述订单号存储到所述缓存中并记录所述订单号的存储时间,根据所述支付金额、所述付款账户和所述收款账户完成支付流程。

34、可选地,所述处理模块还用于:

35、根据所述订单号判断所述缓存中是否存在重复的订单;

36、若是,则判断当前时间与所述订单号的存储时间的差值是否小于第一时间阈值,若是,则向所述出行系统返回订单重复的报错消息;

37、若否,则向所述出行系统返回支付成功的处理结果。

38、可选地,所述处理模块还用于:

39、判断所述订单号的处理结果是否为支付成功;

40、若是,则对所述订单号进行幂等性处理,向所述出行系统返回与首次支付成功时返回的处理结果相同的处理结果;

41、若否,则根据所述支付金额、所述付款账户和所述收款账户完成支付流程,并将支付成功的处理结果存储到所述缓存中。

42、可选地,所述处理模块还用于:

43、根据所述支付金额、所述付款账户和所述收款账户进行支付,判断是否支付成功;

44、若是,则向所述出行系统返回支付成功的处理结果;

45、若否,则根据支付失败的原因进行人工处理或者重新发起支付。

46、可选地,若支付成功,所述处理模块还用于:

47、判断在支付过程中是否进行了垫资;

48、若是,则对垫资的账户进行补缴,并向所述出行系统返回支付成功的处理结果;

49、若否,则向所述出行系统返回支付成功的处理结果。

50、可选地,所述处理模块还用于:

51、判断支付失败的原因是否为业务报错;

52、若是,则进行人工处理;

53、若否,则在第二时间阈值后重新发起支付,直到发起支付的次数大于等于异常重试次数。

54、可选地,所述处理模块还用于:

55、判断支付失败的原因是否为业务报错;

56、若是,则进行人工处理;

57、若否,则将所述支付请求加入到所述待处理队列中,若当前处理请求量小于第二请求量阈值,则从所述待处理队列中取出所述支付请求并处理所述支付请求。

58、根据本发明实施例的另一个方面,还提供了一种电子设备,包括:

59、一个或多个处理器;

60、存储装置,用于存储一个或多个程序,

61、当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现上述任一实施例所述的方法。

62、根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。

63、根据本发明实施例的另一个方面,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的方法。

64、上述发明中的一个实施例具有如下优点或有益效果:因为采用接收出行系统发送的支付请求,订单由出行系统在用户出闸后生成,判断当前处理请求量是否大于等于第一请求量阈值,若是,则将支付请求加入到待处理队列中,若否,则处理支付请求的技术手段,所以克服了现有技术中出行效率低下的技术问题。本发明实施例通过削峰限流,使得服务更稳定。在出行高峰期时,可以先通行,订单在业务量小时再扣费,避免同一时间发起扣费造成系统崩溃,降低服务器压力;而且刷脸或者刷码成功后直接开闸,不必等扣费成功再开闸,提高了响应效率和出行速度。

65、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1