掌桥专利:专业的专利平台
掌桥专利
首页

第三方支付接口的快速接入方法及系统

文献发布时间:2023-06-19 19:28:50


第三方支付接口的快速接入方法及系统

技术领域

本发明涉及一种接入方法及系统,尤其是一种第三方支付接口的快速接入方法及系统。

背景技术

伴随着产业数字化趋势愈发明显,致力于支付渠道数字生活,聚合支付应运而生。面对当下更加小额、高频的第三方支付应用场景,面对初创乃至新兴消费场景下的支付新需求,技术主导型的商业模式革新正日益成为产业变革中的一股强大推力。

第三方的API(Application Programming Interface,应用程序接口)支付接口的出现,告别了繁琐的支付通道的接入流程,提供了多种通道的支付接口集成。API支付接口最主要的目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,无需访问源码或理解内部工作机制的细节。

传统聚合支付领域,对接不同支付品牌,如支付宝微信等,整体流程皆为:客户或商户发起请求,聚合支付系统根据不同支付请求,通过内部处理逻辑,对请求的数据进行验证,转换为支付品牌需要的参数,发起请求并接受请求处理结果返回给客户。

结合OSI七层网络模型来看,客户端(Client)与服务端(Server)在七层模型的基础上,分别实现各自的业务系统,且各自业务系统中均需要实现“API接口处理”与“业务逻辑处理”两部分内容。

基于现有方案,API接口处理与业务逻辑处理都在业务系统中实现,意味着业务系统中耦合了两者的处理,因此,在涉及不同支付品牌的多套API支付对接工作时,即使业务逻辑处理基本类似,每套API支付接口的对接仍需要进行API支付接口处理,而由于通讯协议的差异、API字段的差异、API签名机制的差异等原因,投入较多的产品与研发资源,对接周期通常少则2-3周、多则若干个月,无法快速完成对接。

发明内容

本发明的目的是克服现有技术中存在的不足,提供一种第三方支付接口的快速接入方法及系统,其能有效实现第三方支付接口的快速接入,提高第三方支付接口的便捷性与可靠性。

按照本发明提供的技术方案,所述第三方支付接口的快速接入方法,提供API协议规范以及一基于所述API协议规范的API demo描述文档;

将API demo描述文档转换生成相对应的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;

加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互。

所述API demo描述文档包括swagger格式的描述文档或基于Excel生成的描述文档。

在对API demo描述文档转换生成API层协议语言描述文件时,先将所述API demo描述文档解析转换为原始抽象语法树,对所述原始抽象语法树转译变换后能生成目标抽象语法树;根据所述目标抽象语法树能生成API层协议语言描述文件。

对原始抽象语法树转译变换生成目标语法树时,遍历原始抽象语法树,并在遍历过程中对原始抽象语法树进行节点添加、更新或移除操作;所述遍历原始抽象语法树的方式包括前序遍历、中序遍历或后序遍历。

所述API报文为API请求报文或API应答报文;

对API报文处理时,包括对所述API报文的解析、对解析后报文的预处理、对预处理报文的接口映射、将映射后组装成待发送报文且将组装后的待发送报文向外发送。

所述原始抽象语法树至少包括用于描述API元数据状态的metadata节点、用于描述API server的属性信息状态的server节点、用于描述API的字段属性信息状态的schema节点以及用于描述API接口状态的endpoint节点;

目标抽象语法树包括endpoint根节点,所述endpoint根节点至少包括用于描述通讯连接信息状态的connection节点、用于描述请求报文信息状态的request节点以及用于描述应答报文信息状态的response节点。

一种第三方支付接口的快速接入系统,包括

协议转换器,接收基于API协议规范的API demo描述文档,并将API demo描述文档转换生成相对应的API层协议语言描述文件;

解析引擎,接收协议转换器生成的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互。

所述API demo描述文档包括swagger格式的描述文档或基于Excel生成的描述文档。

协议转换器在对API demo描述文档转换生成API层协议语言描述文件时,先将所述API demo描述文档解析转换为原始抽象语法树,对所述原始抽象语法树转译变换后能生成目标抽象语法树;根据所述目标抽象语法树能生成API层协议语言描述文件。

所述解析引擎包括配置管理器、报文解析器、规则处理器、接口映射器以及报文生成器;

