有风塘主
发布于 2024-10-26 / 52 阅读
0
0

微信支付SDK相关对接说明

微信支付SDK相关对接说明

下载

从安全性考虑,肯定是官方的SDK最具有安全性:
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

SDK代码

改造过的微信java版本SDK代码:
https://pan.baidu.com/disk/home?#/all?vmode=list&path=%2F%E5%B7%A5%E4%BD%9C%E8%B5%84%E6%96%99%2F%E7%AC%AC%E4%B8%89%E6%96%B9%E8%B5%84%E6%96%99%2F%E5%BE%AE%E4%BF%A1%2F%E5%BE%AE%E4%BF%A1%E6%94%AF%E4%BB%98

改造

官方提供的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("&");
}

否则容易出现空字符串错误。


评论