订单支付请求的异常处理方法、设备、服务器及系统与流程

文档序号:19741288发布日期:2020-01-18 05:15阅读:840来源:国知局
订单支付请求的异常处理方法、设备、服务器及系统与流程

本发明涉及电子信息领域,具体涉及一种订单支付请求的异常处理方法、设备、服务器及系统。



背景技术:

在电子支付中,需要依赖网络传输,并借助多方服务器的相互配合,以完成支付数据的处理。在此过程中,一旦网络环境欠佳或服务器之间发生丢包现象则会导致支付数据处理异常。为了解决支付数据处理异常的问题,在申请号为2017106225996的专利申请中,公开了一种订单处理方法及装置,其中,根据支付平台发送的支付成功信息更新对应的支付订单的支付状态:若支付订单的支付状态为未支付,生成支付订单异常的告警;若支付订单的状态为已支付,则更新与支付订单对应的消费订单的支付状态,从而避免用户支付后因支付订单的状态无法及时更新而导致的业务问题。

但是,发明人在实现本发明的过程中发现,现有技术中的上述方式至少存在如下缺陷:在上述方式中,只能针对用户已完成支付而订单状态未及时更新所导致的异常情况进行处理。但是,在实际情况中,还可能出现因网络传输异常而导致用户等待较长时间仍未完成支付数据处理的问题,此时,为了避免用户无休止地等待,亟需针对长时间未完成支付数据处理的订单进行冲正处理。现有技术中,尚没有一种可靠的冲正处理方式能够解决上述问题。总之,在现有技术中,无法针对订单支付数据在多个网络设备之间传输时因网络原因或设备原因等各类因素而出现数据传输异常的情况进行处理。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种订单支付请求的异常处理方法、设备、服务器及系统。

根据本发明的一个方面,提供了一种订单支付请求的异常处理方法,包括:

接收支付管理设备在确定已发送的订单支付请求处理异常时触发的订单冲正请求,获取所述订单冲正请求中包含的订单标识;

查询预设的订单数据库中是否已存储有与所述订单标识相匹配的订单记录;

若否,创建与所述订单标识相对应的撤销单记录;

针对所述撤销单记录执行撤销处理;其中,所述撤销单记录用于拦截所述支付管理设备已发送的与所述订单标识相对应的订单支付请求。

可选的,所述创建与所述订单标识相对应的撤销单记录包括:

在预设的缓存空间中创建与所述订单标识相对应的撤销单记录。

可选的,所述在预设的缓存空间中创建与所述订单标识相对应的撤销单记录之后,进一步包括:

每当预设的淘汰周期到达时,针对所述预设的缓存空间中已存储的撤销单记录执行淘汰处理。

可选的,所述创建与所述订单标识相对应的撤销单记录,针对所述撤销单记录执行撤销处理之后,进一步包括:

当接收到支付管理设备发送的订单支付请求时,获取接收到的订单支付请求中包含的订单标识;

将所述接收到的订单支付请求中包含的订单标识与所述预设的缓存空间中已创建的撤销单记录中包含的订单标识进行匹配;

若匹配成功,则拦截本次接收到的订单支付请求。

可选的,所述订单标识中进一步包含支付管理设备的设备标识、和/或订单生成时间,且所述撤销单记录中进一步包含所述订单标识以及所述订单标识中包含的支付管理设备的设备标识、和/或订单生成时间;

则所述将所述接收到的订单支付请求中包含的订单标识与已创建的撤销单记录中包含的订单标识进行匹配具体包括:

根据所述已创建的撤销单记录中包含的订单标识中的支付管理设备的设备标识、和/或订单生成时间对接收到的订单支付请求进行筛选;

将通过筛选的订单支付请求中包含的订单标识与已创建的撤销单记录中包含的订单标识进行匹配。

可选的,若匹配不成功,则在所述订单数据库中创建与所述订单支付请求相对应的订单记录,并将所述订单支付请求转发给预设的支付服务器进行处理。

