一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种移动支付方法与流程

2021-12-01 00:44:00 来源:中国专利 TAG:


1.本发明涉及移动支付技术领域,具体而言,涉及一种移动支付方法。


背景技术:

2.目前市面上小程序的开发非常火热,很多公司为了引流,又想降低研发成本,所以通常会选择将原先的h5页面直接嵌入到现有的小程序中。其中,h5是html5的简称,是构建web内容的一种语言方式。但这样做会导致一个问题,那就是小程序中嵌套的h5页面无法直接使用h5支付功能。为了解决这个问题,请参考图1,图1为现有技术h5页面调用小程序支付的流程图,目前市面上主流的解决方案为:用户在h5页面上点击支付,由h5拉起小程序的业务支付页,通过业务支付页向后端api请求对应的支付参数,使用支付参数调用小程序支付,以完成支付功能。这种方案有以下缺点:小程序支付页面与业务强绑定,每次有新的支付场景,都需要开发新的业务支付页面,则需要开发很多小程序。


技术实现要素:

3.本发明的目的在于提供一种移动支付方法,其能够解耦小程序与支付场景,使得不同支付场景的h5页面可以复用同一个小程序支付页面。
4.本发明的实施例是这样实现的:
5.本技术实施例提供一种移动支付方法,其包括将h5页面嵌入至小程序中,还包括:若h5页面接收到用户的支付请求,则向后端api请求获取对应的支付参数。h5页面在得到支付参数后,采用加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序的通用支付页。小程序的通用支付页对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序的支持程序。通过支持程序完成支付,得到支付结果。
6.在本发明的一些实施例中,上述h5页面采用加密算法对支付参数进行加密的同时,拼装上自定义的支付成功回跳地址和支付失败回跳地址。h5页面根据支付结果跳转到支付成功回跳地址或支付失败回跳地址。
7.在本发明的一些实施例中,上述支付参数包括依次拼接的随机字符串、签名类型、小程序id、当前时间戳及预支付交易单。
8.在本发明的一些实施例中,上述若h5页面接收到用户的支付请求,则向后端api请求获取对应的支付参数的步骤之前,该方法还包括:后端api调用第三方支付api,以获取预支付交易单。
9.在本发明的一些实施例中,上述采用加密算法对支付参数进行加密得到加密支付参数的步骤包括:利用openssl开源库生成用于加密的公钥和用于解密的私钥。调用jsencrypt开源库的加密函数,传入公钥和支付参数,以得到加密支付参数。
10.在本发明的一些实施例中,上述小程序的通用支付页对加密支付参数进行解密得到支付参数的步骤包括:调用jsencrypt开源库的解密函数,传入私钥和加密支付参数,以得到支付参数。
11.在本发明的一些实施例中,上述h5页面包括:支付参数请求获取模块,用于若接收到用户的支付请求,则向后端api请求获取对应的支付参数。加密模块,用于在得到支付参数后,采用加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序的通用支付页。
12.在本发明的一些实施例中,上述小程序包括:解密模块,用于通用支付页对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序的支持程序。支付模块,用于通过支持程序完成支付,得到支付结果。
13.第二方面,本技术实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。
14.第三方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。
15.相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
16.本发明提供了一种移动支付方法,其包括将h5页面嵌入至小程序中,还包括:若h5页面接收到用户的支付请求,则向后端api请求获取对应的支付参数。h5页面在得到支付参数后,采用加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序的通用支付页。小程序的通用支付页对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序的支持程序。通过支持程序完成支付,得到支付结果。将h5页面嵌入至小程序后,用户在h5页面上点击支付。h5页面将接收到用户的支付请求,并向后端api发送获取对应支付参数的请求。h5页面在得到后端api返回的支付参数后,将通过加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序的通用支付页,极大限度保证了利用通用支付页进行支付的安全性。通用支付页将对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序的支持程序,通过支持程序可以完成支付,并将支付结果返回到h5页面。该移动支付方法使得小程序与支付场景解耦,则不同支付场景的h5页面可以复用同一个小程序的通用支付页。从而当每次有新的支付场景时,可以复用同一个通用支付页,不需要开发新的业务支付页面,避免了开发过多的小程序,减轻了用户的小程序开发压力。
附图说明
17.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
18.图1为本发明实施例提供的一种现有技术h5页面调用小程序支付的流程图;
19.图2为本发明实施例提供的一种移动支付方法的流程图;
20.图3为本发明实施例提供的一种h5页面调用小程序支付的流程图;
21.图4为本发明实施例提供的一种h5页面的结构框图;
22.图5为本发明实施例提供的一种小程序的结构框图;
23.图6为本发明实施例提供的一种电子设备的示意性结构框图。
24.图标:100

h5页面;110

支付参数请求获取模块;120

加密模块;200

小程序;210

解密模块;220

支付模块;101

存储器;102

处理器;103