配置管理器,接收API层协议语言描述文件,解析后生成支付接入配置文件,并将支付接入配置文件内的支付接入配置参数发送至报文解析器、规则处理器、接口映射器以及报文生成器,以能配置形成支付处理环境;

报文解析器,根据支付接入配置参数对接收到的API报文解析,并将解析后的API报文传送至规则处理器内;

规则处理器,根据支付接入配置参数内的预处理规则对解析后的报文进行所需的预处理,并将预处理后的报文传送至接口映射器内;

接口映射器,根据支付接入配置参数内的接口映射规则对预处理后的报文进行所需的映射,并将映射后的报文传送至报文生成器内;

报文生成器,根据支付接入配置参数内的接口规则对映射后的报文组装成所需的待发送报文,并能将所述组装后的待发送报文向外发送。

所述配置管理器实时监听API层协议语言描述文件,以在API层协议语言描述文件存在更新时,解析所述更新后的API层协议语言描述文件,并生成相匹配的支付接入配置文件,且将生成的支付接入配置文件内的支付接入配置参数同步发送至报文解析器、规则处理器、接口映射器以及报文生成器,以更新配置所述支付处理环境;

API报文包括API请求报文或API应答报文。

本发明的优点:在确定API协议规范后,能得到于所述API协议规范的API demo描述文档;将API demo描述文档转换生成相对应的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互,即能有效实现第三方支付接口的快速接入,提高第三方支付接口的便捷性与可靠性,减少了重复的工作;适应各种第三方API协议规范,接入的第三方API可实现零代码开发。

附图说明

图1为本发明的系统框图。

图2为本发明原始抽象语法树的示意图。

图3为本发明目标抽象语法树的示意图。

具体实施方式

下面结合具体附图和实施例对本发明作进一步说明。

为了能有效实现第三方支付接口的快速接入,提高第三方支付接口的便捷性与可靠性,本发明第三方支付接口的快速接入方法,具体地:提供API协议规范以及一基于所述API协议规范的API demo描述文档;

将API demo描述文档转换生成相对应的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;

加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互。

具体地,API协议规范可以通过抽象现有第三方API的通用性,并进行协议级别的规范定义得到,一般地,API协议规范的内容一般可包括API的访问入口路径规范、API的网络连接属性规范、API的访问方向规范、OSI 7层模型中的4层协议、OSI 7层模型中的7层协议、TLS版本号规范、API的消息格式规范、API请求报文的字段属性规范以及API应答报文的字段属性规范等,API协议规范的具体内容可以根据实际第三方支付的需求具体确定,具体为本技术领域人员所熟知,此处不再赘述。

在确定API协议规范后,根据预设第三方支付的需求,提供基于所述API协议规范的API demo描述文档,所述API demo描述文档包括swagger格式的描述文档或基于Excel生成的描述文档,swagger格式的描述文档需遵循OpenAPI v3规范,即根据API协议规范,采用本技术领域常用的技术手段或方式能得到swagger格式的描述文档或基于Excel生成的描述文档的具体方式API demo描述文档,具体得到swagger格式的描述文档或基于Excel生成的描述文档的具体过程为本技术领域人员所熟知,此处不再赘述。

本发明实施例中,在得到API demo描述文档后,将所述API demo描述文档转换生成相对应的API层协议语言描述文件,通过对API层协议语言描述文件解析后,能得到相对应的支付接入配置文件。

在得到支付接入配置文件后,通过对所述支付接入配置文件的加载,能配置基于所述支付接入配置文件的支付处理环境,从而在所述支付处理环境下能对接收到的API报文进行处理,即利用所述支付处理环境能完成第三方支付所需的支付交互。在配置基于支付接入配置文件的支付处理环境后,利用支付处理环境对API报文处理以及完成第三方支付需要的支付交互过程均可采用常用的技术手段或实施方式,具体为本技术领域人员所熟知,此处不再赘述。

进一步地,在对API demo描述文档转换生成API层协议语言描述文件时,先将所述API demo描述文档解析转换为原始抽象语法树,对所述原始抽象语法树转译变换后能生成目标抽象语法树;根据所述目标抽象语法树能生成API层协议语言描述文件。