可选的,所述接收支付管理设备在确定已发送的订单支付请求处理异常时触发的订单冲正请求之前,进一步包括:

接收所述支付管理设备针对已发送的订单支付请求触发的订单轮询请求;

根据所述订单轮询请求中包含的订单标识,轮询所述订单支付请求的处理状态,并向所述支付管理设备返回轮询结果,以供所述支付管理设备根据所述轮询结果判断所述已发送的订单支付请求是否处理异常。

可选的,所述针对所述撤销单记录执行撤销处理之后,进一步包括:

向所述支付管理设备发送撤销成功通知,以供所述支付管理设备显示与所述撤销成功通知相对应的提示页面。

根据本发明的又一个方面,提供了一种订单支付请求的异常处理方法,包括:

根据付款码生成订单支付请求,将所述订单支付请求发送给订单处理服务器;

判断已发送的订单支付请求是否处理异常;

若是,向所述订单处理服务器发送订单冲正请求,以供所述订单处理服务器根据所述订单冲正请求中包含的订单标识查询预设的订单数据库中是否已存储有与所述订单标识相匹配的订单记录,并在查询结果为否时创建与所述订单标识相对应的撤销单记录。

可选的,所述若是,向所述订单处理服务器发送订单冲正请求之后,进一步包括:

接收所述订单处理服务器返回的撤销成功通知,根据所述撤销成功通知显示对应的提示页面。

可选的,所述判断已发送的订单支付请求是否处理异常包括:

判断是否接收到针对已发送的订单支付请求返回的支付成功通知;

若否,针对已发送的订单支付请求触发订单轮询请求,以供所述订单处理服务器根据所述订单轮询请求中包含的订单标识,轮询所述订单支付请求的处理状态;

根据所述订单处理服务器返回的处理状态确定已发送的订单支付请求是否处理异常。

根据本发明的又一个方面,提供了一种订单处理服务器,包括:

冲正请求接收模块,适于接收支付管理设备在确定已发送的订单支付请求处理异常时触发的订单冲正请求,获取所述订单冲正请求中包含的订单标识;

查询模块,适于查询预设的订单数据库中是否已存储有与所述订单标识相匹配的订单记录;

创建模块,适于若否,创建与所述订单标识相对应的撤销单记录;

撤销模块,适于针对所述撤销单记录执行撤销处理;其中,所述撤销单记录用于拦截所述支付管理设备已发送的与所述订单标识相对应的订单支付请求。

可选的,所述创建模块具体适于:

在预设的缓存空间中创建与所述订单标识相对应的撤销单记录。

可选的,所述创建模块具体适于:

每当预设的淘汰周期到达时,针对所述预设的缓存空间中已存储的撤销单记录执行淘汰处理。

可选的,所述撤销模块进一步适于:

当接收到支付管理设备发送的订单支付请求时,获取接收到的订单支付请求中包含的订单标识;

将所述接收到的订单支付请求中包含的订单标识与所述预设的缓存空间中已创建的撤销单记录中包含的订单标识进行匹配;

若匹配成功,则拦截本次接收到的订单支付请求。

可选的,所述订单标识中进一步包含支付管理设备的设备标识、和/或订单生成时间,且所述撤销单记录中进一步包含所述订单标识以及所述订单标识中包含的支付管理设备的设备标识、和/或订单生成时间;

则所述撤销模块具体适于:

根据所述已创建的撤销单记录中包含的订单标识中的支付管理设备的设备标识、和/或订单生成时间对接收到的订单支付请求进行筛选;

将通过筛选的订单支付请求中包含的订单标识与已创建的撤销单记录中包含的订单标识进行匹配。

可选的,所述撤销模块具体适于:若匹配不成功,则在所述订单数据库中创建与所述订单支付请求相对应的订单记录,并将所述订单支付请求转发给预设的支付服务器进行处理。

