技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种第三方支付接口密钥管理的方法及系统与流程  >  正文

一种第三方支付接口密钥管理的方法及系统与流程

  • 国知局
  • 2024-07-31 23:26:01

本发明涉及支付管理,特别是一种第三方支付接口密钥管理的方法及系统。

背景技术:

1、应用系统接入第三方支付渠道需要使用第三方分配的密钥对充值通知进行签名验证,以验证充值的合法性。在研发阶段,开发人员需要使用密钥进行调试和测试,以验证功能可用。然而,在项目上线后,开发人员可能会滥用密钥伪造充值通知,导致虚假支付实际发生,并最终导致公司损失。目前,常见的解决方案包括在项目调试完毕上线后更换新密钥、设置充值通知ip白名单、使用第三方渠道订单状态查询等。然而,这些措施都存在一定限制,例如,在二期开发中可能需要再次使用密钥进行调试,而更换新密钥可能导致线上系统异常;充值通知ip白名单可能导致渠道新增新ip时系统误拦截;此外,并非所有渠道都提供订单查询接口,限制了解决方案的适用范围。所以需要一种开发人员在可以不知道明文密钥的情况下对接口进行开发调试。

2、应用系统是泛指需要使用密钥的这类应用。例如支付系统需要使用第三方渠道的支付密钥,那他就被称为应用系统。

技术实现思路

1、为克服上述问题,本发明的目的是提供一种第三方支付接口密钥管理的方法,保证了密钥的隐蔽性。

2、本发明采用以下方案实现:一种第三方支付接口密钥管理的方法,所述方法包括如下步骤:

3、步骤1、密钥管理员输入密钥别名name,并填写密钥后保存;以别名name为键,密钥为值存储到redis缓存中;

4、步骤2、开发人员在应用系统上组织签名前的明文字符串text,并将text、密钥别名name、第三方渠道下单接口地址url、签名算法type以及签名参数名signname都放入http请求头,然后请求代理转发系统下单;

5、步骤3、代理转发系统接收到下单请求后,通过密钥别名name从redis缓存中获取密钥,并将其拼接到text后,得到完整的签名前字符串;根据签名算法对签名前字符串进行签名得到签名值sign1;

6、步骤4、将“&”加上签名值sign1拼接到第三方渠道请求接口地址url尾部,发送该请求,将得到的返回结果返回给应用系统;

7、步骤5、应用系统收到第三方渠道方的付款通知后,根据第三方渠道协定的付款通知签名规则组织签名前的明文字符串text,并将text、密钥别名name以及签名算法都放入http请求头,然后请求代理转发系统进行验证;

8、步骤6、代理转发系统收到验证请求后,按照步骤3方式计算得签名值sign2,然后返回应用系统;

9、步骤7、应用系统用代理转发系统计算的签名值sign2和收到第三渠道方付款通知中的签名值sign1进行比对,如果不一致则返回第三渠道方付款失败,如果一致则返回第三渠道方付款成功。

10、进一步的,所述签名算法采用md5算法进行处理。

11、进一步的,所述步骤4中发送该请求后,原封不动将返回结果返回给应用系统,应用系统根据第三方渠道下单接口的返回结果能判定是否调用成功,并将支付地址pay_url返回给用户进行支付。

12、进一步的,所述步骤5中签名规则是每个第三方接口都对应协定的签名规则,该签名规则是用于校验请求是否合法;应用系统根据第三方渠道的签名规则进行组织签名前的字符串,然后发送给请求代理转发系统进行验证。

13、本发明提供了一种第三方支付接口密钥管理的系统,所述系统包括:别名输入模块、请求头数据生成模块、签名处理模块、请求数据生成模块、验证模块、签名值获取模块、对比模块;

14、所述别名输入模块,密钥管理员输入密钥别名name,并填写密钥后保存;以别名name为键,密钥为值存储到redis缓存中;

15、所述请求头数据生成模块,通过开发人员在应用系统上组织签名前的明文字符串text,并将text、密钥别名name、第三方渠道下单接口地址url、签名算法type以及签名参数名signname都放入http请求头,然后请求代理转发系统下单;

16、所述签名处理模块,在代理转发系统接收到下单请求后,通过密钥别名name从redis缓存中获取密钥,并将其拼接到text后,得到完整的签名前字符串;根据签名算法对签名前字符串进行签名得到签名值sign1;

17、所述请求数据生成模块,将“&”加上签名值sign1拼接到第三方渠道请求接口地址url尾部,发送该请求,将得到的返回结果返回给应用系统;

