一种可异常补偿的支付防重处理方法与流程

文档序号:23421347发布日期:2020-12-25 11:45阅读:233来源:国知局
一种可异常补偿的支付防重处理方法与流程

本发明涉及网络支付技术领域,具体为一种可异常补偿的支付防重处理方法。



背景技术:

网络支付,是指电子交易的当事人,包括消费者、厂商、和金融机构,使用安全电子支付手段通过网络进行的货币支付或资金流转,网络支付是采用先进的技术通过数字流转来完成信息传输的,网络支付各种支付方式都是采用数字化的方式进行款项支付的,而传统的支付方式则是通过现金的流转、票据的转让及银行的汇兑等物理实体是流转来完成款项支付的,网络支付通过平台之间完成交易。

然而,平台之间的交易请求通过rocketmq来传递,降低了各个模块耦合性,还具有削峰填谷的作用,但是存在着重复消费,可能会导致相同的订单发送两次,给交易带来了很多不必要的麻烦,同时当支付处理环节中出现异常时,会导致程序中断,进而导致支付无法正常进行,无法进行异常补偿。



技术实现要素:

本发明的目的在于提供一种可异常补偿的支付防重处理方法,以解决上述背景技术中提出的平台之间的交易请求通过rocketmq来传递,降低了各个模块耦合性,还具有削峰填谷的作用,但是存在着重复消费,可能会导致相同的订单发送两次,给交易带来了很多不必要的麻烦,同时当支付处理环节中出现异常时,会导致程序中断,进而导致支付无法正常进行,无法进行异常补偿的问题。

为实现上述目的,本发明提供如下技术方案:一种可异常补偿的支付防重处理方法,其处理步骤如下:

步骤一:交易信息通过rocketmq输入交易平台内;

步骤二:判断此笔交易的支付标识,根据判断的结果识别是重复的交易或者根据交易的唯一键和版本号更新支付标识进入下一步的判断;

步骤三:交易信息循环;

步骤四:已支付的交易信息直接进入重复的交易状态,未支付的交易信息根据交易的唯一键和版本号更新支付标识进行判断,根据更新的结果识别是重复的交易或者此笔交易为正常交易;

步骤五:交易平台对支付过程中的信息进行识别,通过平台各环节查询中断数据,重新调用支付处理api进行支付处理;

步骤六:交易发送时间循环;

步骤七:补偿处理,根据交易订单创建时间,查询一段时间内交易状态还是处理中的交易,根据交易状态判结果进行重新发起支付处理或者向银行查询交易结果。

优选的,所述步骤二中判断此笔交易的支付标识包括已支付和未支付,当支付标识是已支付时,则此次支付操作识别为重复支付操作,并终止本次支付流程,当支付标识是未支付时,则根据交易信息中的唯一键和版本号来更新支付标识以及版本号,当更新失败时,说明此交易实际的版本号与本次支付的版本号不一致,已经被修改,此次支付操作识别为重复支付操作,并终止本次支付流程,当更新成功时,此次交易为正常交易,继续发送交易完成支付。

优选的,所述更新支付标识为版本号原值上加1。

优选的,所述交易信息循环包括已支付信息循环与未支付信息循环,所述已支付信息循环与未支付信息循环在一秒内的循环次数不得小于100次,所述已支付信息循环与未支付信息循环每循环一次都必须经过一次判断此笔交易的支付标识判断,经过交易信息循环后,识别此笔交易的状态,当此笔交易的状态为已支付时,直接跳到重复的交易,当识别信息为未支付时,跳到根据交易的唯一键和版本号更新支付标识。

优选的,所述支付过程中的信息进行识别包括rocketmq信息丢失、程序异常、系统异常等。

优选的,所述交易发送时间是否为空包括为空与不为空,所述交易发送时间循环包括交易发送时间为空循环与交易发送时间不为空循环,所述交易发送时间为空循环与交易发送时间不为空循环的循环次数每秒不得小于100次,每次所述交易发送时间循环均经过一次交易发送时间是否为空的判断,当交易发送时间为空时,直接跳到重新发起支付处理,当交易发送时间不为空时,跳到银行,向银行发起交易结果查询。

与现有技术相比,本发明的有益效果是:

1、该可异常补偿的支付防重处理方法,判断此笔交易的支付标识,当支付标识是“已支付”,则此次支付操作识别为重复支付操作,并终止本次支付流程,当支付标识是“未支付”,则根据交易信息中的唯一键和版本号来更新支付标识以及版本号(版本号在原值上加1),当更新失败,说明此交易实际的版本号与本次支付的版本号不一致,已经被修改,此次支付操作识别为重复支付操作,并终止本次支付流程,当更新成功,此次交易为正常交易,继续发送交易完成支付,进而防止出现重复消费,避免订单发送两次,降低了给交易带来的不必要麻烦,以及通过交易信息的循环,可对进入的交易信息进行多次循环判断,保证了交易信息判断的准确性。

2、该可异常补偿的支付防重处理方法,根据交易订单创建时间,查询一段时间内交易状态还是处理中的交易,通过判断订单的交易发送时间是否为空,为空则重新进行支付处理,不为空则向银行发起交易结果查询,从平台各环节查询中断数据,重新调用支付处理api进行支付处理,进而实现异常补偿,确保支付的正常进行。