本发明实施例中,对于API demo描述文档,可以采用现有技术手段解析转换为原始抽象语法树,原始抽象语法树的具体情况与API demo描述文档相对应,即在确定APIdemo描述文档后,能转换得到相应的原始抽象语法树,将API demo描述文档转换为原始抽象语法树以及原始抽象语法树的具体技术过程为本技术领域人员所熟知,此处不再赘述。

图2中,为本发明通过对API demo描述文档解析转换得到原始抽象语法树的一种具体实施示意图,一般地,在原始抽象语法树中至少包括metadata节点、server节点、schema节点以及endpoint节点等,一般地,endpoint节点包括endpoint a节点以及endpoint b节点。

具体实施时,对于metadata节点,通过metadata节点所要表达的信息包括API元数据的说明,包含诸如API描述、API版本、版权声明等API基础属性的描述信息;在metadata节点下包括title子节点、contact子节点、description子节点、version子节点、license子节点等,即通过metadata节点下的子节点能确定metadata节点的所要表达的节点内容,metadata节点的具体内容与API demo描述文档中关于API元数据的说明相关,具体为本技术领域人员所熟知,此处不再赘述。

对于server节点,通过server节点能所要表达的信息包括API server的属性信息,包含诸如API server的地址(URL)、服务端口、路径、描述等信息。对于schema节点,主要包括API的字段属性信息,包含API的字段列表,以及每个字段的基础属性,诸如字段最大值、最小值、字符类型、编码类型等。对于endpoint节点,具体为每个endpoint节点,表示此API中的一个接口类型;当以支付宝的支付API为例,包含消费的endpoint、撤销的endpoint、退款的endpoint等;endpoint节点的子节点中,描述了此endpoint的路径、请求报文头的字段属性、请求报文体的字段属性、应答报文头的字段属性、应答报文体的字段属性等信息。server节点、schema节点、endpoint a节点、endpoint b节点相应的情况与预设的第三方支付需求以及API demo描述文档相对应,此处不再赘述。

在得到原始抽象语法树后,通过转译变换后能生成目标抽象语法树,具体实施时,对原始抽象语法树转译变换生成目标语法树时,遍历原始抽象语法树,并在遍历过程中对原始抽象语法树进行节点添加、更新或移除操作;所述遍历原始抽象语法树的方式包括前序遍历、中序遍历或后序遍历。本发明实施例中,遍历原始抽象语法树时,进行节点添加、更新或移除操作的具体过程为本技术领域人员所熟知,此处不再赘述。当然,在具体实施时,具体遍历方式可以根据实际需要选择,采用前序遍历、中序遍历或后序遍历的具体遍历实施过程均为本技术领域人员所熟知,此处不再赘述。

图3中,为本发明得到目标抽象语法树的示意图,其中,目标抽象语法树至少包括endpoint根节点,在endpoint根节点下,包括connection节点、request节点、response节点,目标抽象语法树中:根节点是endpoint,对应了原始抽象语法树的endpoint a节点以及endpointb节点;根节点endpoint的子节点connection节点,描述了此endpoint的通讯协议、URL、路径等通讯连接信息,其信息来自原始抽象语法树的server节点以及endpoint节点的部分子节点,在将原始抽象语法树转换目标抽象语法树的过程中,通过遍历原始抽象语法树,在遍历到相关节点时,将其抽取到目标抽象语法树,最终组成了目标语法树结构。

具体实施时,endpoint根节点的子节点request节点、response节点,分别对应了原始抽象语法树的endpoint->request与endpoint->response节点,只是其子节点信息会有些差异,目标抽象语法树中的request节点、response节点,整合了原始抽象语法树的endpoint节点内相应的request header、request body、response header、responsebody、以及原始抽象语法树的schema节点;即目标抽象语法树的request节点、response节点相对应包含的信息,可以理解为是原始抽象语法树中的endpoint->request header&request body&response header&response body&schema中部分重要信息的合集,具体目标抽象语法树内endpoint根节点下connection节点、request节点、response节点与原始抽象语法树内相应节点的对应关系,以connection节点、request节点、response节点实际所需要描述或说明的内容相关,具体可根据实际需要选定,以能根据目标抽象语法树生成所需的API层协议语言描述文件为准,具体为本技术领域人员所熟知,此处不再赘述。

进一步地,所述API报文为API请求报文或API应答报文;

对API报文处理时,包括对所述API报文的解析、对解析后报文的预处理、对预处理报文的接口映射、将映射后组装成待发送报文且将组装后的待发送报文向外发送。

