1.一种可异常补偿的支付防重处理方法,其处理步骤如下:
步骤一:交易信息通过rocketmq输入交易平台内;
步骤二:判断此笔交易的支付标识,根据判断的结果识别是重复的交易或者根据交易的唯一键和版本号更新支付标识进入下一步的判断;
步骤三:交易信息循环;
步骤四:已支付的交易信息直接进入重复的交易状态,未支付的交易信息根据交易的唯一键和版本号更新支付标识进行判断,根据更新的结果识别是重复的交易或者此笔交易为正常交易;
步骤五:交易平台对支付过程中的信息进行识别,通过平台各环节查询中断数据,重新调用支付处理api进行支付处理;
步骤六:交易发送时间循环;
步骤七:补偿处理,根据交易订单创建时间,查询一段时间内交易状态还是处理中的交易,根据交易状态判结果进行重新发起支付处理或者向银行查询交易结果。
2.根据权利要求1所述的一种可异常补偿的支付防重处理方法,其特征在于:所述步骤二中判断此笔交易的支付标识包括已支付和未支付,当支付标识是已支付时,则此次支付操作识别为重复支付操作,并终止本次支付流程,当支付标识是未支付时,则根据交易信息中的唯一键和版本号来更新支付标识以及版本号,当更新失败时,说明此交易实际的版本号与本次支付的版本号不一致,已经被修改,此次支付操作识别为重复支付操作,并终止本次支付流程,当更新成功时,此次交易为正常交易,继续发送交易完成支付。
3.根据权利要求2所述的一种可异常补偿的支付防重处理方法,其特征在于:所述更新支付标识为版本号原值上加1。
4.根据权利要求1所述的一种可异常补偿的支付防重处理方法,其特征在于:所述交易信息循环包括已支付信息循环与未支付信息循环,所述已支付信息循环与未支付信息循环在一秒内的循环次数不得小于100次,所述已支付信息循环与未支付信息循环每循环一次都必须经过一次判断此笔交易的支付标识判断,经过交易信息循环后,识别此笔交易的状态,当此笔交易的状态为已支付时,直接跳到重复的交易,当识别信息为未支付时,跳到根据交易的唯一键和版本号更新支付标识。
5.根据权利要求1所述的一种可异常补偿的支付防重处理方法,其特征在于:所述支付过程中的信息进行识别包括rocketmq信息丢失、程序异常、系统异常等。
6.根据权利要求1所述的一种可异常补偿的支付防重处理方法,其特征在于:所述交易发送时间是否为空包括为空与不为空,所述交易发送时间循环包括交易发送时间为空循环与交易发送时间不为空循环,所述交易发送时间为空循环与交易发送时间不为空循环的循环次数每秒不得小于100次,每次所述交易发送时间循环均经过一次交易发送时间是否为空的判断,当交易发送时间为空时,直接跳到重新发起支付处理,当交易发送时间不为空时,跳到银行,向银行发起交易结果查询。