微信支付SDK相关对接说明
下载
从安全性考虑,肯定是官方的SDK最具有安全性:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
SDK代码
改造
官方提供的SDK包,虽然安全性比较可信,但是代码质量不敢恭维,其中存在不少错误的地方, 下载后无法直接使用,需要进行一些改造。
以下以官方的java版本SDK为例
-
WXPayConfig,配置类。
该配置类中为一个abstract class
,将类中所有abstract
的方法全部加上public
,因为package-private
级别的方法,包外无法实现。 -
WXPayUtil,工具类: 代码优化
206行修改为:
// 参数值为空,则不参与签名
if (data.get(k).trim().length() > 0) {
String v = data.get(k);
if (null == v) {
throw new Exception("Invalid null param: " + k);
}
sb.append(k).append("=").append(v.trim()).append("&");
}
否则容易出现空字符串错误。