通信接口。
具体实施方式
25.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
26.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
28.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,若出现术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,若出现由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
29.在本技术的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。
30.在本技术的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术中的具体含义。
31.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
32.实施例
33.请参照图2和图3,图2所示为本技术实施例提供的一种移动支付方法的流程图,图3所示为本技术实施例提供的一种h5页面100调用小程序200支付的流程图。一种移动支付方法,其包括将h5页面100嵌入至小程序200中,还包括:
34.s110:若h5页面100接收到用户的支付请求,则向后端api请求获取对应的支付参数;
35.具体的,用户通过小程序200中嵌套的h5页面100点击支付时,h5页面100将接收到用户的支付请求,并向后端api发送获取对应支付参数的请求,进而后端api将返回随机字符串、签名类型、小程序200id、当前时间戳、预支付交易单等支付参数到h5页面100。
36.s120:h5页面100在得到支付参数后,采用加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序200的通用支付页;
37.上述加密算法可以为rsa非对称加密算法。具体的,首先利用openssl开源库生成用于加密的公钥和用于解密的私钥,然后对支付参数进行拼接。接着调用jsencrypt开源库的加密函数,传入公钥和拼接后的支付参数,得到rsa加密后的字符串,即加密支付参数。通过rsa非对称加密算法对拼接后的支付参数进行加密,通过加密支付参数拉起小程序200的通用支付页,从而可以极大限度保证利用小程序200的通用支付页进行支付的安全性。示例性的,拼接后的支付参数可以为appid=wxd678efh567hg6787&noncestr=5k8264iltkch16cq2502si8znmtm67vs&package=prepay_id=wx2017033010242291fcfe0db70013231072&signtype=md5&timestamp=1490840662,其中appid表示小程序200id,timestamp表示当前时间戳,noncestr表示生成签名时设置的随机字符串,package表示返回支付下单接口的预支付交易单,signtype表示签名类型。
38.s130:小程序200的通用支付页对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序200的支持程序;
39.具体的,首先调用jsencrypt开源库的解密函数,传入私钥和加密支付参数,以得到解密后的加密支付参数,即拼接后的支付参数。然后对拼接后的支付参数进行分割,得到支付参数appid、timestamp、noncestr、package、signtype。通过支付参数可以拉起小程序200的支持程序。
40.s140:通过支持程序完成支付,得到支付结果。
41.小程序200的支持程序完成支付后,将支付结果返回到h5页面100。具体的,当支持程序完成支付后,若支付结果为支付成功,则h5页面100跳转到支付成功回跳地址。反之,若支付结果为支付失败,则h5页面100跳转到支付失败回跳地址。达到了根据支付结果灵活配置支付成功或支付失败跳转的h5页面100的效果,避免出现不同的支付结果只能跳转到固定的h5页面100的情况。
42.上述实现过程中,将h5页面100嵌入至小程序200后,用户在h5页面100上点击支付。h5页面100将接收到用户的支付请求,并向后端api发送获取对应支付参数的请求。h5页面100在得到后端api返回的支付参数后,将通过加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序200的通用支付页,极大限度保证了利用通用支付页进行支付的安全性。通用支付页将对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序200的支持程序,通过支持程序可以完成支付,并将支付结果返回到h5页面100。该移动支付方法使得小程序200与支付场景解耦,使得不同支付场景的h5页面100可以复用同一个小程序200的通用支付页。从而当每次有新的支付场景时,可以复用同一个通用支付页,而不需要开发新的业务支付页面,避免了开发过多的小程序200,减轻了用户的小程序200开发压力。
43.在本实施例的一些实施方式中,上述h5页面100采用加密算法对支付参数进行加密的同时,拼装上自定义的支付成功回跳地址和支付失败回跳地址。h5页面100根据支付结
果跳转到支付成功回跳地址或支付失败回跳地址。具体的,将加密支付参数、支付成功回跳地址和支付失败回跳地址进行拼装。当支持程序完成支付后,若支付结果为支付成功,则h5页面100跳转到支付成功回跳地址。反之,若支付结果为支付失败,则h5页面100跳转到支付失败回跳地址。从而可以根据支付结果灵活配置支付成功或支付失败跳转的h5页面100,避免出现不同的支付结果只能跳转到固定的h5页面100的情况。
44.在本实施例的一些实施方式中,上述支付参数包括依次拼接的随机字符串、签名类型、小程序200id、当前时间戳及预支付交易单。
45.在本实施例的一些实施方式中,上述若h5页面100接收到用户的支付请求,则向后端api请求获取对应的支付参数的步骤之前,该方法还包括:后端api调用第三方支付api,以获取预支付交易单。具体的,上述第三方支付api可以是微信支付api。后端api可以调用微信支付api,使得微信支付服务后台生成预支付交易单,微信支付api将预支付交易单回传至后端api,从而实现了后端api获取预支付交易单的目的。
46.在本实施例的一些实施方式中,上述采用加密算法对支付参数进行加密得到加密支付参数的步骤包括:利用openssl开源库生成用于加密的公钥和用于解密的私钥。调用jsencrypt开源库的加密函数,传入公钥和支付参数,以得到加密支付参数。具体的,openssl是一个开放源代码的软件库包,应用程序可以使用这个软件库包来进行安全通信,这个软件库包广泛应用于互联网的网页服务器上。jsencrypt开源库是用于执行opensslrsa加密、解密以及生成密钥。上述实现过程中,首先通过openssl开源库生成用于加密的公钥和用于解密的私钥。然后调用jsencrypt开源库的加密函数,传入公钥和拼接后的支付参数,得到加密支付参数,达到了通过rsa非对称加密算法对拼接后的支付参数进行加密的效果。
47.在本实施例的一些实施方式中,上述小程序200的通用支付页对加密支付参数进行解密得到支付参数的步骤包括:调用jsencrypt开源库的解密函数,传入私钥和加密支付参数,以得到支付参数。从而实现了将加密支付参数解密成支付参数的目的。
48.请参照图4,图4所示为本技术实施例提供的一种h5页面100的结构框图。上述h5页面100包括:支付参数请求获取模块110,用于若接收到用户的支付请求,则向后端api请求获取对应的支付参数。加密模块120,用于在得到支付参数后,采用加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序200的通用支付页。具体的,h5页面100通过支付参数请求获取模块110接收用户的支付请求,并向后端api发送获取对应支付参数的请求。通过加密模块120对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序200的通用支付页,从而极大限度保证了利用小程序200的通用支付页进行支付的安全性。
49.请参照图5,图5所示为本技术实施例提供的一种小程序200的结构框图。上述小程序200包括:解密模块210,用于通用支付页对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序200的支持程序。支付模块220,用于通过支持程序完成支付,得到支付结果。具体的,小程序200通过解密模块210对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序200的支持程序。通过支付模块220完成支付,得到支付结果。上述实现过程中,不同支付场景的h5页面100不同,但是支付场景不同的h5页面100可以复用同一个小程序200的通用支付页,而不需要再次开发小程序200。
50.请参照图1,图1所示为本技术实施例提供的一种现有技术h5页面100调用小程序200支付的流程图。现有技术中将h5嵌入小程序200中,用户在h5页面100上点击支付后,h5页面100将拉起小程序200的业务支付页,业务支付页向后端api请求获取支付参数,后端api将支付参数回传至业务支付页。业务支付页使用支付参数调用小程序200支付,以完成支付功能,支付完成后将跳转回固定的h5页面100。由此可见,现有技术存在有以下不足:1.小程序200的业务支付页与业务强绑定,则每次有新的支付场景,都需要开发新的业务支付页面,则需要开发很多小程序200;2.当支付完成后,只能跳转至固定的h5页面100;3.在后端api将支付参数回传至业务支付页的过程中,未对支付参数进行加密,则无法保证小程序200支付的安全性。
51.请参阅图6,图6为本技术实施例提供的电子设备的一种示意性结构框图。电子设备包括存储器101、处理器102和通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,如本技术实施例所提供的一种h5页面100及小程序200对应的程序指令/模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。
52.其中,存储器101可以是但不限于,随机存取存储器101(random access memory,ram),只读存储器101(read only memory,rom),可编程只读存储器101(programmable read

only memory,prom),可擦除只读存储器101(erasable programmable read

only memory,eprom),电可擦除只读存储器101(electric erasable programmable read

only memory,eeprom)等。
53.处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
54.可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件、软件或其组合实现。
55.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于
硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
56.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
57.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器101(rom,read

only memory)、随机存取存储器101(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
58.综上所述,本技术实施例提供的一种移动支付方法,其包括将h5页面100嵌入至小程序200中,还包括:若h5页面100接收到用户的支付请求,则向后端api请求获取对应的支付参数。h5页面100在得到支付参数后,采用加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序200的通用支付页。小程序200的通用支付页对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序200的支持程序。通过支持程序完成支付,得到支付结果。将h5页面100嵌入至小程序200后,用户在h5页面100上点击支付。h5页面100将接收到用户的支付请求,并向后端api发送获取对应支付参数的请求。h5页面100在得到后端api返回的支付参数后,将通过加密算法对支付参数进行加密得到加密支付参数,并通过加密支付参数拉起小程序200的通用支付页,极大限度保证了利用通用支付页进行支付的安全性。通用支付页将对加密支付参数进行解密得到支付参数,并通过支付参数拉起小程序200的支持程序,通过支持程序可以完成支付,并将支付结果返回到h5页面100。该移动支付方法使得小程序200与支付场景解耦,则不同支付场景的h5页面100可以复用同一个小程序200的通用支付页。从而当每次有新的支付场景时,可以复用同一个通用支付页,不需要开发新的业务支付页面,避免了开发过多的小程序200,减轻了用户的小程序200开发压力。
59.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
60.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献