微信实现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.页面制作
下一篇:
微信小程序订阅消息推送