Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BaseWxPayServiceImpl.java中签名方法写死为MD5方式 #888

Closed
alcoholwang opened this issue Dec 20, 2018 · 7 comments
Closed

BaseWxPayServiceImpl.java中签名方法写死为MD5方式 #888

alcoholwang opened this issue Dec 20, 2018 · 7 comments

Comments

@alcoholwang
Copy link

主要有2种形式:

  1. 直接写死MD5方式

例如BaseWxPayServiceImpl.java的357行,生成JSAPI签名时采用MD5。但是如果之前的prepay使用的是HMAC-SHA256的话,会导致微信内支付显示签名错误。

  1. 另外一种是调用SignUtils.createSign方法时,好几处第二个参数signType都传了null,实际最终就等于使用了MD5模式。
@binarywang
Copy link
Member

这确实是个问题,稍后修复统一一下

@alcoholwang
Copy link
Author

😄 👍👍

@binarywang
Copy link
Member

忘了说了,最新3.3.0已修复

comeonc added a commit to comeonc/weixin-java-tools that referenced this issue Jan 2, 2019
…nto wechat-develop

* 'develop' of github.com:Wechat-Group/weixin-java-tools: (67 commits)
  发布3.3.1.B测试版本
  Wechat-Group#900 增加新增团购券、现金抵扣券、折扣券、兑换券以及普通优惠券的接口
  Wechat-Group#899 WxCpXmlMessage增加存放xml消息的所有属性值的allFieldsMap属性
  企业微信部门创建接口create返回值改为long类型
  修改totalFee字段类型为Integer
  update contributor list
  Update demo.md
  Update readme.md
  Upgrade org.dom4j:dom4j to version 2.1.1
  Update readme.md
  更改版本号,准备发布最新正式版
  项目更名
  Update readme.md
  Update readme.md
  Update readme.md
  Wechat-Group#888 修复微信支付部分接口请求中签名方法不统一的问题
  增加些注释
  优化代码
  发布3.2.10.B测试版本
  Wechat-Group#889 修复一些潜在的XXE漏洞代码
  ...
comeonc added a commit to comeonc/weixin-java-tools that referenced this issue Jan 2, 2019
…to wechat-master

* 'master' of github.com:Wechat-Group/weixin-java-tools: (91 commits)
  Update contribution.md
  Update readme.md
  Update readme.md
  update contributor list
  Update demo.md
  Update readme.md
  Upgrade org.dom4j:dom4j to version 2.1.1
  Update readme.md
  更改版本号,准备发布最新正式版
  项目更名
  Update readme.md
  Update readme.md
  Update readme.md
  Wechat-Group#888 修复微信支付部分接口请求中签名方法不统一的问题
  增加些注释
  优化代码
  发布3.2.10.B测试版本
  Wechat-Group#889 修复一些潜在的XXE漏洞代码
  Wechat-Group#783 企业微信模块增加群聊相关接口
  Wechat-Group#884 微信公众号模块增加主体变更迁移用户openid的接口
  ...
@sinfere
Copy link

sinfere commented Nov 28, 2019

JSAPI 还未修复

      case TradeType.JSAPI: {
        String signType = SignType.MD5;
        String appid = unifiedOrderResult.getAppid();
        if (StringUtils.isNotEmpty(unifiedOrderResult.getSubAppId())) {
          appid = unifiedOrderResult.getSubAppId();
        }

        WxPayMpOrderResult payResult = WxPayMpOrderResult.builder()
          .appId(appid)
          .timeStamp(timestamp)
          .nonceStr(nonceStr)
          .packageValue("prepay_id=" + prepayId)
          .signType(signType)
          .build();

        payResult.setPaySign(SignUtils.createSign(payResult, signType, this.getConfig().getMchKey(), null));
        return (T) payResult;
      }

@sinfere
Copy link

sinfere commented Nov 28, 2019

@binarywang 麻烦关注下

@binarywang
Copy link
Member

@binarywang 麻烦关注下

收到,不过最好下次新增issue,可以关联此issue,谢谢

@sinfere
Copy link

sinfere commented Nov 28, 2019

👌好的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants