本发明专利技术涉及数据处理技术领域,公开了一种基于订单状态幂等控制的防重复支付方法及装置,包括:接收订单的订单状态;在订单状态符合预设订单状态时,接收订单的支付请求;修改订单状态,并根据支付请求支付订单;在订单支付失败时,对订单的变更操作进行回滚还原,再次发起所述支付请求。在金融科技的电子交易场景中,本申请能够在同一笔订单支付失败之后重新发起支付请求,避免了用户对相同消费重复下单的问题,避免后台出现过多的冗余数据问题;再此前提之下,严格控制了重复支付场景,避免出现资金损耗问题;这种交易订单与支付订单一对多的设计方式,满足了用户支付失败后重新支付的需求,满足了多次支付之间的数据隔离,使之相互之间无影响。相互之间无影响。相互之间无影响。
【技术实现步骤摘要】
基于订单状态幂等控制的防重复支付方法及装置
[0001]本专利技术涉及数据处理
,尤其涉及一种基于订单状态幂等控制的防重复支付方法及装置。
技术介绍
[0002]随着电子交易(electronic transaction)的普及和经济的发展,越来越多的用户通过移动终端进行线上购物,线上购物已经成为一种重要的购物形式。
[0003]金融科技场景中的线上消费,一般流程可以包含下单和支付,在下单和支付的过程中常常由于各种原因出现交易失败的问题。在现有技术中,在本次交易失败时,一般会将本次交易操作作废处理,即:将下单与支付生成的相关数据全部以失败和作废处理,这种处理方式导致了用户只能重新下单进行支付的问题。
技术实现思路
[0004]本专利技术提供一种基于订单状态幂等控制的防重复支付方法及装置,以解决现有技术中,在本次交易失败时,将本次交易操作作废处理,用户重新下单进行支付的技术问题。
[0005]第一方面,提供了一种基于订单状态幂等控制的防重复支付方法,包括以下步骤:
[0006]接收订单的订单状态;
[0007]在所述订单状态符合预设订单状态时,接收所述订单的支付请求;
[0008]修改所述订单状态,并根据所述支付请求支付所述订单;
[0009]在所述订单支付失败时,对所述订单的变更操作进行回滚还原,并再次发起所述支付请求。
[0010]第二方面,提供了一种基于订单状态幂等控制的防重复支付装置,包括:
[0011]订单状态接收模块,用于接收订单的订单状态;
[0012]支付请求接收模块,用于在所述订单状态符合预设订单状态时,接收所述订单的支付请求;
[0013]支付模块,用于修改所述订单状态,并根据所述支付请求支付所述订单;
[0014]再次支付模块,用于在所述订单支付失败时,对所述订单的变更操作进行回滚还原,并再次发起所述支付请求。
[0015]第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于订单状态幂等控制的防重复支付方法的步骤。
[0016]第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述基于订单状态幂等控制的防重复支付方法的步骤。
[0017]上述基于订单状态幂等控制的防重复支付方法、装置、计算机设备及存储介质所实现的方案中,首先接收订单的订单状态,然后在所述订单状态符合预设订单状态时,接收
所述订单的支付请求,其次修改所述订单状态,并根据所述支付请求支付所述订单,最后在所述订单支付失败时,对所述订单的变更操作进行回滚还原,并再次发起所述支付请求。在本专利技术中,针对现有技术中在本次交易失败时,将本次交易操作作废处理,需要用户重新下单进行支付的技术问题。先接收符合预设订单状态的订单的支付请求,再修改订单状态,从而能够在根据支付请求支付订单失败时,对订单的变更操作进行回滚还原,并再次发起支付请求。能够在同一笔订单支付失败之后重新发起支付请求,避免了用户对相同消费重复下单的问题,避免后台出现过多的冗余数据问题;再此前提之下,严格控制了重复支付场景,避免出现资金损耗问题;这种交易订单与支付订单一对多的设计方式,不仅满足了用户支付失败后重新支付的需求,又满足了多次支付之间的数据隔离,使之相互之间无影响。
[0018]上述基于订单状态幂等控制的防重复支付方法、装置、计算机设备及存储介质所实现的方案中,首先接收订单的订单状态,然后在所述订单状态符合预设订单状态时,接收所述订单的支付请求;在对所述订单的支付请求进行校验之后,将所述订单状态修改为支付进行中,若所述订单状态修改失败,则对所述支付请求进行拦截,终止支付所述订单,若所述订单状态修改成功,则根据所述支付请求支付所述订单;最后在所述订单支付失败时,对所述订单的变更操作进行回滚还原,并再次发起所述支付请求。本申请在订单状态符合预设订单状态的订单的支付请求校验通过之后,将订单状态修改为支付进行中,从而在订单状态修改失败时,对所述支付请求进行;本申请将幂等控制节点放在了数据校验之后,在支付流程中的节点靠前,能够更早的对多余的支付请求进行拦截,避免了系统后续的不必要消耗,提高了数据的完整性和安全性。
附图说明
[0019]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本专利技术一实施例基于订单状态幂等控制的防重复支付方法的一应用环境示意图;
[0021]图2是本专利技术一实施例中基于订单状态幂等控制的防重复支付方法的一流程示意图;
[0022]图3是本专利技术一实施例中基于订单状态幂等控制的防重复支付方法的总体流程示意图;
[0023]图4是本专利技术一实施例中基于订单状态幂等控制的防重复支付装置的一结构示意图;
[0024]图5是本专利技术一实施例中计算机设备的一结构示意图;
[0025]图6是本专利技术一实施例中计算机设备的另一结构示意图。
具体实施方式
[0026]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本发
明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0027]本专利技术实施例提供的基于订单状态幂等控制的防重复支付方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信。服务端可以通过客户端接收订单的订单状态,并在所述订单状态符合预设订单状态时,接收所述订单的支付请求,修改所述订单状态根据所述支付请求支付所述订单,最后在所述订单支付失败时,对所述订单的变更操作进行回滚还原,通过客户端再次发起所述支付请求。在本专利技术中,针对现有技术中在本次交易失败时,将本次交易操作作废处理,需要用户重新下单进行支付的技术问题。先接收符合预设订单状态的订单的支付请求,再修改订单状态,从而能够在根据支付请求支付订单失败时,对订单的变更操作进行回滚还原,并再次发起支付请求。能够在同一笔订单支付失败之后重新发起支付请求,避免了用户对相同消费重复下单的问题,避免后台出现过多的冗余数据问题;再此前提之下,严格控制了重复支付场景,避免出现资金损耗问题;这种交易订单与支付订单一对多的设计方式,不仅满足了用户支付失败后重新支付的需求,又满足了多次支付之间的数据隔离,使之相互之间无影响。
[0028]更具体地,服务端通过客户端接收订单的订单状态,然后在所述订单状态符合预设订单状态时,接收所述订单的支付请求;在对所述订单的支付请求进行校验之后,将所述订单状态修改为支付进行中,若所述订单状态修改失本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于订单状态幂等控制的防重复支付方法,其特征在于,包括以下步骤:接收订单的订单状态;在所述订单状态符合预设订单状态时,接收所述订单的支付请求;修改所述订单状态,并根据所述支付请求支付所述订单;在所述订单支付失败时,对所述订单的变更操作进行回滚还原,并再次发起所述支付请求。2.根据权利要求1所述的防重复支付方法,其特征在于,在所述订单状态符合预设订单状态时,接收所述订单的支付请求,包括:在所述订单状态符合交易进行中时,接收所述订单的支付请求;将所述交易进行中作为所述预设订单状态。3.根据权利要求1所述的防重复支付方法,其特征在于,在所述接收所述订单的支付请求之后,包括:对所述订单的支付请求进行校验。4.根据权利要求1所述的防重复支付方法,其特征在于,所述修改所述订单状态,并根据所述支付请求支付所述订单,包括:将所述订单状态修改为支付进行中;若所述订单状态修改失败,则对所述支付请求进行拦截,终止支付所述订单;若所述订单状态修改成功,则根据所述支付请求支付所述订单。5.根据权利要求1所述的防重复支付方法,其特征在于,所述根据所述支付请求支付所述订单,包括:根据支付单和支付明细...
【专利技术属性】
技术研发人员:赵建强,
申请(专利权)人:平安壹钱包电子商务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。