小程序
小游戏
企业微信
微信支付
扫描小程序码分享
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这个问题解决了,我把我现在遇到的小程序支付方面的坑说一下。一是API私钥证书文件一定要是下载的,最好是直接加载私钥证书文件路径,不要手动复制字符串的,这样可能格式会出问题;二是证书序列号是API私钥证书对应的证书序列号,每个私钥证书都有一个唯一对应的证书序列号,不是平台序列号,不要搞错了。三是加载私钥文件的那一步,用下面的这个方法。当然了,API Maven依赖包不要忘了加载,我一开始还下载不下来jar包。图片及代码如下:
/** * 获取私钥。 * * @param filename 私钥文件路径 (required) * @return 私钥对象 */ public static PrivateKey getPrivateKey(String filename) throws IOException { String content = new String(Files.readAllBytes(Paths.get(filename)), "utf-8"); try { String privateKey = content.replace("-----BEGIN PRIVATE KEY-----", "") .replace("-----END PRIVATE KEY-----", "") .replaceAll("\\s+", ""); KeyFactory kf = KeyFactory.getInstance("RSA"); return kf.generatePrivate( new PKCS8EncodedKeySpec(Base64.getDecoder().decode(privateKey))); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("当前Java环境不支持RSA", e); } catch (InvalidKeySpecException e) { throw new RuntimeException("无效的密钥格式"); } } <dependency> <groupId>com.github.wechatpay-apiv3</groupId> <artifactId>wechatpay-java</artifactId> <version>0.2.12</version> </dependency>
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
商户私钥是你自己配置证书的时候那个
这里有提供sdkhttps://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay6_0.shtml
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这个问题解决了,我把我现在遇到的小程序支付方面的坑说一下。一是API私钥证书文件一定要是下载的,最好是直接加载私钥证书文件路径,不要手动复制字符串的,这样可能格式会出问题;二是证书序列号是API私钥证书对应的证书序列号,每个私钥证书都有一个唯一对应的证书序列号,不是平台序列号,不要搞错了。三是加载私钥文件的那一步,用下面的这个方法。当然了,API Maven依赖包不要忘了加载,我一开始还下载不下来jar包。图片及代码如下:
/** * 获取私钥。 * * @param filename 私钥文件路径 (required) * @return 私钥对象 */ public static PrivateKey getPrivateKey(String filename) throws IOException { String content = new String(Files.readAllBytes(Paths.get(filename)), "utf-8"); try { String privateKey = content.replace("-----BEGIN PRIVATE KEY-----", "") .replace("-----END PRIVATE KEY-----", "") .replaceAll("\\s+", ""); KeyFactory kf = KeyFactory.getInstance("RSA"); return kf.generatePrivate( new PKCS8EncodedKeySpec(Base64.getDecoder().decode(privateKey))); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("当前Java环境不支持RSA", e); } catch (InvalidKeySpecException e) { throw new RuntimeException("无效的密钥格式"); } } <dependency> <groupId>com.github.wechatpay-apiv3</groupId> <artifactId>wechatpay-java</artifactId> <version>0.2.12</version> </dependency>
商户私钥是你自己配置证书的时候那个
这里有提供sdkhttps://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay6_0.shtml