本发明实施例中,API报文为API请求报文或API应答报文,API请求报文为客户端发起或服务端发起,则与API请求对应的API应答报文,则为服务端应答或客户端应答,API请求报文、API应答报文间的具体对应关系与现有相一致,具体为本技术领域人员所熟知,此处不再赘述。

具体实施时,对API报文处理时,包括对所述API报文的解析、对解析后报文的预处理、对预处理报文的接口映射、将映射后组装成待发送报文且将组装后的待发送报文向外发送。即当客户端发起API请求报文时,对所述API请求报文依次进行解析、预处理、接口映射以及组装后能发送到服务端;对于服务端响应返回的API应答报文,则需要依次进行解析、预处理、接口映射以及组装后发送到客户端。

对于服务端发起API请求报文以及客户端响应返回的API应答报文的相应处理,具体可以参考上述说明,具体为本技术领域人员所熟知,此处不再赘述。

如图1所示,为了能实现上述快速接入方法,能得到本发明的第三方支付接口的快速接入系统,包括

协议转换器,接收基于API协议规范的API demo描述文档,并将API demo描述文档转换生成相对应的API层协议语言描述文件;

解析引擎,接收协议转换器生成的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互。

具体地,API协议规范以及API demo描述文档的具体情况可以参考上述说明,此处不再赘述。此外,协议转换器将API demo描述文档转换生成API层协议语言描述文件的具体过程、以及API层协议语言描述文件的具体情况也参考上述过程说明,此处不再赘述。

进一步地,所述解析引擎包括配置管理器、报文解析器、规则处理器、接口映射器以及报文生成器;

配置管理器,接收API层协议语言描述文件,解析后生成支付接入配置文件,并将支付接入配置文件内的支付接入配置参数发送至报文解析器、规则处理器、接口映射器以及报文生成器,以能配置形成支付处理环境;

报文解析器,根据支付接入配置参数对接收到的API报文解析,并将解析后的API报文传送至规则处理器内;

规则处理器,根据支付接入配置参数内的预处理规则对解析后的报文进行所需的预处理,并将预处理后的报文传送至接口映射器内;

接口映射器,根据支付接入配置参数内的接口映射规则对预处理后的报文进行所需的映射,并将映射后的报文传送至报文生成器内;

报文生成器,根据支付接入配置参数内的接口规则对映射后的报文组装成所需的待发送报文,并能将所述组装后的待发送报文向外发送。

本发明实施例中,API层协议语言描述文件为匹配解析引擎的引擎格式的API描述文档,API层协议语言表述文件的具体格式等以能与解析引擎匹配为准,即利用解析引擎内的配置管理器对API层协议语言描述文件进行解析,并在解析后,能生成支付接入配置文件,具体对API层协议语言描述文件的解析方式以及过程可以根据实际需要选择,在解析后生成支付接入配置文件的具体形式也可以根据需要选择,具体为本技术领域人员所熟知,此处不再赘述。

支付接入配置文件内一般包括若干支付接入配置参数,配置管理器将支付接入配置文件内的支付接入配置参数能同时发送分配到报文解析器、规则处理器、接口映射器以及报文生成器,以实现支付接入配置文件内支付接入配置参数的加载,且能使得报文解析器、规则处理器、接口映射器以及报文生成器根据接收到的支付接入配置参数进行相应的工作,具体与现有相一致,此处不再赘述。在对支付接入配置文件内支付接入配置参数加载后,即可实现支付处理环境的配置。支付接入配置文件内的支付接入配置参数的具体情况可根据实际需要选择,主要能实现所需的支付处理,具体为本技术领域人员所熟知,此处不再赘述。

对于报文解析器,主要用于接收并解析来自外部的API报文,API报文的具体情况可以参考上述说明,即包括客户端发起的API请求报文、服务端返回的API应答报文、服务端发起的API请求报文和/或客户端返回的API应答报文。报文解析器主要负责的内容是依照配置管理器分配加载的支付接入配置参数中对通讯协议、报文字段的定义进行解析,将解析后的API报文内容加载至解析引擎的内存中。具体利用支付接入配置参数解析API报文的具体过程与现有相一致,此处不再赘述。

