官网API
微信支付-开发者文档
1. 创建支付
<!--微信支付-->
<dependency>
<groupId>com.github.wechatpay-apiv3</groupId>
<artifactId>wechatpay-java</artifactId>
<version>0.2.11</version>
</dependency>
/**
* 获取5分钟后超时时间
* @return
*/
public static String getTimeExpire() {
// 当前时间
LocalDateTime now = LocalDateTime.now();
// 5分钟前的时间
LocalDateTime fifteenMinutesAgo = now.plusMinutes(5);
// 获取时区信息(以北京时间为例)
ZoneId zoneId = ZoneId.of("Asia/Shanghai"); // 东八区时区
// 将LocalDateTime转换为ZonedDateTime
ZonedDateTime zonedDateTime = fifteenMinutesAgo.atZone(zoneId);
// 创建一个符合RFC 3339的DateTimeFormatter
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX");
// 格式化日期时间
String formattedDateTime = zonedDateTime.format(formatter);
return formattedDateTime;
}
/**
* Native支付下单,获取支付地址
* @return 微信支付二维码 base64图片
*/
public static String nativePay(String title, String orderId, Integer totalMoney){
// 使用自动更新平台证书的RSA配置
Config config =
new RSAAutoCertificateConfig.Builder()
.merchantId("1xxxxxxxx1") // 商户号,10位数字
.privateKeyFromPath("D:\\AH\\apiclient_key.pem") // API证书地址(此处的路径自己调试一下,能找到就行)
.merchantSerialNumber("2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3") // API证书序列号
.apiV3Key("_xxxxxxxxxxxxxxxx__") // API密匙
.build();