18、所述验证模块,通过应用系统收到第三方渠道方的付款通知后,根据第三方渠道协定的付款通知签名规则组织签名前的明文字符串text,并将text、密钥别名name以及签名算法都放入http请求头,然后请求代理转发系统进行验证;

19、所述签名值获取模块,通过代理转发系统收到验证请求后,按照签名处理模块方式计算得签名值sign2,然后返回应用系统;

20、所述对比模块,通过应用系统用代理转发系统计算的签名值sign2和收到第三渠道方付款通知中的签名值sign1进行比对,如果不一致则返回第三渠道方付款失败,如果一致则返回第三渠道方付款成功。

21、进一步的,所述签名算法采用md5算法进行处理。

22、进一步的,所述请求数据生成模块中发送该请求后,原封不动将返回结果返回给应用系统,应用系统根据第三方渠道下单接口的返回结果能判定是否调用成功,并将支付地址pay_url返回给用户进行支付。

23、进一步的,所述验证模块中签名规则是每个第三方接口都对应协定的签名规则,该签名规则是用于校验请求是否合法;应用系统根据第三方渠道的签名规则进行组织签名前的字符串,然后发送给请求代理转发系统进行验证。

24、本发明的有益效果在于:在应用系统上组织签名前的明文字符串text,并将text、密钥别名name、第三方渠道下单接口地址url、签名算法type以及签名参数名signname都放入http请求头,然后请求代理转发系统下单;通过密钥别名name从redis缓存中获取密钥,并将其拼接到text后,得到完整的签名前字符串;根据签名算法对签名前字符串进行签名得到签名值sign1,应用系统用代理转发系统计算的签名值sign2和收到第三渠道方付款通知中的签名值sign1进行比对,这样能够使得开发人员在不知道第三方接口明文密钥的情况下对第三方渠道进行开发调试;保证了密钥的隐蔽性。

技术特征:

1.一种第三方支付接口密钥管理的方法,其特征在于:所述方法包括如下步骤:

2.根据权利要求1所述的一种第三方支付接口密钥管理的方法,其特征在于:所述签名算法采用md5算法进行处理。

3.根据权利要求1所述的一种第三方支付接口密钥管理的方法,其特征在于:所述步骤4中发送该请求后,原封不动将返回结果返回给应用系统,应用系统根据第三方渠道下单接口的返回结果能判定是否调用成功,并将支付地址pay_url返回给用户进行支付。

4.根据权利要求1所述的一种第三方支付接口密钥管理的方法,其特征在于:所述步骤5中签名规则是每个第三方接口都对应协定的签名规则,该签名规则是用于校验请求是否合法;应用系统根据第三方渠道的签名规则进行组织签名前的字符串,然后发送给请求代理转发系统进行验证。

5.一种第三方支付接口密钥管理的系统,其特征在于:所述系统包括:别名输入模块、请求头数据生成模块、签名处理模块、请求数据生成模块、验证模块、签名值获取模块、对比模块;

6.根据权利要求5所述的一种第三方支付接口密钥管理的系统,其特征在于:所述签名算法采用md5算法进行处理。

7.根据权利要求5所述的一种第三方支付接口密钥管理的系统,其特征在于:所述请求数据生成模块中发送该请求后,原封不动将返回结果返回给应用系统,应用系统根据第三方渠道下单接口的返回结果能判定是否调用成功,并将支付地址pay_url返回给用户进行支付。

8.根据权利要求5所述的一种第三方支付接口密钥管理的系统,其特征在于:所述验证模块中签名规则是每个第三方接口都对应协定的签名规则,该签名规则是用于校验请求是否合法;应用系统根据第三方渠道的签名规则进行组织签名前的字符串,然后发送给请求代理转发系统进行验证。

技术总结本发明提供了一种第三方支付接口密钥管理的方法及系统,该方法为1、以别名name为键,密钥为值存储到Redis缓存中;2、在应用系统上组织签名前的明文字符串text,3、代理转发系统接收到下单请求后,根据签名算法对签名前字符串进行签名得到签名值sign1;4、将“&”加上签名值sign1拼接到第三方渠道请求接口地址url尾部,5、请求代理转发系统进行验证;6、按照步骤3方式计算得签名值sign2,然后返回应用系统;7、应用系统用代理转发系统计算的签名值sign2和收到第三渠道方付款通知中的签名值sign1进行比对,保证了密钥的隐蔽性。技术研发人员:刘德建,叶伟,李佳受保护的技术使用者:福建天晴数码有限公司技术研发日:技术公布日:2024/7/29

本文地址:https://www.jishuxx.com/zhuanli/20240730/197540.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。