对于规则处理器,主要针对报文解析器加载至内存中的报文,依照配置管理器加载的支付接入配置参数中对预处理规则的描述,选择相应的预处理规则,对相应的API报文字段进行处理,将处理后的报文内容加载至解析引擎的内存中;预处理规则的具体情况可以根据实际需要选择,预处理规则的具体情况一般在API协议规范内进行规范说明;例如,针对收到的报文中的字段A,预处理规则是必填、去除收尾空格,那么,若报文中不包含字段A,此报文将被规则处理器拒绝(违反了必填规则);若报文中包含字段A,值为“123”,则规则处理器会将其收尾的空格去除,变成“123”,然后经由后续处理过程,将转换后的“123”交给接口映射器、报文生成器处理,最终经报文生成器组装报文后发给对端的报文,且组装发送报文的值是经过规则处理后的“123”,而非规则处理前的“123”。具体实施时,规则处理器对报文的预处理方式以及过程可与现有相一致,具体为本技术领域人员所熟知,此处不再赘述。

对于接口映射器,主要针对规则处理器加载至内存中的报文,依照配置管理器加载支付接入配置参数中对接口映射的描述,对相应的报文字段进行映射,将映射后的报文内容加载至解析引擎的内存中。支付接入配置参数中对接口映射的描述一般在API协议规范内进行规范说明。例如,API报文在经过报文解析器、规则处理器的处理后,交由接口映射器进行处理,此时接口映射器会根据接口映射描述的request_fields、response_fields配置信息,将原始报文的字段,一一映射至目标报文的字段,比如,针对原始报文字段A,原始值为“123”,在上述规则处理器处理过后,值变成了“123”,在接口映射器的处理中,会将字段A变成字段A’,即经过规则处理器、接口映射器的处理之后,字段由A:”123“,变成了A’:”123”。接口映射器对报文的映射方式以及过程可与现有相一致,具体为本技术领域人员所熟知,此处不再赘述。

对于报文生成器,报文生成器与报文解析器的工作路径相反,具体针对接口映射器加载至内存中的报文,依照依照配置管理器加载支付接入配置参数中对接口规则的描述,组装相应的报文,发送至外部系统。报文生成器组装报文的具体方式以及过程均可采用现有常用的方式,具体与API协议规范中规范说明相一致即可,具体为本技术领域人员所熟知。报文生成器组装的报文发送至外部系统,具体是指发送至客户端或服务端,具体与报文的类型相关,具体为本技术领域人员所熟知,此处不再赘述。

进一步地,所述配置管理器实时监听API层协议语言描述文件,以在API层协议语言描述文件存在更新时,解析所述更新后的API层协议语言描述文件,并生成相匹配的支付接入配置文件,且将生成的支付接入配置文件内的支付接入配置参数同步发送至报文解析器、规则处理器、接口映射器以及报文生成器,以更新配置所述支付处理环境;

API报文包括API请求报文或API应答报文。

本发明实施例中,通过配置管理器对API呈协议语言描述文件的实时监听,从而在API呈协议语言描述文件发生变动时,能及时更新配置支付处理环境,提高支付接入配置文件内支付接入配置参数的热加载能力。配置管理器可以采用本技术领域常用的技术手段实现对API层协议语言描述文件的监听,具体为本技术领域人员所熟知,此处不再赘述。

具体实施时,对解析引擎而言,并不关心其接收到API报文是客户端发来的API请求报文、还是服务端返回的API应答报文,解析引擎所做的工作,就是无论哪方发报文过来,只要报文解析器从网络上接收到了所述API报文,就进行报文解析->规则处理->接口映射->报文生成这些标准步骤,具体为本技术领域人员所熟知,此处不再赘述。

综上,在确定API协议规范后,能得到于所述API协议规范的API demo描述文档;将API demo描述文档转换生成相对应的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互,即能有效实现第三方支付接口的快速接入,提高第三方支付接口的便捷性与可靠性,减少了重复的工作;适应各种第三方API协议规范,接入第三方API可实现零代码开发。

相关技术
  • 用于实现快速随机接入的方法、装置和系统
  • 一种快速权限接入管理方法及系统
  • 一种快速识别物联网环境非法接入资产的方法与系统
  • 远程共享移动网络接入和移动支付接口的设备系统和方法
  • 第三方接入的认证方法、系统、第三方企业端及银行端
技术分类

06120115922615