附图说明

图1为本发明防重流程结构示意图;

图2为本发明补偿处理流程结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-2,本发明提供一种技术方案:一种可异常补偿的支付防重处理方法,其处理步骤如下:

步骤一:交易信息通过rocketmq输入交易平台内;

步骤二:判断此笔交易的支付标识,根据判断的结果识别是重复的交易或者根据交易的唯一键和版本号更新支付标识进入下一步的判断;

步骤三:交易信息循环;

步骤四:已支付的交易信息直接进入重复的交易状态,未支付的交易信息根据交易的唯一键和版本号更新支付标识进行判断,根据更新的结果识别是重复的交易或者此笔交易为正常交易;

步骤五:交易平台对支付过程中的信息进行识别,通过平台各环节查询中断数据,重新调用支付处理api进行支付处理;

步骤六:交易发送时间循环;

步骤七:补偿处理,根据交易订单创建时间,查询一段时间内交易状态还是处理中的交易,根据交易状态判结果进行重新发起支付处理或者向银行查询交易结果。

步骤二中判断此笔交易的支付标识包括已支付和未支付,当支付标识是已支付时,则此次支付操作识别为重复支付操作,并终止本次支付流程,当支付标识是未支付时,则根据交易信息中的唯一键和版本号来更新支付标识以及版本号,当更新失败时,说明此交易实际的版本号与本次支付的版本号不一致,已经被修改,此次支付操作识别为重复支付操作,并终止本次支付流程,当更新成功时,此次交易为正常交易,继续发送交易完成支付,实现支付时的防重处理,更新支付标识为版本号原值上加1,实现支付标号的更新。

交易信息循环包括已支付信息循环与未支付信息循环,已支付信息循环与未支付信息循环在一秒内的循环次数不得小于100次,已支付信息循环与未支付信息循环每循环一次都必须经过一次判断此笔交易的支付标识判断,经过交易信息循环后,识别此笔交易的状态,当此笔交易的状态为已支付时,直接跳到重复的交易,当识别信息为未支付时,跳到根据交易的唯一键和版本号更新支付标识,实现交易信息的循环,保证了处理时的准确性,支付过程中的信息进行识别包括rocketmq信息丢失、程序异常、系统异常等,识别支付过程中产生的异常,交易发送时间是否为空包括为空与不为空,交易发送时间循环包括交易发送时间为空循环与交易发送时间不为空循环,交易发送时间为空循环与交易发送时间不为空循环的循环次数每秒不得小于100次,每次交易发送时间循环均经过一次交易发送时间是否为空的判断,当交易发送时间为空时,直接跳到重新发起支付处理,当交易发送时间不为空时,跳到银行,向银行发起交易结果查询,实现交易信息的补偿,同时保证判断的准确性。

工作原理:首先,交易信息通过rocketmq输入交易平台内,判断此笔交易的支付标识,交易信息循环,交易信息循环包括已支付信息循环与未支付信息循环,已支付信息循环与未支付信息循环在一秒内的循环次数不得小于100次,已支付信息循环与未支付信息循环每循环一次都必须经过一次判断此笔交易的支付标识判断,经过交易信息循环后,识别此笔交易的状态,当此笔交易的状态为已支付时,直接跳到重复的交易,当识别信息为未支付时,跳到根据交易的唯一键和版本号更新支付标识,根据判断的结果识别是重复的交易或者根据交易的唯一键和版本号更新支付标识进入下一步的判断,判断此笔交易的支付标识包括已支付和未支付,当支付标识是已支付时,则此次支付操作识别为重复支付操作,并终止本次支付流程,当支付标识是未支付时,则根据交易信息中的唯一键和版本号来更新支付标识以及版本号(更新支付标识为版本号原值上加1),当更新失败时,说明此交易实际的版本号与本次支付的版本号不一致,已经被修改,此次支付操作识别为重复支付操作,并终止本次支付流程,当更新成功时,此次交易为正常交易,继续发送交易完成支付,在支付过程中,交易平台对支付过程中的信息进行识别,同时支付过程中的信息进行识别包括rocketmq信息丢失、程序异常、系统异常等,通过平台各环节查询中断数据,重新调用支付处理api进行支付处理,根据交易订单创建时间,查询一段时间内交易状态还是处理中的交易,交易发送时间是否为空包括为空与不为空,交易发送时间循环包括交易发送时间为空循环与交易发送时间不为空循环,交易发送时间为空循环与交易发送时间不为空循环的循环次数每秒不得小于100次,每次交易发送时间循环均经过一次交易发送时间是否为空的判断,当交易发送时间为空时,直接跳到重新发起支付处理,当交易发送时间不为空时,跳到银行,向银行发起交易结果查询,通过循环的方式保证判断的准确性,进而实现支付过程中的异常补偿。

最后应当说明的是,以上内容仅用以说明本发明的技术方案,而非对本发明保护范围的限制,本领域的普通技术人员对本发明的技术方案进行的简单修改或者等同替换,均不脱离本发明技术方案的实质和范围。

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