CN110852752B - 充值订单撤销异常处理方法、装置、设备和存储介质 - Google Patents
充值订单撤销异常处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110852752B CN110852752B CN201910923762.1A CN201910923762A CN110852752B CN 110852752 B CN110852752 B CN 110852752B CN 201910923762 A CN201910923762 A CN 201910923762A CN 110852752 B CN110852752 B CN 110852752B
- Authority
- CN
- China
- Prior art keywords
- order
- processing
- account
- recharging
- revocation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/407—Cancellation of a transaction
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种充值订单撤销异常处理方法、装置、计算机设备及可读存储介质。所述方法包括当账户充值订单的处理状态为代扣处理中时,若接收到用户的撤销操作,则将所述账户充值订单的处理状态流转为转入撤销,并向第三方系统发送充值撤销请求;接收所述第三方系统的响应结果,并解析;根据所述响应结果对所述账户充值订单的处理状态进行流转处理,并对所述账户充值订单进行标记处理。采用本方法可以有效避免长短款的情况发生。
Description
技术领域
本申请涉及互联网支付技术领域,特别是涉及一种充值订单撤销异常处理方法、装置、计算机设备和存储介质。
背景技术
在电子账户代扣交易过程中,电子订单状态的可以在只依赖订单状态本身的情况下支持同时进行多笔代扣和多笔撤销操作,而不必依赖分布式事务或者分布锁。但是分布式、高并发场景下一个账户进行同时代扣或者同时撤销操作,如果分布式事务或者分布式锁没有处理好就可能出现长短款的情况,如果状态流转没有控制好也可能会出现长短款的情况。长款的意思是从第三方扣款后,资金并未成功到钱包中,短款的情况正好相反,是资金未从第三方进入支付系统,但支付系统已经将资金充入用户钱包。
例如,当用户发起充值请求后,立刻又发起了撤销充值的撤销请求,因为网络拥堵等原因,导致第三方系统接收到支付系统的代扣请求以及撤销代扣的请求的先后顺序颠倒,第三方首先接收到撤销请求后,查无此单,便会向支付系统发送类似该订单不存在的撤销异常的撤销结果,而又因为现有的支付系统通过分布式事务处理订单请求,则支付系统会根据该撤销请求将账户充值订单的状态设置为已撤销,并在接收到第三方系统发送的代扣成功的代扣结果后,继续将资金发放到用户钱包中,而此时支付系统并未接收到第三方系统撤回的支付资金,导致支付系统资金短款,造成损失。
发明内容
基于此,有必要针对上述技术问题,本申请提供一种充值订单撤销异常处理方法、装置、计算机设备及存储介质,以解决现有技术中因为在代扣处理中用户发起撤销请求,导致的长短款的技术问题。
一种充值订单撤销异常处理方法,所述方法包括:
当账户充值订单的处理状态为代扣处理中时,若接收到用户的撤销操作,则将所述账户充值订单的处理状态流转为转入撤销,并向第三方系统发送充值撤销请求;
接收所述第三方系统的响应结果,对所述响应结果进行解析;
根据所述响应结果对所述账户充值订单的处理状态进行流转处理,并对所述账户充值订单进行标记处理。
一种充值订单撤销异常处理装置,所述装置包括:
撤销判断模块,用于当账户充值订单的处理状态为代扣处理中时,若接收到用户的撤销操作,则将所述账户充值订单的处理状态流转为转入撤销,并向第三方系统发送充值撤销请求;
响应接收模块,用于接收所述第三方系统的响应结果,对所述响应结果进行解析;
订单处理模块,用于根据所述响应结果对所述账户充值订单的处理状态进行流转处理,并对所述账户充值订单进行标记处理。
一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述充值订单撤销异常处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述充值订单撤销异常处理方法的步骤。
上述充值订单撤销异常处理方法、装置、计算机设备和存储介质,通过在账户充值订单处理中发起撤销请求后更改账户充值订单的处理状态,将转入撤销作为账户充值订单的临时处理状态,方便后续根据接收到的响应结果对订单进行下一步处理,而不至于出现订单状态无法改变引起订单不可逆导致的长短款的情况,以解决了现有技术中第三方系统处理支付请求的顺序颠倒导致的支付平台长短款的技术问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为充值订单撤销异常处理方法的应用环境示意图;
图2为充值订单撤销异常处理方法的流程示意图;
图3为一实施例中图2中步骤206的流程示意图;
图4为另一实施例中图2中步骤206的流程示意图;
图5为充值订单撤销异常处理装置的示意图;
图6为一个实施例中计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的充值订单撤销异常处理方法,可以应用于如图1所示的应用环境中。其中,该应用环境可以包括终端102、网络106以及服务端104、108,网络106用于在终端102和服务端104、108之间提供通信链路介质,网络106可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端102通过网络106与服务端104交互,以接收或发送消息等。终端102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务端104、108可以是提供各种服务的服务器,例如对终端102上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的对账方法一般由服务端/终端执行,相应地,对账装置一般设置于服务端/终端设备中。
应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
其中,终端102通过网络与服务端104进行通信,服务端108通过网络与服务端104进行通信。服务端104用于接收用户通过终端102发送的充值请求或者撤销请求,服务端104对终端102发送的请求进行解析,并根据解析得到的结果向服务端108发送响应的处理请求。服务端108对该处理请求进行处理后,返回响应结果,服务端104再根据响应结果对该订单做出相应的处理。其中,终端102和服务端104之间通过网络进行连接,服务端104和服务端104之间通过网络进行连接,该网络可以是有线网络或者无线网络,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端104、服务端108可以用独立的服务器或者是多个组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种充值订单撤销异常处理方法,以该方法应用于图1中的服务端104为例进行说明,包括以下步骤:
步骤202,当账户充值订单的处理状态为代扣处理中时,若接收到用户的撤销操作,则将账户充值订单的处理状态流转为转入撤销,并向第三方系统发送充值撤销请求。
本实施例的服务端104可以是与第三方系统进行数据交互的支付平台,终端可以是账户系统。当用户通过终端向支付平台发送充值请求,请求将存储在第三方系统的资金充值到账户系统,则支付平台会对账户系统的充值请求进行分析和验证,确定充值请求的合法性,然后再根据验证合格的充值请求向第三方系统发送代扣请求,此时,充值订单的处理状态是为代扣处理中的。若在支付平台再发送代扣请求后又接收到账户系统发送的订单撤销请求,即,接收到用户的撤销操作则支付平台会直接将充值订单的处理状态流转为转入撤销,并向第三方系统发送充值撤销请求。
步骤204,接收第三方系统的响应结果,并对响应结果进行解析。
如果接收到的第三方系统的响应结果是json格式的报文,可以通过fastjson对json格式报文进行解析;如果是XML报文,则可以通过dom4j进行解析。其中,Json是一种轻量级的数据交换格式,采用一种“键:值”对的文本格式来存储和表示数据,在系统交换数据过程中常常被使用,是一种理想的数据交换语言;fastjson用于将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean,其中,JavaBean是一种JAVA语言写成的可重用组件;dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的一种手段,其中,fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean;fastjson支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。
因为第三方系统处理代扣请求和代扣撤销请求是遵循着先接收先处理的原则,所以会出现虽然代扣请求是先于充值撤销请求从支付平台发出,但是因为网络传输过程中网络拥堵或者信息中转等原因导致银行先对充值撤销请求进行处理。但正常情况下第三方系统是先处理充值请求,若支付平台接收到第三方系统发送的响应结果,则对该响应结果进行解析,一般响应结果可以是代扣成功、代扣失败、撤销成功、撤销异常或者撤销失败等。
步骤206,根据响应结果对账户充值订单的处理状态进行流转处理,并对账户充值订单进行标记处理。
流转处理是指对账户充值订单的处理状态进行处理,比如当前是充值撤销中,若撤销成功,则将该订单的处理状态流转为已撤销。标记处理是对整个账户充值订单进行处理的操作,当该账户充值订单已经完成,则可以支付平台会对该账户充值订单进行处理,将其标记为已完成。响应结果可以是从第三方系统代扣资金成功的代扣成功消息,也可以是代扣失败、撤销成功、撤销失败或者撤销异常等。具体接收到的响应结果的类型由第三方系统的对支付平台的请求的处理结果决定。
比如在网络拥堵时,导致第三方系统接收到支付系统的代扣请求以及撤销代扣的请求的先后顺序颠倒,因为第三方系统处理用户请求是按照接收到请求的时间对请求进行处理的,所以在第三方系统首先接收到撤销请求后,查无此单,便会向支付平台发送类似该订单不存在的撤销异常的撤销结果,这时候支付平台接收到的来自第三方系统的响应结果便是撤销失败的撤销异常结果。
然后支付平台根据不同类型的响应结果对该账户充值订单的处理状态和该账户充值订单本身进行一系列处理,以避免长短款的情况发生。
上述充值订单撤销异常处理方法中,通过在接收到充值撤销的请求后,立刻将充值订单的处理状态流转为转入撤销,防止支付平台在接收到第三方系统发送的代扣成功消息后将订单的处理状态流转为代扣成功,并对账户系统进行充值,因为支付平台无法对已经进入用户的账户系统的资金进行操作,所以当充值成功后,又将处理状态流转为充值成功,而第三方系统接收到充值撤销请求后会指示支付平台退回代扣的资金,从而导致支付平台将资金充值如账户系统,而第三方系统又回收了代扣的资金的账户短款的情况。
在一个实施例中,如图3所示,步骤206,包括:
步骤302,若响应结果为代扣成功,且账户充值订单的处理状态为转入撤销,则再次向第三方系统发送充值撤销请求,并获取第三方系统的撤销结果。
若对响应结果进行解析后得到响应结果为代扣成功,则对支付平台上的充值订单的处理状态进行复验,若账户充值订单的处理状态依旧为转入撤销,则支付系统对再次向第三方系统发送充值撤销请求,并获取第三方系统的撤销结果。在这本次处理中,虽然支付系统已经接收到第三方系统发送的代扣成功的消息,并接收到了第三方系统发送的代扣资金,但是因为当前充值订单的处理状态为转入撤销,说明用户发起的充值撤销请求尚未被执行成功;此时,支付平台并不会将从第三方系统接收到的资金转入用户的账户系统中,而是再次向第三方系统发送充值撤销请求。而第三方系统接收到充值撤销请求后会对已代扣的那笔资金进行撤销操作,若第三方系统接收到支付平台退回的资金后会对该充值订单进行撤销处理,并向支付平台发送撤销成功的信息。
获取第三方系统的撤销结果的方式为实时检测第三方系统发送的撤销结果,若接收到撤销结果则对撤销结果进行解析。
步骤304,当撤销结果为撤销成功时,则将账户充值订单的处理状态流转为已撤销,并将账户充值订单标记为已完成。
当支付平台接收到的撤销结果为撤销成功时,则将账户充值订单的处理状态从转入撤销流转为已撤销,并将账户充值订单标记为已经完成,结束该充值订单。
本实施例中,若响应结果是代扣成功,说明第三方系统已经处理好了该充值订单,从第三方系统比如银行系统代扣到支付平台资金已经到账了,但是因为当前的账户充值订单的处理状态是转入撤销,说明该订单已经进入充值撤销状态,则支付平台对该充值订单的处理状态进行改变,也不会将已经代扣成功的资金充值到用户的账户系统中。而是继续向第三方系统发送一个或者多个充值撤销请求,指示第三方系统将该笔代扣资金进行回收,直到第三方系统回收成功,并接收到第三方系统发送的撤销成功的撤销结果,再对该充值订单的处理状态进行流转,流转为已撤销,并标记订单为已完成。通过此方式保证不会出现支付平台多出资金或者少资金的长短款的情况出现,保障了资金充值的资金的准确性。
在一个实施例中,若响应结果为代扣失败,则将账户充值订单的处理状态流转为代扣异常,并将账户充值订单标记为已完成。
因为种种原因第三方系统可能在处理支付平台的代扣请求时出现异常,从而导致代扣失败的情况出现,比如网络拥堵,导致的第三方系统无法接受到代扣请求或者支付平台的代扣请求无法之后发出的。当出现代扣异常的情况后,支付平台会将充值订单的处理状态从当前的代扣处理中流转为代扣失败,并将该充值订单标记为已完成。
本实施例通过直接对代扣失败的且用户已经发起充值撤销请求的订单进行结束处理,既保证了支付平台与第三方系统之间对于该订单不在进行数据交互处理,又避免了长短款的情况出现。
在一个实施例中,如图4所示,步骤206,还包括:
步骤402,若响应结果为撤销异常,且账户充值订单的处理状态为转入撤销,则再次向第三方系统发送充值撤销请求,并获取第三方系统发送的撤销结果。
其中,转入撤销表示该账户充值订单已经进入充值撤销状态,其中,撤销结果可以是支付平台不停对第三方系统的响应进行检测的得到的。
步骤404,当撤销结果为撤销成功时,则将账户充值订单的处理状态流转为已撤销,并将账户充值订单标记为已完成。
进一步地,可以根据预设查询条件向定时向第三方系统发送充值撤销请求。
可选地,预设查询条件也可以是用户根据需要设定主动请求的。
在本实施例中,若接收到的响应结果为撤销异常,则需要向第三方系统发送充值撤销请求,主动获取第三方系统的撤销结果。其中,在这种情况下,支付平台的对订单的处理情况为:在获取到撤销成功的消息之前,若支付平台接收到用户发送的代扣成功的结果,则继续执行查询补偿的操作,第三方系统会继续执行充值撤销操作,从支付平台退回代扣的资金。直到支付平台接收到撤销成功的结果,才会再将充值订单的处理状态流转为已撤销,并标记充值订单为已完成;保证已在支付平台的代扣资金成功被第三方系统回收,保证不会出现支付平台上的资金多出的情况,避免资金长款的情况出现。而且在先接收到撤销异常的情况下,执行查询补偿的操作,能在保证充值订单能够正常结束,避免长款的情况出现。
在一个实施例中,通过基于MySQL的CAS方式对账户充值订单的处理状态进行流转操作。
其中,基于MySQL的CAS方式为基于数据库的乐观锁,用于解决并发事务中带来的更新丢失问题。乐观锁一般情况下数据不会造成冲突,所以在数据进行提交更新时才会对数据的冲突与否进行检测。如果没有冲突那就正常执行操作;如果出现冲突了,则返回错误信息并让用户决定如何去做。其中,基于MySQL的CAS便是乐观锁的一种。
支付平台通过基于数据库的CAS原理对充值订单的状态进行流转,确保并发更新时造成的数据不一致的技术问题。
具体实现为:支付平台更新数据库记录的充值订单的处理状态时,带上充值订单的当前处理状态:Update order_table SET orderState=“需求修改的状态”WHEREorderState="当前状态"。比如:如果当前订单状态是“处理中”,这个时候用户请求撤销,支付平台接收并解析用户撤销请求后,则支付平台的数据库订单状态表执行状态更新操作,将数据库中的订单状态表中的处理状态从代扣处理中更新为转入撤销。
通过本实施例,通过CAS方式对账户充值订单的处理状态进行流转的处理流转的状态准确处理速度高效。
应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种充值订单撤销异常处理装置,该充值订单撤销异常处理装置与上述实施例中充值订单撤销异常处理方法一一对应。该充值订单撤销异常处理装置包括撤销判断模块502、响应接收模块504、订单处理模块506,其中:
撤销判断模块502,用于当账户充值订单的处理状态为代扣处理中时,若接收到用户的撤销操作,则将账户充值订单的处理状态流转为转入撤销,并向第三方系统发送充值撤销请求。
响应接收模块504,用于接收第三方系统的响应结果。
订单处理模块506,用于根据响应结果对账户充值订单的处理状态进行流转处理,并对账户充值订单进行标记处理。
进一步地,订单处理模块506,包括:
查询补偿子模块,用于若所述响应结果为代扣成功,且所述账户充值订单的处理状态为转入撤销,则再次向所述第三方系统发送所述充值撤销请求,并获取所述第三方系统的撤销结果。
订单标记子模块,用于当撤销结果为撤销成功时,则将账户充值订单的处理状态流转为已撤销,并将账户充值订单标记为已完成。
进一步地,订单处理模块506,还包括:
代扣异常处理子模块,用于若响应结果为代扣失败,则将账户充值订单的处理状态流转为代扣异常,并将账户充值订单标记为已完成。
进一步地,查询补偿子模块,还用于若响应结果为撤销异常,且账户充值订单的处理状态为转入撤销,则再次向第三方系统发送充值撤销请求,并获取第三方系统发送的撤销结果,并且当撤销结果为撤销成功时,则将账户充值订单的处理状态流转为已撤销,并将账户充值订单标记为已完成。
进一步地,查询补偿子模块,包括:
定时查询单元,用于根据预设查询条件向第三方系统发送充值撤销请求。其中,预设查询条件为定时向第三方系统发送充值撤销请求。
进一步地,上述的处理状态的流转可以通过基于MySQL的CAS方式实现。
上述充值订单撤销异常处理装置,通过在接收到充值撤销的请求后,立刻将充值订单的处理状态流转为转入撤销,防止支付平台在接收到第三方系统发送的代扣成功消息后将订单的处理状态流转为代扣成功,并对账户系统进行充值,因为支付平台无法对已经进入用户的账户系统的资金进行操作,所以当充值成功后,又将处理状态流转为充值成功,而第三方系统接收到充值撤销请求后会指示支付平台退回代扣的资金,从而导致支付平台将资金充值如账户系统,而第三方系统又回收了代扣的资金的账户短款的情况。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户订单数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种充值订单撤销异常处理方法。
其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circui t,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中充值订单撤销异常处理方法的步骤,例如图2所示的步骤202至步骤206,或者,处理器执行计算机程序时实现上述实施例充值订单撤销异常处理装置的各模块/单元的功能,例如图5所示模块502至模块506的功能。为避免重复,此处不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中充值订单撤销异常处理方法的步骤,例如图2所示的步骤202至步骤206,或者,处理器执行计算机程序时实现上述实施例中充值订单撤销异常处理装置的各模块/单元的功能,例如图5所示模块502至模块506的功能。为避免重复,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进或者对部分技术特征进行等同替换,而这些修改或者替换,并不使相同技术方案的本质脱离本发明个实施例技术方案地精神和范畴,都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种充值订单撤销异常处理方法,其特征在于,所述方法包括:
当账户充值订单的处理状态为代扣处理中时,若接收到用户的撤销操作,则将所述账户充值订单的处理状态流转为转入撤销,并向第三方系统发送充值撤销请求;
接收所述第三方系统的响应结果,对所述响应结果进行解析;
根据所述响应结果对所述账户充值订单的处理状态进行流转处理,并对所述账户充值订单进行标记处理,其中,所述流转处理是指对账户充值订单的处理状态进行处理,若当前是充值撤销中,且撤销成功,则将该订单的处理状态流转为已撤销;标记处理是对整个账户充值订单进行处理的操作,当该账户充值订单已经完成,则支付平台会对该账户充值订单进行处理,将其标记为已完成;
所述根据所述响应结果对所述账户充值订单的处理状态进行流转处理,并对所述账户充值订单进行标记处理,包括:
若所述响应结果为代扣成功,且所述账户充值订单的处理状态为转入撤销,则再次向所述第三方系统发送所述充值撤销请求,并获取所述第三方系统的撤销结果;
当所述撤销结果为撤销成功时,则将所述账户充值订单的处理状态流转为已撤销,并将所述账户充值订单标记为已完成。
2.根据权利要求1所述的方法,其特征在于,所述根据所述响应结果对所述账户充值订单的处理状态进行流转处理,并对所述账户充值订单进行标记处理,还包括:
若所述响应结果为代扣失败,则将所述账户充值订单的处理状态流转为代扣异常,并将所述账户充值订单标记为已完成。
3.根据权利要求1所述的方法,其特征在于,所述根据所述响应结果对所述账户充值订单的处理状态进行流转处理,并对所述账户充值订单进行标记处理,还包括:
若所述响应结果为撤销异常,且所述账户充值订单的处理状态为所述转入撤销,则再次向所述第三方系统发送所述充值撤销请求,并获取所述第三方系统发送的所述撤销结果;
当所述撤销结果为撤销成功时,则将所述账户充值订单的处理状态流转为已撤销,并将所述账户充值订单标记为已完成。
4.根据权利要求3所述的方法,其特征在于,所述向所述第三方系统发送所述充值撤销请求,包括:
根据预设查询条件向所述第三方系统发送所述充值撤销请求。
5.根据权利要求4所述的方法,其特征在于,所述预设查询条件为定时向所述第三方系统发送所述充值撤销请求。
6.根据权利要求1所述的方法,其特征在于,通过基于MySQL的CAS方式对所述账户充值订单的处理状态进行所述流转。
7.一种充值订单撤销异常处理装置,其特征在于,包括:
撤销判断模块,用于当账户充值订单的处理状态为代扣处理中时,若接收到用户的撤销操作,则将所述账户充值订单的处理状态流转为转入撤销,并向第三方系统发送充值撤销请求;
响应接收模块,用于接收所述第三方系统的响应结果,对所述响应结果进行解析;
订单处理模块,用于根据所述响应结果对所述账户充值订单的处理状态进行流转处理,并对所述账户充值订单进行标记处理,其中,所述流转处理是指对账户充值订单的处理状态进行处理,若当前是充值撤销中,且撤销成功,则将该订单的处理状态流转为已撤销;标记处理是对整个账户充值订单进行处理的操作,当该账户充值订单已经完成,则支付平台会对该账户充值订单进行处理,将其标记为已完成;
所述订单处理模块包括:查询补偿子模块以及订单标记子模块,其中:
所述查询补偿子模块,用于若所述响应结果为代扣成功,且所述账户充值订单的处理状态为转入撤销,则再次向所述第三方系统发送所述充值撤销请求,并获取所述第三方系统的撤销结果;
所述订单标记子模块,用于当所述撤销结果为撤销成功时,则将所述账户充值订单的处理状态流转为已撤销,并将所述账户充值订单标记为已完成。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910923762.1A CN110852752B (zh) | 2019-09-27 | 2019-09-27 | 充值订单撤销异常处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910923762.1A CN110852752B (zh) | 2019-09-27 | 2019-09-27 | 充值订单撤销异常处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110852752A CN110852752A (zh) | 2020-02-28 |
CN110852752B true CN110852752B (zh) | 2023-10-13 |
Family
ID=69597123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910923762.1A Active CN110852752B (zh) | 2019-09-27 | 2019-09-27 | 充值订单撤销异常处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110852752B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112085486B (zh) * | 2020-08-24 | 2024-01-30 | 宝付网络科技(上海)有限公司 | 一种提高资金下发能力的方法及系统 |
CN112465512A (zh) * | 2020-11-25 | 2021-03-09 | 广州羊城通有限公司 | 充值卡的充值撤销控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521747A (zh) * | 2011-12-05 | 2012-06-27 | 中国联合网络通信集团有限公司 | 电子钱包账户绑定方法、业务处理方法、装置及系统 |
CN105654629A (zh) * | 2015-12-28 | 2016-06-08 | 天津市通卡公用网络系统有限公司 | 一种ic卡自助充值方法 |
CN106651565A (zh) * | 2016-12-06 | 2017-05-10 | 中国银联股份有限公司 | 一种充值转接方法、处理方法及充值转接平台 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104751335B (zh) * | 2013-12-31 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置及终端 |
CN106303125B (zh) * | 2015-06-03 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 自动充值系统、方法及装置 |
-
2019
- 2019-09-27 CN CN201910923762.1A patent/CN110852752B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521747A (zh) * | 2011-12-05 | 2012-06-27 | 中国联合网络通信集团有限公司 | 电子钱包账户绑定方法、业务处理方法、装置及系统 |
CN105654629A (zh) * | 2015-12-28 | 2016-06-08 | 天津市通卡公用网络系统有限公司 | 一种ic卡自助充值方法 |
CN106651565A (zh) * | 2016-12-06 | 2017-05-10 | 中国银联股份有限公司 | 一种充值转接方法、处理方法及充值转接平台 |
Also Published As
Publication number | Publication date |
---|---|
CN110852752A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10579973B2 (en) | System for efficient processing of transaction requests related to an account in a database | |
US11257134B2 (en) | Supplier invoice reconciliation and payment using event driven platform | |
WO2020181810A1 (zh) | 应用于集群内多级缓存的数据处理方法和装置 | |
CN110399383A (zh) | 应用于服务器的数据处理方法、装置、计算设备、介质 | |
CN110442481B (zh) | 业务处理方法、业务组件容器及电子设备 | |
CN110020846B (zh) | 一种转账业务处理方法及系统 | |
CN110852752B (zh) | 充值订单撤销异常处理方法、装置、设备和存储介质 | |
CN112363814A (zh) | 任务调度方法、装置、计算机设备及存储介质 | |
CN107391539B (zh) | 事务处理方法、服务器和存储介质 | |
CN112134707B (zh) | 一种针对多个kerberos集群的并发访问方法和装置 | |
CN111125168B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN116644122A (zh) | 数据事务处理方法、装置、计算机设备及存储介质 | |
CN113361236A (zh) | 一种编辑文档的方法和装置 | |
CN113094414B (zh) | 流转图谱生成方法及装置 | |
US20220114686A1 (en) | Account inheritance | |
CN113850685A (zh) | 用于实时理算的方法、装置、服务器和介质 | |
CN114490415A (zh) | 业务测试方法、计算机设备、存储介质和计算机程序产品 | |
CN112288586A (zh) | 基于HBase的保险行业数据整合方法及相关设备 | |
US20240056319A1 (en) | Systems and methods for performing an action on a digital asset | |
CN111914065B (zh) | 短信内容验证方法、装置、计算机系统和计算机可读介质 | |
US11748354B2 (en) | Data shape confidence | |
CN117331956A (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN118093317A (zh) | 一种流程执行信息的生成方法及相关设备 | |
CN113821449A (zh) | 系统测试方法、装置及电子设备 | |
CN116795511A (zh) | 一种唯一标识符生成方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |