CN115964028B - 第三方支付接口的快速接入方法及系统 - Google Patents
第三方支付接口的快速接入方法及系统 Download PDFInfo
- Publication number
- CN115964028B CN115964028B CN202111187280.8A CN202111187280A CN115964028B CN 115964028 B CN115964028 B CN 115964028B CN 202111187280 A CN202111187280 A CN 202111187280A CN 115964028 B CN115964028 B CN 115964028B
- Authority
- CN
- China
- Prior art keywords
- node
- api
- syntax tree
- message
- abstract syntax
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 67
- 230000003993 interaction Effects 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 19
- 238000007781 pre-processing Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 238000003032 molecular docking Methods 0.000 description 4
- 206010040844 Skin exfoliation Diseases 0.000 description 3
- 230000035618 desquamation Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种接入方法及系统,尤其是一种第三方支付接口的快速接入方法及系统。按照本发明提供的技术方案,所述第三方支付接口的快速接入方法,提供API协议规范以及一基于所述API协议规范的API demo描述文档;将API demo描述文档转换生成相对应的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互。本发明能有效实现第三方支付接口的快速接入,提高第三方支付接口的便捷性与可靠性。
Description
技术领域
本发明涉及一种接入方法及系统,尤其是一种第三方支付接口的快速接入方法及系统。
背景技术
伴随着产业数字化趋势愈发明显,致力于支付渠道数字生活,聚合支付应运而生。面对当下更加小额、高频的第三方支付应用场景,面对初创乃至新兴消费场景下的支付新需求,技术主导型的商业模式革新正日益成为产业变革中的一股强大推力。
第三方的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可实现零代码开发。
Claims (7)
1.一种第三方支付接口的快速接入方法,其特征是:提供API协议规范以及一基于所述API协议规范的API demo描述文档;
将API demo描述文档转换生成相对应的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;
加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互;
在对API demo描述文档转换生成API层协议语言描述文件时,先将所述API demo描述文档解析转换为原始抽象语法树,对所述原始抽象语法树转译变换后能生成目标抽象语法树;根据所述目标抽象语法树能生成API层协议语言描述文件;
所述原始抽象语法树至少包括用于描述API元数据状态的metadata节点、用于描述APIserver的属性信息状态的server节点、用于描述API的字段属性信息状态的schema节点以及用于描述API接口状态的endpoint节点;
endpoint节点包括endpoint a节点以及endpoint b节点;
对于metadata节点,描述的API元数据状态包含API描述、API版本、版权声明的API基础属性;在metadata节点下包括title子节点、contact子节点、description子节点、version子节点、license子节点,通过metadata节点下的子节点能确定metadata节点的所要表达的节点内容;
对于server节点,描述API的属性信息状态包含API server的地址、服务端口、路径、描述的信息;
对于schema节点,描述API的字段属性信息状态包含API的字段列表,以及每个字段的基础属性;
对于endpoint节点,描述API接口状态包括此API中的一个接口类型;endpoint节点的子节点中,描述了此endpoint的路径、请求报文头的字段属性、请求报文体的字段属性、应答报文头的字段属性、应答报文体的字段属性等信息;
目标抽象语法树包括endpoint根节点,所述endpoint根节点至少包括用于描述通讯连接信息状态的connection节点、用于描述请求报文信息状态的request节点以及用于描述应答报文信息状态的response节点;
在endpoint根节点下,包括connection节点、request节点、response节点,目标抽象语法树中:根节点是endpoint,对应了原始抽象语法树的endpoint a节点以及endpoint b节点;根节点endpoint的子节点connection节点,描述了此endpoint的通讯协议、URL、路径的通讯连接信息,其信息来自原始抽象语法树的server节点以及endpoint节点的部分子节点,在将原始抽象语法树转换目标抽象语法树的过程中,通过遍历原始抽象语法树,在遍历到相关节点时,将其抽取到目标抽象语法树,最终组成了目标语法树结构;
endpoint根节点的子节点request节点、response节点,分别对应了原始抽象语法树的endpoint->request与endpoint->response节点,目标抽象语法树中的request节点、response节点,整合了原始抽象语法树的endpoint节点内相应的request header、requestbody、response header、response body、以及原始抽象语法树的schema节点;即目标抽象语法树的request节点、response节点相对应包含的信息,是原始抽象语法树中的endpoint->request header&request body&response header&response body&schema中部分重要信息的合集。
2.根据权利要求1所述的第三方支付接口的快速接入方法,其特征是:所述API demo描述文档包括swagger格式的描述文档或基于Excel生成的描述文档。
3.根据权利要求1所述的第三方支付接口的快速接入方法,其特征是:对原始抽象语法树转译变换生成目标语法树时,遍历原始抽象语法树,并在遍历过程中对原始抽象语法树进行节点添加、更新或移除操作;所述遍历原始抽象语法树的方式包括前序遍历、中序遍历或后序遍历。
4.根据权利要求1至3任一项所述的第三方支付接口的快速接入方法,其特征是:所述API报文为API请求报文或API应答报文;
对API报文处理时,包括对所述API报文的解析、对解析后报文的预处理、对预处理报文的接口映射、将映射后组装成待发送报文且将组装后的待发送报文向外发送。
5.一种第三方支付接口的快速接入系统,其特征是:包括
协议转换器,接收基于API协议规范的API demo描述文档,并将API demo描述文档转换生成相对应的API层协议语言描述文件;
解析引擎,接收协议转换器生成的API层协议语言描述文件,对所述API层协议语言描述文件解析后,得到一支付接入配置文件;加载所述支付接入配置文件,配置基于所述支付接入配置文件的支付处理环境,以通过所述支付处理环境对接收到的API报文进行处理后实现所需的支付交互;
协议转换器在对API demo描述文档转换生成API层协议语言描述文件时,先将所述APIdemo描述文档解析转换为原始抽象语法树,对所述原始抽象语法树转译变换后能生成目标抽象语法树;根据所述目标抽象语法树能生成API层协议语言描述文件;
所述原始抽象语法树至少包括用于描述API元数据状态的metadata节点、用于描述APIserver的属性信息状态的server节点、用于描述API的字段属性信息状态的schema节点以及用于描述API接口状态的endpoint节点;
endpoint节点包括endpoint a节点以及endpoint b节点;
对于metadata节点,描述的API元数据状态包含API描述、API版本、版权声明的API基础属性;在metadata节点下包括title子节点、contact子节点、description子节点、version子节点、license子节点,通过metadata节点下的子节点能确定metadata节点的所要表达的节点内容;
对于server节点,描述API的属性信息状态包含API server的地址、服务端口、路径、描述的信息;
对于schema节点,描述API的字段属性信息状态包含API的字段列表,以及每个字段的基础属性;
对于endpoint节点,描述API接口状态包括此API中的一个接口类型;endpoint节点的子节点中,描述了此endpoint的路径、请求报文头的字段属性、请求报文体的字段属性、应答报文头的字段属性、应答报文体的字段属性等信息;
目标抽象语法树包括endpoint根节点,所述endpoint根节点至少包括用于描述通讯连接信息状态的connection节点、用于描述请求报文信息状态的request节点以及用于描述应答报文信息状态的response节点;
在endpoint根节点下,包括connection节点、request节点、response节点,目标抽象语法树中:根节点是endpoint,对应了原始抽象语法树的endpoint a节点以及endpoint b节点;根节点endpoint的子节点connection节点,描述了此endpoint的通讯协议、URL、路径的通讯连接信息,其信息来自原始抽象语法树的server节点以及endpoint节点的部分子节点,在将原始抽象语法树转换目标抽象语法树的过程中,通过遍历原始抽象语法树,在遍历到相关节点时,将其抽取到目标抽象语法树,最终组成了目标语法树结构;
endpoint根节点的子节点request节点、response节点,分别对应了原始抽象语法树的endpoint->request与endpoint->response节点,目标抽象语法树中的request节点、response节点,整合了原始抽象语法树的endpoint节点内相应的request header、requestbody、response header、response body、以及原始抽象语法树的schema节点;即目标抽象语法树的request节点、response节点相对应包含的信息,是原始抽象语法树中的endpoint->request header&request body&response header&response body&schema中部分重要信息的合集。
6.根据权利要求5所述的第三方支付接口的快速接入系统,其特征是:所述解析引擎包括配置管理器、报文解析器、规则处理器、接口映射器以及报文生成器;
配置管理器,接收API层协议语言描述文件,解析后生成支付接入配置文件,并将支付接入配置文件内的支付接入配置参数发送至报文解析器、规则处理器、接口映射器以及报文生成器,以能配置形成支付处理环境;
报文解析器,根据支付接入配置参数对接收到的API报文解析,并将解析后的API报文传送至规则处理器内;
规则处理器,根据支付接入配置参数内的预处理规则对解析后的报文进行所需的预处理,并将预处理后的报文传送至接口映射器内;
接口映射器,根据支付接入配置参数内的接口映射规则对预处理后的报文进行所需的映射,并将映射后的报文传送至报文生成器内;
报文生成器,根据支付接入配置参数内的接口规则对映射后的报文组装成所需的待发送报文,并能将所述组装后的待发送报文向外发送。
7.根据权利要求6所述的第三方支付接口的快速接入系统,其特征是:所述配置管理器实时监听API层协议语言描述文件,以在API层协议语言描述文件存在更新时,解析所述更新后的API层协议语言描述文件,并生成相匹配的支付接入配置文件,且将生成的支付接入配置文件内的支付接入配置参数同步发送至报文解析器、规则处理器、接口映射器以及报文生成器,以更新配置所述支付处理环境;
API报文包括API请求报文或API应答报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187280.8A CN115964028B (zh) | 2021-10-12 | 2021-10-12 | 第三方支付接口的快速接入方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111187280.8A CN115964028B (zh) | 2021-10-12 | 2021-10-12 | 第三方支付接口的快速接入方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115964028A CN115964028A (zh) | 2023-04-14 |
CN115964028B true CN115964028B (zh) | 2023-11-03 |
Family
ID=87353211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111187280.8A Active CN115964028B (zh) | 2021-10-12 | 2021-10-12 | 第三方支付接口的快速接入方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964028B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491199A (zh) * | 2018-03-06 | 2018-09-04 | 福建天泉教育科技有限公司 | 一种自动生成接口的方法及终端 |
CN109947994A (zh) * | 2018-08-10 | 2019-06-28 | 北京京东金融科技控股有限公司 | 支付过程的处理方法、装置、介质及电子设备 |
CN110806945A (zh) * | 2019-11-05 | 2020-02-18 | 浪潮云信息技术有限公司 | 接口对接方法、装置和计算机可读介质 |
CN111553150A (zh) * | 2020-04-02 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 自动化api接口文档解析配置方法、系统、装置及存储介质 |
CN111950239A (zh) * | 2020-08-07 | 2020-11-17 | 北京字节跳动网络技术有限公司 | Schema文档生成方法、装置、计算机设备和介质 |
CN112148356A (zh) * | 2019-06-28 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 文档生成方法、接口开发方法、装置、服务器及存储介质 |
CN112346730A (zh) * | 2020-11-04 | 2021-02-09 | 星环信息科技(上海)股份有限公司 | 一种中间表示的生成方法、计算机设备及存储介质 |
CN113467785A (zh) * | 2021-07-19 | 2021-10-01 | 上海红阵信息科技有限公司 | 一种拟态数据库的sql转译方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11080114B2 (en) * | 2019-11-26 | 2021-08-03 | International Business Machines Corporation | Controlling interaction with a scalable application |
-
2021
- 2021-10-12 CN CN202111187280.8A patent/CN115964028B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108491199A (zh) * | 2018-03-06 | 2018-09-04 | 福建天泉教育科技有限公司 | 一种自动生成接口的方法及终端 |
CN109947994A (zh) * | 2018-08-10 | 2019-06-28 | 北京京东金融科技控股有限公司 | 支付过程的处理方法、装置、介质及电子设备 |
CN112148356A (zh) * | 2019-06-28 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 文档生成方法、接口开发方法、装置、服务器及存储介质 |
CN110806945A (zh) * | 2019-11-05 | 2020-02-18 | 浪潮云信息技术有限公司 | 接口对接方法、装置和计算机可读介质 |
CN111553150A (zh) * | 2020-04-02 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 自动化api接口文档解析配置方法、系统、装置及存储介质 |
CN111950239A (zh) * | 2020-08-07 | 2020-11-17 | 北京字节跳动网络技术有限公司 | Schema文档生成方法、装置、计算机设备和介质 |
CN112346730A (zh) * | 2020-11-04 | 2021-02-09 | 星环信息科技(上海)股份有限公司 | 一种中间表示的生成方法、计算机设备及存储介质 |
CN113467785A (zh) * | 2021-07-19 | 2021-10-01 | 上海红阵信息科技有限公司 | 一种拟态数据库的sql转译方法和系统 |
Non-Patent Citations (1)
Title |
---|
"基于抽象语法树的软件语义分析方法研究";王莉莉;《中国优秀硕士学位论文全文数据库 信息科技辑》;第I138-566页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115964028A (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101202665B (zh) | 图形用户界面的生成方法 | |
US20020141449A1 (en) | Parsing messages with multiple data formats | |
US7577900B2 (en) | Mechanism for maintaining data format synchronization between different entities | |
US20010029542A1 (en) | Character code converting system in multi-platform environment, and computer readable recording medium having recorded character code converting program | |
RU2431185C2 (ru) | Поток графики высокого уровня | |
US20060230432A1 (en) | Policy algebra and compatibility model | |
US7257647B2 (en) | Development environment platform using message type mapping for converting message and providing information between systems having different data structures | |
US20030055862A1 (en) | Methods, systems, and articles of manufacture for managing systems using operation objects | |
JPH0827775B2 (ja) | 遠隔ノードからの処理手順呼出し方法及びシステム | |
CN112422588B (zh) | 一种物联网设备信息处理方法及系统 | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
US20040225491A1 (en) | Generic script template engine repository adapter system and method of use | |
CN113641700A (zh) | 一种基于Spring boot框架的数据处理方法及装置 | |
EP1696339A2 (en) | System and method for testing data format using targeted variant input | |
CN111694846A (zh) | 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 | |
US20150248289A1 (en) | System and method of reconstructing complex custom objects | |
CN115964028B (zh) | 第三方支付接口的快速接入方法及系统 | |
US20090204662A1 (en) | Method and system for providing reconciliation of semantic differences amongst multiple message service providers | |
CN116467274A (zh) | 一种多源异构数据的数据共享方法、装置、存储介质及终端 | |
CN105700894A (zh) | 一种修改http响应数据的方法及装置 | |
JP4489481B2 (ja) | 情報の永続性に依存しないレンダリング | |
CN115242631B (zh) | 一种报文处理方法、装置、电子设备及存储介质 | |
KR100768087B1 (ko) | 자원 관리 시스템 및 방법 | |
US8483088B1 (en) | Methods and apparatuses for a network language configuration API | |
CN117896446B (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 |