可选的,所述冲正请求接收模块进一步适于:接收所述支付管理设备针对已发送的订单支付请求触发的订单轮询请求;

根据所述订单轮询请求中包含的订单标识,轮询所述订单支付请求的处理状态,并向所述支付管理设备返回轮询结果,以供所述支付管理设备根据所述轮询结果判断所述已发送的订单支付请求是否处理异常。

可选的,所述撤销模块进一步适于:

向所述支付管理设备发送撤销成功通知,以供所述支付管理设备显示与所述撤销成功通知相对应的提示页面。

根据本发明的又一个方面,提供了一种支付管理设备,包括:

生成模块,适于根据付款码生成订单支付请求,将所述订单支付请求发送给订单处理服务器;

判断模块,适于判断已发送的订单支付请求是否处理异常;

冲正模块,适于若是,向所述订单处理服务器发送订单冲正请求,以供所述订单处理服务器根据所述订单冲正请求中包含的订单标识查询预设的订单数据库中是否已存储有与所述订单标识相匹配的订单记录,并在查询结果为否时创建与所述订单标识相对应的撤销单记录。

可选的,所述冲正模块进一步适于:

接收所述订单处理服务器返回的撤销成功通知,根据所述撤销成功通知显示对应的提示页面。

可选的,所述判断模块具体适于:

判断是否接收到针对已发送的订单支付请求返回的支付成功通知;

若否,针对已发送的订单支付请求触发订单轮询请求,以供所述订单处理服务器根据所述订单轮询请求中包含的订单标识,轮询所述订单支付请求的处理状态;

根据所述订单处理服务器返回的处理状态确定已发送的订单支付请求是否处理异常。

根据本发明的又一个方面,提供了一种订单支付请求的异常处理系统,包括:上述的订单处理服务器以及上述的支付管理设备。

依据本发明的再一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述的订单支付请求的异常处理方法对应的操作。

依据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述的订单支付请求的异常处理方法对应的操作。

在本发明提供的订单支付请求的异常处理方法、设备、服务器及系统中,能够获取支付管理设备在确定已发送的订单支付请求处理异常时触发的订单冲正请求中包含的订单标识,并在查询到预设的订单数据库中未存储与该订单标识相匹配的订单记录时,创建与该订单标识相对应的撤销单记录,从而执行撤销处理。由此可见,该方式能够在订单支付请求长时间未处理成功时进行撤销,从而防止用户无休止地等待,解决了因网络异常而导致订单无法及时支付时所导致的用户等待时间过长的问题。该方式能够针对订单支付数据在多个网络设备之间传输时因网络原因或设备原因等各类因素而出现异常的情况进行处理。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例一提供的一种订单支付请求的异常处理方法的流程图;

图2示出了本发明实施例二提供的一种订单支付请求的异常处理方法的流程图;

图3示出了本发明实施例三提供的一种订单处理服务器的结构图;

图4示出了本发明实施例五提供的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

图1示出了本发明实施例一提供的一种订单支付请求的异常处理方法的流程图。如图1所示,该方法包括:

步骤s110:接收支付管理设备在确定已发送的订单支付请求处理异常时触发的订单冲正请求,获取该订单冲正请求中包含的订单标识。

其中,支付管理设备也可以称作商家管理设备,用于生成并发送订单支付请求。例如,可以为pos(pointofsale,销售终端)机或其他终端设备。具体地,当支付管理设备发送订单支付请求后,会持续跟踪该订单支付请求的处理状态,若根据跟踪结果确定已发送的订单支付请求处理异常,则会进一步触发订单冲正请求,用以针对该笔订单执行冲正处理。相应地,本发明中的执行主体,如订单处理服务器等,接收到该订单冲正请求后,获取其中包含的订单标识,该订单标识用于唯一标识一笔订单。

