微信实现APP下单接口(微信支付开发API V3接口调用)
准备工作 :
appid:商户appid
商户证书:商户可登录,在【账户中心】->【API安全】目录下载证书
证书文件名 :apiclient_key.pem
支付证书key:(注意,这里不是下载的那个证书)需要进行一次处理
(网络不好可以通过云盘下载)链接: https://pan.baidu.com/s/1BwJ3DnQ9nBd39L5WPOXj3g?pwd=xqk9 提取码: xqk9 复制这段内容后打开百度网盘手机App,操作更方便哦
下载好后在和他同一目录下执行(为了方便)
$ java -jar CertificateDownloader-1.1.jar -f apiclient_key.pem -k 证书解密密钥 -m 商户号-o 证书输出地址 -s 证书号
开始工作:
引入maven
<dependency> <groupId>com.github.wechatpay-apiv3</groupId> <artifactId>wechatpay-apache-httpclient</artifactId> <version>0.4.7</version> </dependency>
编写代码:
/**
* 获取私钥。
*
* @param filename 私钥文件路径 (required)
* @return 私钥对象
*/
public static PrivateKey getPrivateKey(String filename) throws Exception {
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("无效的密钥格式");
}
}
执行替换好参数执行pay方法即可
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
微信小程序订阅消息推送
