WxJava
WxJava copied to clipboard
[微信支付] 支持将原有的平台证书验签方式灰度到公私钥模式
简要描述
对于2024-10月以前开通的微信支付商户来说, 将平台证书验签的方式切换到公私钥模式时 需要进行灰度. 目前已经实现了公私钥验签功能(PR: #3425 ).
微信支持的灰度方案
- 如上文描述回调的灰度切换进度由微信支付自动控制,在7天左右完成;
- 请求应答的切换进度由商户通过http的Wechatpay-Serial来控制
- 若你的系统出现故障,可以点击“停止更换”,停止后将全部切换回平台证书,请谨慎操作
能力
需要通过一个配置项实现灰度的策略. 这个配置项需要具有以下的能力:
- 在初始化时通过开关自由配置
- 可配置灰度比例 (避免在单节点的服务直接切流)
- 灰度可降级 (在商户
点击“停止更换”时, 避免由于验签方式切换为平台证书导致失败)
官方文档地址
在初始化时通过开关自由配置 可配置灰度比例 (避免在单节点的服务直接切流) 灰度可降级 (在商户 点击“停止更换”时, 避免由于验签方式切换为平台证书导致失败)
第一点可实现 第二点鉴于微信的机制, 开启了灰度切换后如果serial请求头不传或值有误则使用原有的平台证书 第三点应该在业务层做处理, 并不应该放到工具层中
@[zhanyan-Ader1y] 你真是个sha狗,在3451里说3454给出解决方案,在3454里面又说弄个业务配置,HttpPost实体是在com.github.binarywang.wxpay.service.impl.WxPayServiceApacheHttpImpl#postV3(java.lang.String, java.lang.String)内部创建的,你特么不给业务传入http-header的入口,试问怎么传入??按理github人素质应该都可以,但是看到你这么3451与3454踢皮球的行为我真是受不了。get out出去吧,这么优秀的开源项目你不配加入!!!
楼上的请注意文明交流,理性发言。
@[zhanyan-Ader1y] 你真是个sha狗,在3451里说3454给出解决方案,在3454里面又说弄个业务配置,HttpPost实体是在com.github.binarywang.wxpay.service.impl.WxPayServiceApacheHttpImpl#postV3(java.lang.String, java.lang.String)内部创建的,你特么不给业务传入http-header的入口,试问怎么传入??按理github人素质应该都可以,但是看到你这么3451与3454踢皮球的行为我真是受不了。get out出去吧,这么优秀的开源项目你不配加入!!!
你有想法可以自己提PR, 不用在这里发癫. 你不理解我上文中的业务配置是什么也不怪你, 估计都没怎么看Issue内容