步骤s120:查询预设的订单数据库中是否已存储有与该订单标识相匹配的订单记录。

其中,该预设的订单数据库用于根据已接收到的各个订单支付请求创建对应的订单记录。具体地,每当接收到订单支付请求时,获取该订单支付请求中包含的订单标识,然后,在订单数据库中创建包含该订单标识的订单记录,用以管理该笔订单的状态。相应地,在本步骤中,根据订单标识查询预设的订单数据库中是否已存储有与该订单标识相匹配的订单记录。

步骤s130:若否,创建与该订单标识相对应的撤销单记录。

当查询结果为否时,说明订单处理服务器尚未接收到支付管理设备已发送的与该订单标识相对应的订单支付请求,或者,也可能是订单处理服务器刚刚接收到该订单支付请求,还未针对该订单支付请求创建订单记录。无论属于何种情况,在本步骤中,都针对该订单标识创建对应的撤销单记录。其中,该撤销单记录不同于订单数据库中的订单记录,主要用于针对该笔订单执行撤销处理。

步骤s140:针对撤销单记录执行撤销处理;其中,撤销单记录用于拦截支付管理设备已发送的与该订单标识相对应的订单支付请求。

具体地,针对撤销单记录执行撤销处理时,主要是将撤销单记录设置为撤销状态。其中,撤销单记录中包含订单标识,相应地,当后续再接收到包含该订单标识的订单支付请求时,则根据撤销单记录拦截该订单支付请求,以防止重复处理。

由此可见,在本发明提供的订单支付请求的异常处理方法中,能够获取支付管理设备在确定已发送的订单支付请求处理异常时触发的订单冲正请求中包含的订单标识,并在查询到预设的订单数据库中未存储与该订单标识相匹配的订单记录时,创建与该订单标识相对应的撤销单记录,从而执行撤销处理。由此可见,该方式能够在订单支付请求长时间未处理成功时进行撤销,从而防止用户无休止地等待,解决了因网络异常而导致订单无法及时支付时所导致的用户等待时间过长的问题。该方式能够针对订单支付数据在多个网络设备之间传输时因网络原因或设备原因等各类因素而出现异常的情况进行可靠处理。

实施例二、

图2示出了本发明实施例二提供的一种订单支付请求的异常处理方法的流程图。如图2所示,该方法包括:

步骤s210:支付管理设备根据付款码生成订单支付请求,将该订单支付请求发送给订单处理服务器,并判断已发送的订单支付请求是否处理异常。

具体地,支付管理设备通过扫描用户终端出示的付款码的方式生成订单支付请求,并将已生成的订单支付请求发送给订单处理服务器。其中,订单支付请求中包含订单标识,该订单标识贯穿于对应订单的各个生命周期,用于唯一标识一笔订单。

当支付管理设备发送订单支付请求之后,记录订单支付请求的发送时间。并且,按照预设的轮询策略轮询该订单支付请求的处理状态。该轮询策略用于设置轮询的时间间隔、轮询次数、轮询总时长等信息。具体地,当支付管理设备发送该订单支付请求后,判断是否接收到针对已发送的订单支付请求返回的支付成功通知。具体地,每当预设的轮询时间间隔到达时,判断是否接收到针对已发送的订单支付请求返回的支付成功通知。若否,针对已发送的订单支付请求触发订单轮询请求,以供订单处理服务器根据订单轮询请求中包含的订单标识,轮询订单支付请求的处理状态;相应地,根据订单处理服务器返回的处理状态确定已发送的订单支付请求是否处理异常。其中,当判断出未接收到针对已发送的订单支付请求返回的支付成功通知时,还可以进一步判断当前轮询次数是否达到预设的轮询次数上限,若否,则针对已发送的订单支付请求再次触发订单轮询请求;若是,则直接确定该订单支付请求处理异常。

