This commit is contained in:
77
2024-04-05 14:19:37 +08:00
parent 65e2b931d7
commit eff64b6e34

View File

@@ -75,7 +75,7 @@ public class PayController {
.notify_url(payConfig.getNotifyUrl()+NOTIFY_WX_URL) .notify_url(payConfig.getNotifyUrl()+NOTIFY_WX_URL)
.trade_type(TradeType.APP.getTradeType()) .trade_type(TradeType.APP.getTradeType())
.build() .build()
.createSign(payConfig.getWxKey(), SignType.HMACSHA256); .createSign(payConfig.getWxKey(), SignType.MD5);
String xmlResult = WxPayApi.pushOrder(false, params); String xmlResult = WxPayApi.pushOrder(false, params);
log.info(xmlResult); log.info(xmlResult);
Map<String, String> result = WxPayKit.xmlToMap(xmlResult); Map<String, String> result = WxPayKit.xmlToMap(xmlResult);
@@ -92,8 +92,8 @@ public class PayController {
} }
// 以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回 // 以下字段在 return_code 和 result_code 都为 SUCCESS 的时候有返回
String prepayId = result.get("prepay_id"); String prepayId = result.get("prepay_id");
Map<String, String> packageParams = WxPayKit.appPrepayIdCreateSign(payConfig.getAppid(), payConfig.getWxMcid(), prepayId, Map<String, String> packageParams = WxPayKit.appPrepayIdCreateSign(dto.getWxAppId(), payConfig.getWxMcid(), prepayId,
payConfig.getWxKey(), SignType.HMACSHA256); payConfig.getWxKey(), SignType.MD5);
String jsonStr = JSON.toJSONString(packageParams); String jsonStr = JSON.toJSONString(packageParams);
log.info("返回apk的参数:" + jsonStr); log.info("返回apk的参数:" + jsonStr);
PayReturnResp resp = new PayReturnResp(); PayReturnResp resp = new PayReturnResp();
@@ -149,7 +149,7 @@ public class PayController {
} }
// 注意重复通知的情况,同一订单号可能收到多次通知,请注意一定先判断订单状态 // 注意重复通知的情况,同一订单号可能收到多次通知,请注意一定先判断订单状态
// 注意此处签名方式需与统一下单的签名类型一致 // 注意此处签名方式需与统一下单的签名类型一致
if (WxPayKit.verifyNotify(params, payConfig.getWxKey(), SignType.HMACSHA256)) { if (WxPayKit.verifyNotify(params, payConfig.getWxKey(), SignType.MD5)) {
if (WxPayKit.codeIsOk(returnCode)) { if (WxPayKit.codeIsOk(returnCode)) {
String outTradeNo = params.get("out_trade_no"); String outTradeNo = params.get("out_trade_no");
String transactionId = params.get("transaction_id"); String transactionId = params.get("transaction_id");