2022-2-7。下载下来的SDK 使用的是生产的商户信息,跑了一下报错 java.lang.NullPointerException at com.github.wxpay.sdk.WXPayRequest.request(WXPayRequest.java:122) at com.github.wxpay.sdk.WXPayRequest.requestWithoutCert(WXPayRequest.java:232) at com.github.wxpay.sdk.WXPay.requestWithoutCert(WXPay.java:158) at com.github.wxpay.sdk.WXPay.unifiedOrder(WXPay.java:364) at com.github.wxpay.sdk.WXPay.unifiedOrder(WXPay.java:340) at com.github.wxpay.sdk.Test.main(Test.java:30) Disconnected from the target VM, address: '127.0.0.1:52995', transport: 'socket'
微信支付Java SDK3.0.9 bug问题:sdk非沙盒环境所有的签名方式都是HMACSHA256,沙盒环境为MD5 描述:在调用官方sdk(java 3.0.9)提供的统一下单api ( unifiedOrder )时,返回签名报错,跟踪了一下代码,发现是官方sdk使用的签名方式错了,在Java sdk 中,只有配置在沙盒模式,才会使用MD5签名,所以如果生产环境则会报错。在微信支付文档中统一下单api签名方式要求为MD5 (文档地址:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3) 具体错误:com.github.wxpay.sdk.WXPay 这里如果配置了沙箱环境,则签名方式为MD5 [图片] 由于未使用上面的沙箱画家,所以在下面签名时使用了SHA256,导致签名错误 [图片] 统一下单方法会调用上面的fillRequestData方法 [图片] 以上, 请官方跟新 ps:官方Java sdk的使用文档太…也应该更新了,比如3.0.9中是没有以下文档中提到的两个方法的,如下图所示 [图片]
2022-02-07