防止重复支付方法、装置、终端及存储介质制造方法及图纸

技术编号:36426217 阅读:13 留言:0更新日期:2023-01-20 22:36
本申请公开了一种防止重复支付方法、装置、终端及存储介质,方法包括:接收目标业务订单对应的支付请求;基于初始订单关系数据和外部订单号,生成支付订单号;基于支付订单号更新初始订单关系数据,确定更新结果;基于更新结果,确定是否等待银行系统反馈的支付结果。本发明专利技术对于接收到的一笔支付请求,根据该笔请求的外部订单号,相应地生成一个支付订单号,然后再请求银行系统发起支付指令。一笔外部订单号只允许关联至多一笔成功支付的支付订单号,以及多笔支付失败的支付订单号。即当支付系统在接收请求方对同一笔外部订单号发起的并发、重复请求时,都能正确的保障至多只有一笔支付请求可以成功,从而避免了重复支付。从而避免了重复支付。从而避免了重复支付。

【技术实现步骤摘要】
防止重复支付方法、装置、终端及存储介质


[0001]本申请涉及数字化交易
,具体而言,涉及一种防止重复支付方法、装置、终端及存储介质。

技术介绍

[0002]在支付系统中,由于系统设计缺陷容易造成重复支付,尤其是高并发请求场景下,会给支付系统带来资金损失。因此,如何在高并发请求场景下防止重复支付成为亟待解决的问题。
[0003]目前,针对高并发请求场景,防止重复支付均是通过给交易增加一个交易状态标识,当判断到支付成功后,就不再发起重复的支付。
[0004]然而,仅通过交易状态标识的方法,当同样请求并发重试时,多份请求同时查询交易状态标识均为“未支付”,进而都执行支付,如果后续流程不加以控制则仍会造成重复支付问题。

技术实现思路