另外,订单处理服务器接收到支付管理设备针对已发送的订单支付请求触发的订单轮询请求后,根据订单轮询请求中包含的订单标识,轮询订单支付请求的处理状态,并向支付管理设备返回轮询结果,以供支付管理设备根据轮询结果判断已发送的订单支付请求是否处理异常。其中,订单处理服务器接收到订单轮询请求后,可以根据其中的订单标识查询预设的订单数据库中是否存在对应的订单记录,并在对应的订单记录的支付状态为成功时返回支付成功通知;若预设的订单数据库中不存在对应的订单记录,或者虽存在对应的订单记录但支付状态为未支付,则返回支付未成功类型的轮询结果。相应地,若支付管理设备在预设的轮询次数上限或轮询总时长上限到达时仍未收到支付成功通知,则确定该订单支付请求处理异常。

当然,支付管理设备还可以通过其他多种方式判断已发送的订单支付请求是否处理异常,只要能够避免用户长时间等待即可,本发明对此不做限定。

步骤s220:当支付管理设备判断已发送的订单支付请求处理异常时,向订单处理服务器发送订单冲正请求,订单处理服务器接收该支付管理设备触发的订单冲正请求,获取该订单冲正请求中包含的订单标识。

其中,订单冲正请求用于针对订单执行对账、纠错等处理。订单处理服务器接收并获取该订单冲正请求中包含的订单标识。其中,针对同一笔订单而言,订单支付请求以及订单冲正请求中包含的订单标识相同。

另外,可选的,在本实施例中,为了提升冲正处理的准确性,进一步设置有冲正时效期,例如,可为10分钟。相应地,当订单处理服务器接收到订单冲正请求后,进一步根据当前时间以及订单冲正请求中包含的订单生成时间判断是否超出冲正时效期,若是,则返回冲正失败的提示消息;若否,则正常处理该订单冲正请求。

步骤s230:查询预设的订单数据库中是否已存储有与该订单标识相匹配的订单记录。

其中,该预设的订单数据库可以集成在订单处理服务器的内部,也可以独立于订单处理服务器。该订单数据库用于根据已接收到的各个订单支付请求创建对应的订单记录。具体地,每当订单处理服务器接收到订单支付请求时,获取该订单支付请求中包含的订单标识,然后,在订单数据库中创建包含该订单标识的订单记录,用以管理该笔订单的状态。其中,通过订单记录能够针对该笔订单进行跟踪管理。相应地,在本步骤中,根据订单标识查询预设的订单数据库中是否已存储有与该订单标识相匹配的订单记录。

步骤s240:若否,创建与该订单标识相对应的撤销单记录。

当查询结果为否时,说明订单处理服务器尚未接收到支付管理设备已发送的与该订单标识相对应的订单支付请求,或者,也可能是订单处理服务器刚刚接收到该订单支付请求,还未针对该订单支付请求创建订单记录。无论属于何种情况,在本步骤中,都针对该订单标识创建对应的撤销单记录。其中,该撤销单记录不同于订单数据库中的订单记录,主要用于针对该笔订单执行撤销处理。

具体地,为了节省开销,订单处理服务器在预设的缓存空间中创建与订单标识相对应的撤销单记录。由于撤销单记录属于临时记录,与订单数据库中的内容不同,无需长期保存,因此,在本实施例中,将撤销单记录存储在预设缓存空间中。另外,为了进一步节省空间,且降低后续的处理开销,在本实施例中,进一步按照预设的淘汰策略对缓存空间中已存储的撤销单记录执行淘汰处理。例如,每当预设的淘汰周期到达时,针对预设的缓存空间中已存储的撤销单记录执行淘汰处理。该淘汰周期可根据订单处理的常规时长进行设置,例如,可以设置为2小时。相应地,每隔2小时针对缓存空间中存储的撤销单记录进行删除处理,以节省空间。具体实施时,可以分别针对每条撤销单记录判断该记录的生成时间是否达到2小时,若是,则删除;或者,为了提升效率,也可以每隔2小时批量删除缓存空间中的各个撤销单。总之,通过淘汰策略能够使缓存空间中的撤销单记录超过预设时效期后自动失效。

