diff --git a/src/main/java/com/bigdata/wxappserver/config/MyWxPayConfig.java b/src/main/java/com/bigdata/wxappserver/config/MyWxPayConfig.java index e7ee012..5009672 100644 --- a/src/main/java/com/bigdata/wxappserver/config/MyWxPayConfig.java +++ b/src/main/java/com/bigdata/wxappserver/config/MyWxPayConfig.java @@ -33,8 +33,10 @@ public class MyWxPayConfig { payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId())); payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId())); payConfig.setMchKey(StringUtils.trimToNull(this.properties.getSecret())); - payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getPrivateKeyFilePath())); - + payConfig.setApiV3Key(StringUtils.trimToNull(this.properties.getApiV3Key())); + payConfig.setPrivateKeyPath(StringUtils.trimToNull(this.properties.getPrivateKeyFilePath())); + payConfig.setPrivateCertPath(StringUtils.trimToNull(this.properties.getWeChatPayCertFilePath())); + // payConfig.setPrivateKeyPath(); // 可以指定是否使用沙箱环境 payConfig.setUseSandboxEnv(false); diff --git a/src/main/java/com/bigdata/wxappserver/controller/TestController.java b/src/main/java/com/bigdata/wxappserver/controller/TestController.java index 02ddb88..e0c1218 100644 --- a/src/main/java/com/bigdata/wxappserver/controller/TestController.java +++ b/src/main/java/com/bigdata/wxappserver/controller/TestController.java @@ -1,8 +1,9 @@ package com.bigdata.wxappserver.controller; import com.bigdata.wxappserver.result.Result; -import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; +import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderV3Request; import com.github.binarywang.wxpay.bean.result.WxPayOrderQueryResult; +import com.github.binarywang.wxpay.bean.result.enums.TradeTypeEnum; import com.github.binarywang.wxpay.service.WxPayService; import lombok.extern.slf4j.Slf4j; @@ -29,17 +30,20 @@ public class TestController { @PostMapping("/unifiedOrder") public Result unifiedOrder() throws Exception { String orderCode = UUID.randomUUID().toString().replace("-", ""); - WxPayUnifiedOrderRequest wxPayUnifiedOrderRequest = new WxPayUnifiedOrderRequest(); - wxPayUnifiedOrderRequest.setBody("测试"); - wxPayUnifiedOrderRequest.setNotifyUrl("payCallBack"); - wxPayUnifiedOrderRequest.setOutTradeNo(orderCode); - wxPayUnifiedOrderRequest.setOpenid(UUID.randomUUID().toString().replace("-", "")); - wxPayUnifiedOrderRequest.setSpbillCreateIp("127.0.0.1"); - wxPayUnifiedOrderRequest.setSignType("MD5"); - wxPayUnifiedOrderRequest.setTotalFee(50); - wxPayUnifiedOrderRequest.setTradeType("JSAPI"); + WxPayUnifiedOrderV3Request wxPayUnifiedOrderRequest = new WxPayUnifiedOrderV3Request(); - return Result.success(wxService.unifiedOrder(wxPayUnifiedOrderRequest)); + wxPayUnifiedOrderRequest.setDescription("商品描述"); + wxPayUnifiedOrderRequest.setOutTradeNo(orderCode); + wxPayUnifiedOrderRequest.setNotifyUrl("https://49.233.248.140:8082/order/loadData"); + + WxPayUnifiedOrderV3Request.Amount amount = new WxPayUnifiedOrderV3Request.Amount(); + amount.setTotal(100); // 订单总金额,单位为分 + wxPayUnifiedOrderRequest.setAmount(amount); + WxPayUnifiedOrderV3Request.Payer payer = new WxPayUnifiedOrderV3Request.Payer(); + payer.setOpenid(UUID.randomUUID().toString().replace("-", "")); // 需要获取用户的OpenID + wxPayUnifiedOrderRequest.setPayer(payer); + wxService.createOrderV3(TradeTypeEnum.JSAPI, wxPayUnifiedOrderRequest); + return Result.success(); } @PostMapping("/queryOrder") diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ab07ec3..225351a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -19,10 +19,9 @@ dx: appId: wx865aefa5a7115ae0 secret: df0817d59696a6160de2770222d8ec53 mchId: 1684540409 - mchSerialNo: 250414966CEADA52CF0A989445FB3190C5A82F40 - privateKeyFilePath: classpath:template/bddf2dc508484b6bb086fe748e813260.pem + mchSerialNo: 1E860B81D50719F1AA6AB92F00033A222F81C72C + privateKeyFilePath: classpath:template/wechatpay_429733475DFDCEBE2A6135485F984EE337297F4F.pem apiV3Key: d5a58d44588b42cbbe01daa5cfa4e792 - #未填写及以下 weChatPayCertFilePath: classpath:template/wechatpay_429733475DFDCEBE2A6135485F984EE337297F4F.pem notifyUrl: https://www.weixin.qq.com/wxpay/pay.php refundNotifyUrl: https://www.weixin.qq.com/wxpay/pay.php diff --git a/src/main/resources/template/apiclient_cert.p12 b/src/main/resources/template/apiclient_cert.p12 new file mode 100644 index 0000000..b5f65f1 Binary files /dev/null and b/src/main/resources/template/apiclient_cert.p12 differ