CN114756283A - 一种兼容多种软件环境授权与支付的方法 - Google Patents
一种兼容多种软件环境授权与支付的方法 Download PDFInfo
- Publication number
- CN114756283A CN114756283A CN202210665257.3A CN202210665257A CN114756283A CN 114756283 A CN114756283 A CN 114756283A CN 202210665257 A CN202210665257 A CN 202210665257A CN 114756283 A CN114756283 A CN 114756283A
- Authority
- CN
- China
- Prior art keywords
- environment
- payment
- information
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013475 authorization Methods 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000007547 defect Effects 0.000 abstract description 3
- 238000003672 processing method Methods 0.000 abstract description 2
- 239000002699 waste material Substances 0.000 abstract description 2
- 238000000926 separation method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/326—Payment applications installed on the mobile devices
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及专门用于商业目的的数据处理方法,具体是一种兼容多种软件环境授权与支付的方法,目的是克服现有技术针对每一种授权与支付方式单独开发一套***的缺陷。该方法可统一接受用户的请求信息,并自动验证代理信息,区分出用户所在的环境,如浏览器环境、微信环境、支付宝环境、钉钉环境、银行APP环境等,并针对不同的环境,分发出去处理不同的业务逻辑,发起不同支付的调用,处理完成后统一输出,实现与核心业务逻辑的无缝衔接,避免了需要部署多套服务造成的资源浪费。
Description
技术领域
本发明涉及专门用于商业目的的数据处理方法,具体是一种兼容多种软件环境授权与支付的方法。
背景技术
随着互联网***的不断发展,同一个平台承接的业务越来越多,所接入的客户也会越来越多,这就必然会导致同一套***需要兼容多种不同环境来满足客户的需求,因此必然会涉及到多种授权与支付方式的处理。
授权就是拿到用户的基本信息,支付就是调用不同的支付。然而不同厂家提供授权与支付的方法、参数、要求都不一致,除此之外所有业务逻辑都一致。传统的解决思路是依照环境单独部署一套独立***来区分环境,这种方式虽然能解决环境不同带来的问题,但是无形之间增加了巨大的成本。如果针对每一种授权与支付方式单独开发一套***,需要开发人员进行重复性的代码工作,不仅会增加很多人工成本,降低开发人员的工作效率,还为后续各个***之间的维护与更新迭代造成巨大的障碍,有任何更新迭代,所有的***均需要全部进行更新。同时每套***均需要单独部署,也丧失了业务人员推广***的便捷性,且每部署一套均需花费相应的服务器成本。
发明内容
为克服现有技术存在的缺陷或缺陷之一,本发明提供一种兼容多种软件环境授权与支付的方法,该方法可统一接受用户的请求信息,并自动验证代理信息,区分出用户所在的环境,如浏览器环境、微信环境、支付宝环境、钉钉环境、银行APP环境等,并针对不同的环境,分发出去处理不同的业务逻辑,发起不同支付的调用,处理完成后统一输出,实现与核心业务逻辑的无缝衔接。为此,本发明采取的技术方案是:
一种兼容多种软件环境授权与支付的方法,适于在计算设备上运行,与现有技术不同的是,该方法包括:
步骤1:制定统一的请求接口接收用户发送的http请求;
步骤2:提取步骤1 http请求中的agent信息;
步骤3:将步骤2的agent信息与预先建立的agent信息库进行对照,确定用户所在的软件环境;
步骤4:对http请求打上软件环境标签后调用authService.auth(AuthData)进行环境分发,其中AuthData包含环境数据,再调用 authService.getCode()获取用户信息;
步骤5:将获取的用户信息赋值到AuthData中,此时AuthData同时携带标签和各环境下的关键字信息,再进行授权分发;
步骤6:进行统一返回处理,处理逻辑根据现有不同***的业务制定;
步骤7:将AuthData中的标签信息转移到PayData中,调用payService.pay(PayData)进行支付分发;
步骤8:支付结果赋值到PayData中,形成统一的数据返回格式;
步骤9:进行统一的返回处理,PayData会被封装到MessageBean中。
与现有技术相比,本发明的有益效果在于:
本发明可通过对http请求的agent进行分析,判断出请求所在的软件环境,这样就找到了解决这个问题的入口,同时为后续逻辑的处理创造了良好的解决思路,避免了需要部署多套服务才能解决该问题的资源浪费。
本发明不局限于对多种环境的盲目分离,而是在需要的时候进行分离,分离完成后再进行合并。分离可以让业务具有更好的兼容性,且分离的架构设计可以支持无限扩展,各环境下的操作逻辑相互隔离。合并是为了更好的处理后续业务,让后续业务无须关注软件环境带来的影响,专心投入处理自己的业务逻辑。开发人员仅需关注业务逻辑处理的输入即可,减少了人工成本的投入及后期维护成本。
具体实施方式
下面通过具体实施例,对本发明进一步详细说明。以下实施例用于说明本发明,但不能用来限制本发明。
步骤1:提供统一的api请求接口接收用户发送的http请求,login/auth , 所有请求用户授权请求均可通过此接口进入。
授权是用于用户进入***时使用的,正常用户点击链接应该进入一个前端页面,但是***提供了一个后台接口链接,在这个后台接口中,可以根据http请求中自带的UserAgent判别出用户所在环境,根据环境去调用不同厂家的api接口获取用户信息,再通过重定向操作跳转到前端页面,进行用户界面展示。所以,用户虽然进入的是同一个接口,但是这个接口会经过一系列处理后,给予用户属于自己环境的展示效果。
支付原理同授权原理一致,也会根据环境不同,分别调用不同厂家的支付接口,从而实现各种支付情况。
步骤2:提取步骤1 http请求中的agent信息
String userAgent = request.getHeader("User-Agent");
StringrequestWith = request.getHeader("x-requested-with"))
代理信息和请求信息是http信息传输的隐式属性,无论业务如何,均可拿到,拿到信息后,还需将代理信息全部转化为小写,以防因各浏览器传输规则不同,导致大小写出现问题。
步骤3:将步骤2的agent信息与预先建立的agent信息库进行对照,确定用户所在的软件环境,代理信息库简要列举如下:
H5环境关键字为 windows 和 compatible
支付宝环境关键字为 alipayclient 和 aliapp
支付宝小程序环境关键字为 alipayclient 和 miniprogram
微信环境关键字为 micromessenger和nettype
微信小程序环境关键字为 micromessenger 和 miniprogram
步骤4:对http请求打上软件环境标签后调用authService.auth(AuthData)进行环境分发,其中AuthData包含环境数据,再调用 authService.getCode()获取用户信息;
对比完成后,为这个请求打上标签,标签简要列举如下:
H5环境标签为 H5
支付宝环境标签为 ALI
支付宝小程序环境标签为 ALI_APPLET
微信环境标签为 WECHAT
微信小程序环境标签为 WECHAT_APPLET
传入标签后进行分发。分发仅需调用公共方法进入即可,即:authService.auth(AuthData) ,其中AuthData 中含步骤3环境关键字,即AuthData包含环境数据。
分发方法会根据 data 中的标签,将功能分发到专属的授权方法中。
@Service(value = "H5")
@Service(value = "ALI")
@Service(value = "ALI_APPLET")
@Service(value = "WECHAT")
@Service(value = "WECHAT_APPLET")
分发完成后,该模式会自动调用 authService.getCode() 进行获取用户信息处理。
步骤5:在步骤4处理不同环境的授权信息完成后,会将用户的基础信息赋值到AuthData中,使得此数据同时携带标签和各环境下的关键信息,再进行授权分发;
步骤6:进行统一返回处理,处理逻辑根据现有不同***的业务制定;
步骤7:因为步骤5处理完成后,AuthData中含标签信息,所以可以将AuthData中的标签信息转移到PayData中,分发操作同步骤4一致,根据标签调用不同类型的支付,调用方法为 payService.pay(PayData)。
分发方法会根据 data 中的标签,将功能分发到专属的支付方法中。
@Service(value = "H5")
@Service(value = "ALI")
@Service(value = "ALI_APPLET")
@Service(value = "WECHAT")
@Service(value = "WECHAT_APPLET")
分发完成后,该模式会自动调用 payService.startPay() 进行支付功能调用处理。
步骤8:在步骤7处理不同环境的支付信息完成后,会将支付结果赋值到PayData中,组成统一的数据返回格式。
步骤9:进入统一返回处理逻辑后,PayData会被封装到MessageBean中,完成数据的统一返回,返回成功后,整体流程结束。
以上实施例仅为本发明的技术方案而非对其限制,应当指出,对于本技术领域的技术人员来说,在不脱离本发明技术原理的前提下,还可以对本发明的具体实施方式进行修改或等同替换,而未脱离本发明精神和范围的任何修改或等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (3)
1.一种兼容多种软件环境授权与支付的方法,适于在计算设备上运行,其特征在于,该方法包括:
步骤1:制定统一的请求接口接收用户发送的http请求;
步骤2:提取步骤1 http请求中的agent信息;
步骤3:将步骤2的agent信息与预先建立的agent信息库进行对照,确定用户所在的软件环境;
步骤4:对http请求打上软件环境标签后调用authService.auth(AuthData)进行环境分发,其中AuthData包含环境数据,再调用 authService.getCode()获取用户信息;
步骤5:将获取的用户信息赋值到AuthData中,此时AuthData同时携带标签和各环境下的关键字信息,再进行授权分发;
步骤6:进行统一返回处理,处理逻辑根据现有不同***的业务制定;
步骤7:将AuthData中的标签信息转移到PayData中,调用payService.pay(PayData)进行支付分发;
步骤8:支付结果赋值到PayData中,形成统一的数据返回格式;
步骤9:进行统一的返回处理,PayData会被封装到MessageBean中。
2.根据权利要求1所述的一种兼容多种软件环境授权与支付的方法,其特征在于,
在步骤4中,
若为微信环境,需要调用微信提供的api,获取相应授权信息;
若为支付宝环境,需要调用支付宝提供的api,获取相应授权信息;
若为APP环境,需要调用APP提供的api,获取相应授权信息。
3.根据权利要求1所述的一种兼容多种软件环境授权与支付的方法,其特征在于,
在步骤7中,
若为微信环境,需要调用微信提供的api,发起相应的支付调用;
若为支付宝环境,需要调用支付宝提供的api,发起相应的支付调用;
若为APP环境,需要调用APP提供的api,发起相应的支付调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210665257.3A CN114756283A (zh) | 2022-06-14 | 2022-06-14 | 一种兼容多种软件环境授权与支付的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210665257.3A CN114756283A (zh) | 2022-06-14 | 2022-06-14 | 一种兼容多种软件环境授权与支付的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114756283A true CN114756283A (zh) | 2022-07-15 |
Family
ID=82336260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210665257.3A Pending CN114756283A (zh) | 2022-06-14 | 2022-06-14 | 一种兼容多种软件环境授权与支付的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114756283A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729768A (zh) * | 2012-10-15 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 一种电子交易信息处理方法和装置 |
CN112153012A (zh) * | 2020-09-01 | 2020-12-29 | 珠海市卓轩科技有限公司 | 多端触点接入方法、装置及存储介质 |
CN112232794A (zh) * | 2020-09-11 | 2021-01-15 | 微民保险代理有限公司 | 支付方法及装置、存储介质、电子设备 |
CN112463515A (zh) * | 2019-09-09 | 2021-03-09 | 北京国双科技有限公司 | 基于小程序的数据采集方法和装置、存储介质及电子设备 |
-
2022
- 2022-06-14 CN CN202210665257.3A patent/CN114756283A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729768A (zh) * | 2012-10-15 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 一种电子交易信息处理方法和装置 |
US20140222666A1 (en) * | 2012-10-15 | 2014-08-07 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for processing electronic transaction information |
CN112463515A (zh) * | 2019-09-09 | 2021-03-09 | 北京国双科技有限公司 | 基于小程序的数据采集方法和装置、存储介质及电子设备 |
CN112153012A (zh) * | 2020-09-01 | 2020-12-29 | 珠海市卓轩科技有限公司 | 多端触点接入方法、装置及存储介质 |
CN112232794A (zh) * | 2020-09-11 | 2021-01-15 | 微民保险代理有限公司 | 支付方法及装置、存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100264535B1 (ko) | 월드와이드웹상에서소프트웨어애플리케이션과컴퓨터간에통신하기위한컴퓨터장치및방법 | |
US20030069943A1 (en) | Method and apparatus for user personalized and adaptive business processing modeling and integration | |
CA3059719C (en) | Payment processing method, device, medium and electronic device | |
CN113726890A (zh) | 面向区块链数据服务的联邦预言方法及*** | |
CN106775668A (zh) | 跨操作***的移动应用程序开发框架及实现方法 | |
CN110221840B (zh) | 应用程序的功能实现方法及装置、设备及存储介质 | |
CN114358921A (zh) | ***切换方法、装置、设备、介质和程序产品 | |
CN111447273B (zh) | 云处理***及基于云处理***的数据处理方法 | |
CN110764769B (zh) | 处理用户请求的方法和装置 | |
CN112860398A (zh) | 基于规则引擎的数据处理方法、装置、设备及介质 | |
CN112817779A (zh) | 组件化应用程序通信方法、装置、设备及介质 | |
CN114756283A (zh) | 一种兼容多种软件环境授权与支付的方法 | |
CN105282150B (zh) | 一种面向Web***的登录助手*** | |
CN116795701A (zh) | 一种接口程序的通用测试实例的生成方法和装置 | |
CN103501326A (zh) | 基于中间件的数据处理方法及*** | |
CN110674173A (zh) | 一种风控云上的数据缓存的方法和*** | |
CN114301970B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN115658305A (zh) | 一种车辆服务激活管理方法、***、电子设备、存储介质 | |
CN112182083A (zh) | 文件生成方法、装置、设备及存储介质 | |
CN111949259A (zh) | 风险决策配置方法、***、电子设备及存储介质 | |
CN111866171A (zh) | 报文处理方法、装置、电子设备和介质 | |
CN112615745B (zh) | 一种通过参数配置为物联网卡平台接入上游的方法及*** | |
CN109669793A (zh) | 中间件进程内对象调用方法 | |
CN112954075B (zh) | 一种业务功能实现方法、***、对应装置及存储介质 | |
CN115421824B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220715 |
|
RJ01 | Rejection of invention patent application after publication |