步骤s250:针对撤销单记录执行撤销处理;其中,撤销单记录用于拦截支付管理设备已发送的与该订单标识相对应的订单支付请求。

具体地,针对撤销单记录执行撤销处理时,主要是将撤销单记录设置为撤销状态。其中,撤销单记录中包含订单标识,相应地,当后续再接收到包含该订单标识的订单支付请求时,则能够根据撤销单记录拦截该订单支付请求,以防止重复处理。具体实施时,设置撤销单记录并执行撤销处理的过程也可以理解为落撤销流水的过程,通过撤销流水,能够准确记录该笔订单的状态。

另外,在本实施例中,订单标识可以包括多种信息,如包括:支付管理设备的设备标识、支付用户的用户标识、订单生成时间、订单编号、订单所对应的业务项明细等。

通常情况下,订单处理服务器接收到来自支付管理设备的订单支付请求之后,根据其中包含的订单标识在订单数据库中创建对应的订单记录,然后,针对已创建的订单记录,向支付服务器转发对应的订单支付请求,以使支付服务器完成扣款操作。其中,在向支付服务器转发订单支付请求时,需要将订单支付请求重新封装为支付服务器能够识别的格式。由此可见,在本实施例所示的情况中,订单数据库中尚未存储与订单支付请求相对应的订单记录,因此,订单处理服务器尚未将该订单支付请求转发给对应的支付服务器进行支付处理,因此,本实施例无需涉及与支付服务器之间的冲正环节,只需在订单处理服务器本地通过撤销单记录进行冲正处理即可。

步骤s260:当接收到支付管理设备发送的订单支付请求时,获取接收到的订单支付请求中包含的订单标识;将接收到的订单支付请求中包含的订单标识与预设的缓存空间中已创建的撤销单记录中包含的订单标识进行匹配。

具体地,发明人在实现本发明的过程中发现,订单处理服务器未能及时接收到支付管理设备发来的订单支付请求可能是由于以下多种情况:在第一种情况中,可能是由于订单支付请求在网络传输过程中发生了丢包现象,从而导致丢失;在第二种情况中,可能是由于网络异常导致多个请求之间发生乱序,即:先发送的订单支付请求延迟送达,而后发送的订单冲正请求则先于订单支付请求送达。针对第二种情况,可能会出现针对订单进行撤销之后,该笔订单对应的订单支付请求又被订单处理服务器接收并处理,此时,会导致支付结果出错。

为了解决上述问题,在本实施例中,每当接收到支付管理设备发送的订单支付请求时,获取接收到的订单支付请求中包含的订单标识;将接收到的订单支付请求中包含的订单标识与预设的缓存空间中已创建的撤销单记录中包含的订单标识进行匹配,从而拦截已撤销的订单所对应的订单支付请求。

具体实施时,可以针对接收到的每一个订单支付请求执行上述匹配操作。或者,当预设的缓存空间中已创建的撤销单记录较少时,为了节约系统开销,也可以在预设的缓存空间中每新增一条撤销单记录之后,针对该撤销单记录开启一个监控线程,该监控线程用于在该撤销单记录创建之后,监控后续接收到的各个订单支付请求,并将其中的订单标识与该新增的撤销单记录中的订单标识进行匹配。其中,该监控线程的生命周期可以灵活设定,例如,可以设定为在撤销单记录创建后1小时之内存在,当1小时之后自动销毁该监控线程。

