首页 / 一种多支付平台统一接入配置方法、装置、设备及介质

一种多支付平台统一接入配置方法、装置、设备及介质实质审查 发明

技术领域

[0001] 本发明涉及互联网技术领域,尤其是涉及一种多支付平台统一接入配置方法、装置、设备及介质。

相关背景技术

[0002] 在现代企业应用开发过程中,支付功能的集成已成为不可或缺的一部分。不同的企业应用,如电子商务平台、会员管理系统、服务预约系统等,都需要接入各类支付平台以实现在线支付、会员充值、费用结算等功能。然而,不同应用在接入支付平台时面临着诸多挑战。
[0003] 首先,随着企业内部需要接入支付功能的项目逐渐增多,每个项目由于其服务器配置及所需接入的支付平台各不相同,导致各项目在接入支付平台时需进行大量的定制开发和配置工作。这不仅耗时耗力,还容易导致开发资源的浪费。同时,由于缺乏统一的支付接入标准,不同项目独立开发的支付模块在维护和管理上也存在较大困难。例如,不同项目之间的支付接口可能会因支付平台的版本升级或变更而需要分别进行调整和测试,这进一步增加了系统维护的复杂性和成本。
[0004] 其次,由于各支付平台的接口规范和安全要求各异,开发人员需要深入了解各个平台的技术文档和接入流程,才能确保支付功能的正确实现和数据安全性。这不仅增加了开发周期,还对开发团队的技术能力提出了更高的要求。

具体实施方式

