From fccdb9c8edeac721098bc2a646f8fe88aa3a1507 Mon Sep 17 00:00:00 2001
From: Cool <747682928@qq.com>
Date: Wed, 4 Sep 2024 22:24:50 +0800
Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=8A=9F=E8=83=BD=EF=BC=88?=
=?UTF-8?q?=E6=9C=AA=E5=AE=9E=E7=8E=B0=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wxappserver/config/MyWxPayConfig.java | 6 ++--
.../controller/TestController.java | 26 ++++++++++--------
src/main/resources/application.yml | 5 ++--
.../resources/template/apiclient_cert.p12 | Bin 0 -> 2782 bytes
4 files changed, 21 insertions(+), 16 deletions(-)
create mode 100644 src/main/resources/template/apiclient_cert.p12
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 0000000000000000000000000000000000000000..b5f65f10f36107c525a3b5998417097b634f895c
GIT binary patch
literal 2782
zcmY+^cRU-476ZMACe71U~KkD9%u6sbL`t)ddMw%U}`rZ!b2
zMywXsj2hQYjpu$o@4frpALnyE=XcKM{P{&
v#}5W5(_?|0{-3h|JeYMSE-@@{y-0;MlyhDYfzd_<0Ua(R8+Kp
zP%OCj&Tt+H{C?T{yz)zZ!6St~I@MfX_=}FA`