另外,考虑到订单支付请求的数量较多,若逐一针对各个订单支付请求进行匹配势必耗费大量的时间,导致处理延时。为了解决上述问题,在本实施例中,进一步针对接收到的订单支付请求进行筛选,并仅针对筛选通过的订单支付请求进行匹配,从而降低处理时延。具体筛选时,可根据支付管理设备的设备标识、和/或订单生成时间等信息进行筛选。具体地,订单标识中进一步包含支付管理设备的设备标识、和/或订单生成时间,且撤销单记录中进一步包含订单标识以及订单标识中包含的支付管理设备的设备标识、和/或订单生成时间。相应地,根据已创建的撤销单记录中包含的订单标识中的支付管理设备的设备标识、和/或订单生成时间对接收到的订单支付请求进行筛选;将通过筛选的订单支付请求中包含的订单标识与已创建的撤销单记录中包含的订单标识进行匹配。例如,在接收到订单支付请求后,先获取其中包含的支付管理设备的设备标识,该设备标识用于标识该请求的发送方,只有当订单支付请求中包含的设备标识与撤销单记录中包含的设备标识匹配时,才进一步比较二者中包含的订单标识。由于撤销单记录所对应的尚未收到的订单支付请求必然由同一支付管理设备发送,因此,通过设备标识能够快速滤除其他支付管理设备发来的订单支付请求,从而避免不必要的匹配流程。又如,在接收到订单支付请求后,先获取其中包含的订单生成时间,只有当订单生成时间符合预设的延时时间段的订单支付请求才能够通过筛选,从而防止针对订单生成时间明显与撤销单所对应的订单支付请求的生成时间不匹配的请求进行匹配。其中,预设的延时时间段可以根据撤销单记录的创建时间设定,将早于撤销单记录的创建时间的预设时间段确定为该延时时间段,用以筛选可能因乱序问题而延时收到的订单支付请求。

步骤s270:若匹配成功,则拦截本次接收到的订单支付请求。

其中,若本次接收到的订单支付请求中包含的订单标识与预设的缓存空间中已创建的撤销单记录中包含的订单标识匹配成功,则说明本次接收到的订单支付请求是因为网络乱序情况而延迟收到的请求。由于已经针对该订单支付请求执行了撤销处理,因此,拦截本次接收到的订单支付请求,以防止重复处理。

另外,若本次接收到的订单支付请求中包含的订单标识与预设的缓存空间中已创建的撤销单记录中包含的订单标识匹配不成功,则说明本次接收到的订单支付请求为正常请求,相应地,按照常规处理流程进行处理:在订单数据库中创建与订单支付请求相对应的订单记录,并将订单支付请求转发给预设的支付服务器进行处理。

步骤s280:订单处理服务器向支付管理设备发送撤销成功通知,以供支付管理设备显示与撤销成功通知相对应的提示页面。

具体地,支付管理设备接收到订单处理服务器返回的撤销成功通知时,根据该撤销成功通知显示对应的提示页面,以提示用户该笔订单已成功撤销,从而防止用户长时间等待。

综上可知,该方式能够在订单支付请求长时间未处理成功时进行撤销,从而防止用户无休止地等待,解决了因网络异常而导致订单无法及时支付时所导致的用户等待时间过长的问题。并且,在本实施例中,将撤销单记录存放在缓存空间中,从而能够自动淘汰,以节省开销。

实施例三

图3示出了本发明实施例三提供的一种订单处理服务器的结构示意图,包括:

冲正请求接收模块31,适于接收支付管理设备在确定已发送的订单支付请求处理异常时触发的订单冲正请求,获取所述订单冲正请求中包含的订单标识;

查询模块32,适于查询预设的订单数据库中是否已存储有与所述订单标识相匹配的订单记录;

创建模块33,适于若否,创建与所述订单标识相对应的撤销单记录;

撤销模块34,适于针对所述撤销单记录执行撤销处理;其中,所述撤销单记录用于拦截所述支付管理设备已发送的与所述订单标识相对应的订单支付请求。

可选的,所述创建模块具体适于:

在预设的缓存空间中创建与所述订单标识相对应的撤销单记录。