[0026] 下文中将参考附图并结合实施例来详细说明本发明的具体实施方式。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0027] 本发明实施例提供的多支付平台统一接入配置方法,可应用于如图1的系统架构中,用户通过接口请求访问后端服务,通过路由处理调用特定的支付方法(创建订单获取支付地址,例如'uses'=>'PayController@trade';查询订单支付状态,例如'uses'=>'PayController@query';支付回调订单验证,例如'uses'=>'PayController@notify')同时根据接口请求中携带的支付参数生成支付类的实例(动态通过平台标识+方法标识定位具体的支付类,每个支付平台下的不同支付方法对应不同的支付类,例如以微信支付在PHP工程中的类定义为例,在微信平台对应的文件夹不同文件对应不同的支付方式中,AbstractPay.php:基类文件,sdk初始化,查询订单状态query,异步通知notify都在这里面实现;JsApi.php是微信的一种支付方式,主要用在小程序跟微信内公众号支付;Mweb.php用户外部浏览器拉起微信客户端;Native.php用于PC端生成支付二维码;ProfitSharing.php是微信服务商特有功能,用于分账发起及分账状态查询),通过支付统一接入处理模块,调用与支付平台id对应的支付方法;支付之前,需要对不同平台的支付方式进行参数配置并将配置信息保存于数据库中,配置支付平台、支付方式、appid对应不同用户、参数配置对应不同用户的支付加密参数,例如支付宝的支付参数为{"appid":"应用appId"},微信的支付参数为{"appid":"应用appId","mchid":"商户ID","apiv3_key":"APIv3密钥","certificate_serial":"商户API证书的证书序列号"},这些支付参数需要人工配置或通过支付平台的后台接口调用获取,在此不做具体限定。图1中的后端服务实现了本发明实施例中提供的一种多支付平台统一接入配置方法,通过定义动态配置类,动态配置类根据不同配置标识,获取对应的平台配置信息、支付平台名称和平台支付方法,并生成与支付平台名称、平台支付方法对应的支付方式类实例,通过控制器获取支付请求中携带的配置标识,并根据配置标识生成支付方式类实例,通过控制器获取支付请求对应的支付方法,根据支付方式类实例及支付请求的请求路由,调用支付类中对应的方法,以完成支付操作。实现了多平台的统一支付方式,提高支付功能接入的效率。
[0028] 下面通过具体的实施例对本发明进行详细描述。
[0029] 如图2所示,为本发明实施例中提供的一种多支付平台统一接入配置方法,包括:
[0030] 步骤201、定义动态配置类;
[0031] 其中,步骤201具体包括:
[0032] 步骤201‑1、根据配置标识,从配置文件或数据库中获取支付配置参数;
[0033] 其中,配置标识与平台配置信息、支付平台名称和平台支付参数映射存储,其中,平台配置信息和支付参数对应不同用户的接入服务设置。
[0034] 步骤201‑2、从支付配置参数中获取支付平台名称;
[0035] 步骤201‑3、从支付配置参数中获取平台支付方法;
[0036] 步骤201‑4、根据支付平台和平台支付方法,动态创建与支付平台名称、平台支付方法对应的支付方式类实例。
[0037] 其中,支付方式类实例对应的支付方式类继承自抽象支付基类,并将订单获取支付地址方法作为子类方法,抽象支付基类中包括获取支付请求对象方法、查询订单支付状态方法和支付回调验证方法,不同支付平台共用抽象支付基类,不同支付方式对应的不同支付方式类分别继承自抽象支付基类,并生成不同支付方式对应的独立程序文件,例如以微信支付在PHP工程中的类定义为例,在微信平台对应的文件夹不同文件对应不同的支付方式中,AbstractPay.php:基类文件,sdk初始化,查询订单状态query,异步通知notify都在这里面实现;JsApi.php是微信的一种支付方式,主要用在小程序跟微信内公众号支付;Mweb.php用户外部浏览器拉起微信客户端;Native.php用于PC端生成支付二维码;
ProfitSharing.php是微信服务商特有功能,用于分账发起及分账状态查询。
[0038] 步骤202、动态配置类根据不同配置标识,获取对应的平台配置信息、支付平台名称和平台支付方法,并生成与支付平台名称、平台支付方法对应的支付方式类实例;
[0039] 其中,支付方式类实例包括支付平台及支付方式,平台配置信息包括商品标识;
[0040] 步骤203、通过控制器获取支付请求中携带的配置标识,并根据配置标识生成支付方式类实例;
[0041] 步骤204、通过控制器获取支付请求对应的支付方法;
[0042] 其中,支付方法包括创建订单获取支付地址方法、查询订单支付状态方法和支付回调验证方法;
[0043] 步骤205、根据支付方式类实例及支付请求的请求路由,调用支付类中对应的方法,以完成支付操作。
[0044] 其中,支付操作包括创建订单获取支付地址、查询订单支付状态和支付回调订单验证。
[0045] 步骤205具体包括:
[0046] 步骤205‑1、根据支付请求的请求路由,查询支付类中对应的方法;
[0047] 步骤205‑2、调用支付类中对应的方法,完成支付操作。
[0048] 电子商务平台的支付接入提供多种不同的支付方式为例说明,如支付宝、微信支付、银行卡支付等。为了实现可以使用本发明实施例的方法来封装不同支付方式的创建过程,如下:
[0049] 定义支付接口Payment,并提供了不同的实现类Alipay和Wechatpay。创建一个动态配置类PaymentFactory,其中提供了一个静态方法createPayment,用于创建不同的支付方式。在客户端代码中,只需要通过动态配置类PaymentFactory来获取不同的支付方式,从而实现了对象的创建和使用分离。将对象的创建过程封装到动态配置类中,避免了客户端直接依赖具体的产品类,从而提高了代码的可维护性和可扩展性。
[0050] 本发明实施例一提供的一种多支付平台统一接入配置方法,通过定义动态配置类,动态配置类根据不同配置标识,获取对应的平台配置信息、支付平台名称和平台支付方法,并生成与支付平台名称、平台支付方法对应的支付方式类实例,通过控制器获取支付请求中携带的配置标识,并根据配置标识生成支付方式类实例,通过控制器获取支付请求对应的支付方法,根据支付方式类实例及支付请求的请求路由,调用支付类中对应的方法,以完成支付操作。实现了多平台的统一支付方式,提高支付功能接入的效率。
[0051] 进一步地,作为图2方法的具体实现,本发明实施例中提供了一种多支付平台统一接入配置装置,如图3所示,该装置包括:
[0052] 初始化模块310,用于定义动态配置类;
[0053] 实例生成模块320,用于通过动态配置类根据不同配置标识,获取对应的平台配置信息、支付平台名称和平台支付方法,并生成与支付平台名称、平台支付方法对应的支付方式类实例,其中,支付方式类实例包括支付平台及支付方式,平台配置信息包括商品标识;
[0054] 配置获取模块330,用于通过控制器获取支付请求中携带的配置标识,并根据配置标识生成支付方式类实例;
[0055] 方法获取模块340,用于通过控制器获取支付请求对应的支付方法,其中,支付方法包括创建订单获取支付地址方法、查询订单支付状态方法和支付回调验证方法;
[0056] 支付处理模块350,用于根据支付方式类实例及支付请求的请求路由,调用支付类中对应的方法,以完成支付操作,其中,支付操作包括创建订单获取支付地址、查询订单支付状态和支付回调订单验证。
[0057] 本发明实施例中提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现多支付平台统一接入配置方法的步骤,包括:
[0058] 定义动态配置类;
[0059] 动态配置类根据不同配置标识,获取对应的平台配置信息、支付平台名称和平台支付方法,并生成与支付平台名称、平台支付方法对应的支付方式类实例,其中,支付方式类实例包括支付平台及支付方式,平台配置信息包括商品标识;
[0060] 通过控制器获取支付请求中携带的配置标识,并根据配置标识生成支付方式类实例;
[0061] 通过控制器获取支付请求对应的支付方法,其中,支付方法包括创建订单获取支付地址方法、查询订单支付状态方法和支付回调验证方法;
[0062] 根据支付方式类实例及支付请求的请求路由,调用支付类中对应的方法,以完成支付操作,其中,支付操作包括创建订单获取支付地址、查询订单支付状态和支付回调订单验证。
[0063] 本发明实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0064] 定义动态配置类;
[0065] 动态配置类根据不同配置标识,获取对应的平台配置信息、支付平台名称和平台支付方法,并生成与支付平台名称、平台支付方法对应的支付方式类实例,其中,支付方式类实例包括支付平台及支付方式,平台配置信息包括商品标识;
[0066] 通过控制器获取支付请求中携带的配置标识,并根据配置标识生成支付方式类实例;
[0067] 通过控制器获取支付请求对应的支付方法,其中,支付方法包括创建订单获取支付地址方法、查询订单支付状态方法和支付回调验证方法;
[0068] 根据支付方式类实例及支付请求的请求路由,调用支付类中对应的方法,以完成支付操作,其中,支付操作包括创建订单获取支付地址、查询订单支付状态和支付回调订单验证。
[0069] 需要说明的是,上述实施例中仅以微信支付进行说明,其它类似支付方式的接入方法类似,在此不再赘述,关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例,为避免重复,这里不再一一描述。
[0070] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0071] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0072] 以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页 第1页 第2页 第3页