[0005]本申请的主要目的在于提供一种防止重复支付方法、装置、终端及存储介质,以解决相关技术中发生重复支付的问题。
[0006]为了实现上述目的,第一方面,本申请提供了一种防止重复支付方法,包括:
[0007]接收目标业务订单对应的支付请求,其中,支付请求中至少包括目标业务订单对应的外部订单号;
[0008]基于初始订单关系数据和外部订单号,生成支付订单号;
[0009]基于支付订单号更新初始订单关系数据,确定更新结果;
[0010]基于更新结果,确定是否等待银行系统反馈的支付结果。
[0011]在一种可能的实现方式中,基于初始订单关系数据和外部订单号,生成支付订单号,包括:
[0012]查询是否存在与外部订单号所对应的初始订单关系数据;
[0013]若不存在,生成支付订单号。
[0014]在一种可能的实现方式中,方法还包括:
[0015]若存在,遍历初始订单关系数据中的支付订单号和支付订单号的支付状态;
[0016]若支付订单号的支付状态为第一支付状态和第三支付状态,且第一支付状态和第三支付状态对应的支付订单号的数目均大于或等于1,系统出现异常状况,终止目标业务订单;
[0017]若支付订单号的支付状态为第二支付状态,银行系统完成目标业务订单对应的支付请求,其中,第一支付状态用于表征“进行中”的支付订单,第二支付状态用于表征“失败”的支付订单,第三支付状态用于表征“成功”的支付状态。
[0018]在一种可能的实现方式中,方法还包括:
[0019]若支付订单号的支付状态不是第二支付状态,判断支付订单号的支付状态是否为第一支付状态;
[0020]若支付订单号的支付状态为第一支付状态,等待银行系统反馈支付结果。
[0021]在一种可能的实现方式中,方法还包括:
[0022]若支付订单号的支付状态不是第一支付状态,且支付订单号的支付状态为第二支付状态,执行基于支付订单号更新初始订单关系数据,确定更新结果的步骤。
[0023]在一种可能的实现方式中,基于支付订单号更新初始订单关系数据,确定更新结果,包括:
[0024]基于支付订单号更新初始订单关系数据,生成目标订单关系数据,更新结果为成功。
[0025]在一种可能的实现方式中,基于更新结果,确定是否等待银行系统反馈的支付结果,包括:
[0026]向银行系统发送支付指令,等待银行系统基于发送指令反馈的支付结果。
[0027]在一种可能的实现方式中,基于支付订单号更新初始订单关系数据,确定更新结果,包括:
[0028]基于支付订单号更新初始订单关系数据,未生成目标订单关系数据,更新结果为失败。
[0029]在一种可能的实现方式中,基于更新结果,确定是否等待银行系统反馈的支付结果,包括:
[0030]在初始订单关系数据中查询支付订单号对应的支付状态;
[0031]若支付状态为第一支付状态,等待银行系统基于支付订单号反馈的支付结果。
[0032]在一种可能的实现方式中,方法还包括:
[0033]若支付状态不是第一支付状态,系统出现异常,终止目标业务订单。
[0034]在一种可能的实现方式中,基于更新结果,确定是否等待银行系统反馈的支付结果,包括:
[0035]若支付订单号的支付状态为第一支付状态和第三支付状态,且第一支付状态和第三支付状态对应的支付订单号的数目均大于或等于1,系统出现异常状况,终止目标业务订单。
[0036]第二方面,本专利技术实施例提供了一种防止重复支付装置,包括:
[0037]接收模块,用于接收目标业务订单对应的支付请求,其中,支付请求中至少包括目标业务订单对应的外部订单号;
[0038]订单号生成模块,用于基于初始订单关系数据和外部订单号,生成支付订单号;
[0039]更新判断模块,用于基于支付订单号更新初始订单关系数据,确定更新结果;
[0040]支付结果确定模块,用于基于更新结果,确定是否等待银行系统反馈的支付结果。
[0041]第三方面,本专利技术实施例提供了一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上任一种防止重复支付方法的步骤。
[0042]第四方面,本专利技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上任一种防止重复支付方法的步
骤。
[0043]本专利技术实施例提供了一种防止重复支付方法、装置、终端及存储介质,包括:接收目标业务订单对应的支付请求,先基于初始订单关系数据和外部订单号,生成支付订单号,然后基于支付订单号更新初始订单关系数据,确定更新结果,再基于更新结果,确定是否等待银行系统反馈的支付结果。本专利技术对于接收到的一笔支付请求,根据该笔请求的“外部订单号”,相应地生成一个“支付订单号”,然后再请求银行系统发起支付指令。一笔“外部订单号”只允许关联至多一笔成功支付的“支付订单号”,以及多笔支付失败的“支付订单号”。因此,当支付系统在接收请求方对同一笔外部订单号发起的并发、重复请求时,都能正确的保障至多只有一笔支付请求可以成功,从而避免了重复支付。
附图说明
[0044]构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0045]图1是本专利技术一实施例提供的一种防止重复支付方法的实现流程图;
[0046]图2是本专利技术一实施例提供的支付订单状态的示意图;
[0047]图3是本专利技术另一实施例提供的支付订单状态的示意图;
[0048]图4是本专利技术实施例提供的订单关系数据结构的示意图;
[0049]图5是本专利技术另一实施例提供的一种防止重复支付方法的实现流程图;
[0050]图6是本专利技术另一实施例提供的一种防止重复支付方法的实现流程图;
[0051]图7是本专利技术实施例提供的一种防止重复支付装置的结构示意图;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防止重复支付方法,其特征在于,包括:接收目标业务订单对应的支付请求,其中,所述支付请求中至少包括所述目标业务订单对应的外部订单号;基于初始订单关系数据和所述外部订单号,生成支付订单号;基于所述支付订单号更新所述初始订单关系数据,确定更新结果;基于所述更新结果,确定是否等待银行系统反馈的支付结果。2.如权利要求1所述防止重复支付方法,其特征在于,所述基于初始订单关系数据和所述外部订单号,生成支付订单号,包括:查询是否存在与所述外部订单号所对应的所述初始订单关系数据;若不存在,生成所述支付订单号。3.如权利要求2所述防止重复支付方法,其特征在于,所述方法还包括:若存在,遍历所述初始订单关系数据中的支付订单号和所述支付订单号的支付状态;若所述支付订单号的支付状态为第一支付状态和第三支付状态,且所述第一支付状态和所述第三支付状态对应的支付订单号的数目均大于或等于1,系统出现异常状况,终止所述目标业务订单;若所述支付订单号的支付状态为第二支付状态,所述银行系统完成所述目标业务订单对应的支付请求,其中,所述第一支付状态用于表征“进行中”的支付订单,所述第二支付状态用于表征“失败”的支付订单,所述第三支付状态用于表征“成功”的支付状态。4.如权利要求3所述防止重复支付方法,其特征在于,所述方法还包括:若所述支付订单号的支付状态不是第二支付状态,判断所述支付订单号的支付状态是否为第一支付状态;若所述支付订单号的支付状态为第一支付状态,等待所述银行系统反馈支付结果。5.如权利要求4所述防止重复支付方法,其特征在于,所述方法还包括:若所述支付订单号的支付状态不是第一支付状态,且所述支付订单号的支付状态为第二支付状态,执行所述基于所述支付订单号更新所述初始订单关系数据,确定更新结果的步骤。6.如权利要求1所述防止重复支付方法,其特征在于,所述基于所述支付订单号更新所述初始订单关系数据,确定更新结果,包括:基于所述支付订单号更新所述初始订单关系数据,生成目标订单关系数据,所述更新结果为成功。7.如权利要求6所述防止重复支付方法,其特征在于,所述基于所述更新结果,确定是否...

【专利技术属性】
技术研发人员:陈文庆
申请(专利权)人:度小满科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1