可选的,所述创建模块具体适于:

每当预设的淘汰周期到达时,针对所述预设的缓存空间中已存储的撤销单记录执行淘汰处理。

可选的,所述撤销模块进一步适于:

当接收到支付管理设备发送的订单支付请求时,获取接收到的订单支付请求中包含的订单标识;

将所述接收到的订单支付请求中包含的订单标识与所述预设的缓存空间中已创建的撤销单记录中包含的订单标识进行匹配;

若匹配成功,则拦截本次接收到的订单支付请求。

可选的,所述订单标识中进一步包含支付管理设备的设备标识、和/或订单生成时间,且所述撤销单记录中进一步包含所述订单标识以及所述订单标识中包含的支付管理设备的设备标识、和/或订单生成时间;

则所述撤销模块具体适于:

根据所述已创建的撤销单记录中包含的订单标识中的支付管理设备的设备标识、和/或订单生成时间对接收到的订单支付请求进行筛选;

将通过筛选的订单支付请求中包含的订单标识与已创建的撤销单记录中包含的订单标识进行匹配。

可选的,所述撤销模块具体适于:若匹配不成功,则在所述订单数据库中创建与所述订单支付请求相对应的订单记录,并将所述订单支付请求转发给预设的支付服务器进行处理。

可选的,所述冲正请求接收模块进一步适于:接收所述支付管理设备针对已发送的订单支付请求触发的订单轮询请求;

根据所述订单轮询请求中包含的订单标识,轮询所述订单支付请求的处理状态,并向所述支付管理设备返回轮询结果,以供所述支付管理设备根据所述轮询结果判断所述已发送的订单支付请求是否处理异常。

可选的,所述撤销模块进一步适于:

向所述支付管理设备发送撤销成功通知,以供所述支付管理设备显示与所述撤销成功通知相对应的提示页面。

本发明又一实施例还提供了一种支付管理设备,包括:

生成模块,适于根据付款码生成订单支付请求,将所述订单支付请求发送给订单处理服务器;

判断模块,适于判断已发送的订单支付请求是否处理异常;

冲正模块,适于若是,向所述订单处理服务器发送订单冲正请求,以供所述订单处理服务器根据所述订单冲正请求中包含的订单标识查询预设的订单数据库中是否已存储有与所述订单标识相匹配的订单记录,并在查询结果为否时创建与所述订单标识相对应的撤销单记录。

可选的,所述冲正模块进一步适于:

接收所述订单处理服务器返回的撤销成功通知,根据所述撤销成功通知显示对应的提示页面。

可选的,所述判断模块具体适于:

判断是否接收到针对已发送的订单支付请求返回的支付成功通知;

若否,针对已发送的订单支付请求触发订单轮询请求,以供所述订单处理服务器根据所述订单轮询请求中包含的订单标识,轮询所述订单支付请求的处理状态;

根据所述订单处理服务器返回的处理状态确定已发送的订单支付请求是否处理异常。

本发明又一实施例还提供了一种订单支付请求的异常处理系统,包括:上述的订单处理服务器以及支付管理设备。

关于上述各个模块的具体结构和工作原理可参照方法实施例中相应部分的描述,此处不再赘述。

实施例四

本申请实施例四提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的订单支付请求的异常处理方法。可执行指令具体可以用于使得处理器执行上述方法实施例中对应的各个操作。

实施例五

图4示出了根据本发明实施例五的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。

如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(communicationsinterface)406、存储器(memory)404、以及通信总线408。

其中:

处理器402、通信接口406、以及存储器404通过通信总线408完成相互间的通信。

通信接口406,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器402,用于执行程序410,具体可以执行上述订单支付请求的异常处理方法实施例中的相关步骤。

具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。

处理器402可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器404,用于存放程序410。存储器404可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序510具体可以用于使得处理器502执行上述方法实施例中对应的各个操作。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的基于语音输入信息的抽奖系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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