我吸收了廖师兄的精华之后,根据我的项目搞了个支付宝h5手机支付
因为是 支付宝公钥证书校验,与廖老师的 不同,所以使用异步校验回调API上也不同
// todo 返回的参数不要使用 师兄的 MapUtil.form2Map() 进行转换,
// todo 因为支付宝传入sign 参数 最后的两个字符竟然是 == 的字符…廖师兄的方法我看了源码还没有兼容这个处理
亲测代码:
Map<String, String[]> parameters = req.getParameterMap();
Map<String, String> parameterMap = new HashMap<>();
for (Object v : parameters.entrySet()) {
Map.Entry<String, String[]> item = (Map.Entry<String, String[]>) v;
parameterMap.put(item.getKey(), item.getValue()[0]);
}
AlipaySignature.rsaCertCheckV1(parameterMap, “支付宝公钥证书本地地址”, “utf-8”,“RSA2”)
// todo AlipaySignature.rsaCertCheckV1(parameterMap, “支付宝公钥证书本地地址”, “utf-8”)
// todo 官方文档是 没有"RSA2"参数的 但是默认的 是 RSA解密 所以又被支付宝坑了一下,同学们注意