From f501ddfe054f23e50239dff36270fc2f56d15e7d Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 08 May 2023 17:00:55 +0800 Subject: [PATCH] 微信支付 --- src/main/java/cc/mrbird/febs/pay/service/AliIPayService.java | 16 ++ src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java | 8 - src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java | 122 ++++++++++++++++++++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 60 ++++++--- src/main/java/cc/mrbird/febs/mall/service/ICommonService.java | 2 src/main/java/cc/mrbird/febs/pay/properties/WxPayProperties.java | 34 +++++ src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java | 6 src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java | 8 - src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java | 56 ++++++++ src/main/java/cc/mrbird/febs/pay/service/IPayService.java | 8 - src/main/resources/application-test.yml | 9 + pom.xml | 6 + 12 files changed, 288 insertions(+), 47 deletions(-) diff --git a/pom.xml b/pom.xml index 2b6819d..17cd494 100644 --- a/pom.xml +++ b/pom.xml @@ -323,6 +323,12 @@ <artifactId>poi-ooxml-schemas</artifactId> <version>3.8</version> </dependency> + <!-- 微信支付 --> + <dependency> + <groupId>com.github.binarywang</groupId> + <artifactId>weixin-java-pay</artifactId> + <version>4.4.0</version> + </dependency> </dependencies> <build> diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java index 60f4b46..6c09b78 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java @@ -25,7 +25,11 @@ /** * 佣金 */ - COMMISSION(4); + COMMISSION(4), + /** + * 微信支付 + */ + WX(5); private final int value; diff --git a/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java b/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java index 5eb07b0..7b66cac 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/ICommonService.java @@ -21,4 +21,6 @@ void updateDataDic(String type, String code, String value); + void addAchieveAndUpdateLevel(Long orderId,Long memberId); + } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index 91affc1..8f3f3ae 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java @@ -19,8 +19,8 @@ import cc.mrbird.febs.mall.vo.OrderListVo; import cc.mrbird.febs.mall.vo.OrderRefundVo; import cc.mrbird.febs.pay.model.AgreementPayDto; -import cc.mrbird.febs.pay.model.AgreementSignDto; import cc.mrbird.febs.pay.model.UnipayDto; +import cc.mrbird.febs.pay.service.AliIPayService; import cc.mrbird.febs.pay.service.IPayService; import cc.mrbird.febs.pay.service.UnipayService; import cc.mrbird.febs.rabbit.producter.AgentProducer; @@ -37,7 +37,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -70,7 +69,7 @@ private final RedisUtils redisUtils; private final AgentProducer agentProducer; - private final IPayService payService; + private final AliIPayService payService; private final IMallAchieveService mallAchieveService; private final MallAchieveRecordMapper mallAchieveRecordMapper; private final UnipayService unipayService; @@ -78,6 +77,8 @@ private final MallMemberBankSignMapper mallMemberBankSignMapper; private final MallMemberBankMapper mallMemberBankMapper; private final MallShopApplyMapper mallShopApplyMapper; + private final IPayService wechatPayService; + private final ICommonService commonService; @Override @Transactional(rollbackFor = Exception.class) @@ -261,32 +262,45 @@ String rcResult = ""; switch (payOrderDto.getType()) { case "1": - UnipayDto unipayDtoWx = new UnipayDto(); -// unipayDto.setAmount(new BigDecimal("0.01")); - unipayDtoWx.setAmount(orderInfo.getAmount()); - unipayDtoWx.setFrpCode("WEIXIN_APP3"); - unipayDtoWx.setTradeMerchantNo("777180800385820"); - unipayDtoWx.setOrderNo(orderInfo.getOrderNo()); List<MallOrderItem> itemsWx = orderInfo.getItems(); if(CollUtil.isEmpty(itemsWx)){ - unipayDtoWx.setProductName("商品"); + orderInfo.setName("商品"); }else{ - unipayDtoWx.setProductName(itemsWx.get(0).getGoodsName()); + orderInfo.setName(itemsWx.get(0).getGoodsName()); } - String unipayStrWx = unipayService.unipay(unipayDtoWx); - if("fail" == unipayStrWx){ - throw new FebsException("支付失败"); - }else{ -// JSONUtil.parseObj(unipayStr); - JSONObject jsonObject = JSONUtil.parseObj(unipayStrWx); - payResultStr = (String) jsonObject.get("r7_TrxNo"); - rcResult = (String) jsonObject.get("rc_Result"); - } + + payResultStr = wechatPayService.pay(orderInfo); orderInfo.setPayOrderNo(payResultStr); -// orderInfo.setPayOrderNo(payOrderDto.getPayOrderNo()); -// orderInfo.setPayImage(payOrderDto.getPayImage()); orderInfo.setPayMethod("微信支付"); + orderInfo.setPayResult("2"); break; +// case "1": +// UnipayDto unipayDtoWx = new UnipayDto(); +//// unipayDto.setAmount(new BigDecimal("0.01")); +// unipayDtoWx.setAmount(orderInfo.getAmount()); +// unipayDtoWx.setFrpCode("WEIXIN_APP3"); +// unipayDtoWx.setTradeMerchantNo("777180800385820"); +// unipayDtoWx.setOrderNo(orderInfo.getOrderNo()); +// List<MallOrderItem> itemsWx = orderInfo.getItems(); +// if(CollUtil.isEmpty(itemsWx)){ +// unipayDtoWx.setProductName("商品"); +// }else{ +// unipayDtoWx.setProductName(itemsWx.get(0).getGoodsName()); +// } +// String unipayStrWx = unipayService.unipay(unipayDtoWx); +// if("fail" == unipayStrWx){ +// throw new FebsException("支付失败"); +// }else{ +//// JSONUtil.parseObj(unipayStr); +// JSONObject jsonObject = JSONUtil.parseObj(unipayStrWx); +// payResultStr = (String) jsonObject.get("r7_TrxNo"); +// rcResult = (String) jsonObject.get("rc_Result"); +// } +// orderInfo.setPayOrderNo(payResultStr); +//// orderInfo.setPayOrderNo(payOrderDto.getPayOrderNo()); +//// orderInfo.setPayImage(payOrderDto.getPayImage()); +// orderInfo.setPayMethod("微信支付"); +// break; case "2": // if (StrUtil.isNotBlank(orderInfo.getPayOrderNo())) { // payResultStr = orderInfo.getPayOrderNo(); @@ -329,8 +343,8 @@ this.baseMapper.updateById(orderInfo); //新增业绩,第一次购买套餐则升级用户为普通会员 - addAchieveAndUpdateLevel(orderInfo.getId(),member.getId()); + commonService.addAchieveAndUpdateLevel(orderInfo.getId(),orderInfo.getMemberId()); mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); agentProducer.sendAutoLevelUpMsg(member.getId()); // agentProducer.sendOrderReturn(orderInfo.getId()); diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java index ad5ce73..70395e5 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java @@ -1,18 +1,19 @@ package cc.mrbird.febs.mall.service.impl; +import cc.mrbird.febs.common.enumerates.MemberLevelEnum; import cc.mrbird.febs.common.utils.AppContants; import cc.mrbird.febs.common.utils.RedisUtils; -import cc.mrbird.febs.mall.entity.AppVersion; -import cc.mrbird.febs.mall.entity.DataDictionaryCustom; -import cc.mrbird.febs.mall.mapper.AppVersionMapper; -import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; +import cc.mrbird.febs.mall.entity.*; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.service.ICommonService; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.List; /** @@ -26,6 +27,11 @@ private final RedisUtils redisUtils; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; private final AppVersionMapper appVersionMapper; + private final MallOrderInfoMapper mallOrderInfoMapper; + private final MallMemberMapper memberMapper; + private final MallGoodsMapper mallGoodsMapper; + private final MallGoodsSkuMapper mallGoodsSkuMapper; + private final MallAchieveRecordMapper mallAchieveRecordMapper; @Override public boolean verifyCode(String account, String code) { @@ -82,4 +88,46 @@ dataDictionaryCustomMapper.updateById(dic); } } + + @Override + public void addAchieveAndUpdateLevel(Long orderId,Long memberId){ + MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(orderId); + MallMember member = memberMapper.selectById(memberId); + + boolean hasTc = false; + BigDecimal achieveAmount = BigDecimal.ZERO; + List<MallOrderItem> orderItems = mallOrderInfoMapper.getMallOrderItemByOrderId(orderId); + if (CollUtil.isNotEmpty(orderItems)) { + for (MallOrderItem orderItem : orderItems) { + MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId()); + MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId()); + if (mallGoods.getIsNormal() == 2) { + hasTc = true; + achieveAmount = achieveAmount.add(sku.getPresentPrice().multiply(new BigDecimal(orderItem.getCnt()))); + } + } + } + + if (hasTc){ + if(achieveAmount.compareTo(BigDecimal.ZERO) > 0) { + // 添加业绩 + MallAchieveRecord mallAchieveRecord = new MallAchieveRecord(); + mallAchieveRecord.setMemberId(memberId); + mallAchieveRecord.setAmount(achieveAmount); + mallAchieveRecord.setAchieveTime(orderInfo.getPayTime()); + mallAchieveRecord.setOrderId(orderInfo.getId()); + mallAchieveRecord.setIsNormal(2); + mallAchieveRecord.setPayTime(orderInfo.getPayTime()); + mallAchieveRecordMapper.insert(mallAchieveRecord); + //得到三倍补助 +// BigDecimal multiply = achieveAmount.multiply(new BigDecimal(3)); +// memberWalletService.add(multiply, memberId, "commission"); + + } + if(member.getLevel().equals(MemberLevelEnum.FANS.getType())){ + member.setLevel(MemberLevelEnum.NORMAL.getType()); + memberMapper.updateById(member); + } + } + } } diff --git a/src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java b/src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java index 6616618..4b09e49 100644 --- a/src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java +++ b/src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java @@ -1,16 +1,12 @@ package cc.mrbird.febs.pay.controller; -import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.pay.properties.AliPayProperties; -import cc.mrbird.febs.pay.service.IPayService; -import com.alibaba.fastjson.JSONObject; +import cc.mrbird.febs.pay.service.AliIPayService; import com.alipay.api.AlipayApiException; import com.alipay.api.internal.util.AlipaySignature; import com.ijpay.alipay.AliPayApi; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -28,7 +24,7 @@ public class PayCallBackController { @Autowired - private IPayService payService; + private AliIPayService payService; @Resource private AliPayProperties aliPayProperties; diff --git a/src/main/java/cc/mrbird/febs/pay/properties/WxPayProperties.java b/src/main/java/cc/mrbird/febs/pay/properties/WxPayProperties.java new file mode 100644 index 0000000..e456c25 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/pay/properties/WxPayProperties.java @@ -0,0 +1,34 @@ +package cc.mrbird.febs.pay.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * @author wzy + * @date 2023-04-07 + **/ +@Data +@Configuration +@ConfigurationProperties(prefix = "pay.wx") +public class WxPayProperties { + + /** + * 设置微信公众号或者小程序等的appid + */ + private String appId; + + /** + * 微信支付商户号 + */ + private String mchId; + + /** + * 微信支付商户密钥 + */ + private String mchKey; + + private String keyPath; + + private String noticeUrl; +} diff --git a/src/main/java/cc/mrbird/febs/pay/service/AliIPayService.java b/src/main/java/cc/mrbird/febs/pay/service/AliIPayService.java new file mode 100644 index 0000000..4b8cc4f --- /dev/null +++ b/src/main/java/cc/mrbird/febs/pay/service/AliIPayService.java @@ -0,0 +1,16 @@ +package cc.mrbird.febs.pay.service; + +import cc.mrbird.febs.mall.entity.MallOrderInfo; + +import java.util.Map; + +/** + * @author wzy + * @date 2021-09-27 + **/ +public interface AliIPayService { + + String aliPay(MallOrderInfo orderInfo); + + void aliCallback(Map<String, String> params); +} diff --git a/src/main/java/cc/mrbird/febs/pay/service/IPayService.java b/src/main/java/cc/mrbird/febs/pay/service/IPayService.java index 155cfb7..ce5f928 100644 --- a/src/main/java/cc/mrbird/febs/pay/service/IPayService.java +++ b/src/main/java/cc/mrbird/febs/pay/service/IPayService.java @@ -4,13 +4,9 @@ import java.util.Map; -/** - * @author wzy - * @date 2021-09-27 - **/ public interface IPayService { - String aliPay(MallOrderInfo orderInfo); + String pay(MallOrderInfo orderInfo); - void aliCallback(Map<String, String> params); + void payCallback(Map<String, String> params); } diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java similarity index 92% rename from src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java rename to src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java index 3883bcb..487bd21 100644 --- a/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java @@ -1,20 +1,16 @@ package cc.mrbird.febs.pay.service.impl; import cc.mrbird.febs.common.enumerates.AgentLevelEnum; -import cc.mrbird.febs.common.enumerates.FlowTypeEnum; -import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.common.enumerates.OrderStatusEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallOrderInfo; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; import cc.mrbird.febs.mall.service.IApiMallMemberService; -import cc.mrbird.febs.mall.service.IApiMallOrderInfoService; import cc.mrbird.febs.pay.model.AliPayPassbackModel; import cc.mrbird.febs.pay.properties.AliPayProperties; -import cc.mrbird.febs.pay.service.IPayService; +import cc.mrbird.febs.pay.service.AliIPayService; import cc.mrbird.febs.rabbit.producter.AgentProducer; -import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; import com.alipay.api.domain.AlipayTradeAppPayModel; @@ -36,7 +32,7 @@ **/ @Slf4j @Service -public class PayServiceImpl implements IPayService { +public class PayServiceImplAli implements AliIPayService { @Resource private AliPayProperties aliPayProperties; diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java new file mode 100644 index 0000000..4fd1300 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java @@ -0,0 +1,122 @@ +package cc.mrbird.febs.pay.service.impl; + +import cc.mrbird.febs.common.enumerates.AgentLevelEnum; +import cc.mrbird.febs.common.enumerates.FlowTypeEnum; +import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; +import cc.mrbird.febs.common.enumerates.OrderStatusEnum; +import cc.mrbird.febs.common.exception.FebsException; +import cc.mrbird.febs.mall.entity.MallMember; +import cc.mrbird.febs.mall.entity.MallOrderInfo; +import cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper; +import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; +import cc.mrbird.febs.mall.service.IApiMallMemberService; +import cc.mrbird.febs.mall.service.IApiMallOrderInfoService; +import cc.mrbird.febs.mall.service.ICommonService; +import cc.mrbird.febs.mall.service.IMallMoneyFlowService; +import cc.mrbird.febs.pay.properties.WxPayProperties; +import cc.mrbird.febs.pay.service.IPayService; +import cc.mrbird.febs.rabbit.producter.AgentProducer; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.RandomUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.binarywang.wxpay.bean.order.WxPayAppOrderResult; +import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; +import com.github.binarywang.wxpay.exception.WxPayException; +import com.github.binarywang.wxpay.service.WxPayService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.Map; + +/** + * @author wzy + * @date 2023-04-07 + **/ +@Slf4j +@Service("wechatPayService") +@RequiredArgsConstructor +public class WxPayServiceImpl implements IPayService { + + @Autowired + private ICommonService commonService; + + @Autowired + private MallOrderInfoMapper orderInfoMapper; + + @Autowired + private WxPayService wxPayService; + + @Autowired + private WxPayProperties wxPayProperties; + + @Autowired + private AgentProducer agentProducer; + + @Autowired + private IMallMoneyFlowService mallMoneyFlowService; + + @Value("${spring.profiles.active}") + private String active; + + @Override + public String pay(MallOrderInfo orderInfo) { + WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest(); + request.setAppid(wxPayProperties.getAppId()); + request.setMchId(wxPayProperties.getMchId()); + request.setNotifyUrl(wxPayProperties.getNoticeUrl()); + request.setBody(orderInfo.getName()); + request.setOutTradeNo(orderInfo.getOrderNo()); + request.setTimeExpire(DateUtil.format(DateUtil.offset(new Date(), DateField.MINUTE, 15), DatePattern.PURE_DATETIME_PATTERN)); + request.setSpbillCreateIp("127.0.0.1"); + request.setTradeType("APP"); + + if ("dev".equals(active) || "test".equals(active)) { + request.setTotalFee(1); + } else { + request.setTotalFee(orderInfo.getAmount().add(orderInfo.getCarriage()).multiply(new BigDecimal(100)).intValue()); + } + + try { + WxPayAppOrderResult result = wxPayService.createOrder(request); + return JSONObject.toJSONString(result); + } catch (WxPayException e) { + e.printStackTrace(); + throw new FebsException("支付异常, 请检查"); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void payCallback(Map<String, String> params) { + String orderNo = params.get("out_trade_no"); + + LambdaQueryWrapper<MallOrderInfo> query = new LambdaQueryWrapper<>(); + query.eq(MallOrderInfo::getOrderNo, orderNo); + MallOrderInfo orderInfo = this.orderInfoMapper.selectOne(query); + if ("1".equals(orderInfo.getPayResult())) { + return; + } + + orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); + orderInfo.setPayResult("1"); + orderInfo.setPayTime(new Date()); + orderInfo.setPayTradeNo(params.get("transaction_id")); + orderInfoMapper.updateById(orderInfo); + + commonService.addAchieveAndUpdateLevel(orderInfo.getId(),orderInfo.getMemberId()); + mallMoneyFlowService.addMoneyFlow(orderInfo.getMemberId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.WX.getValue()); + agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId()); + agentProducer.sendReturnMoneyMsg(orderInfo.getId()); + + } +} diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index e40d05f..3020490 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -57,4 +57,11 @@ privateKey: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDOhu+hD2kuMh5s7IQuKjexeC4DmXxrAr/bu10rNB304NaIRUNAkGPI9tep7ZRBZqa/Tjrfom8LeeBnbA1n+SgxROSREEXDA1E3/XJY+vYivehVTD2TuA2GEnEtLXUgxQJVfz/CNIOa3rCc1nj9n4/kv03Sx/yqiKnLd6h9dRvdaY9k7DwnWPu1FT5T3bpTiU+oKaUODkcfUPpMH8aQaolzKY07M0cqZFn75Z0KFAoM6p/TDoF7JKpwdzGO5xuJe8YT4xx2OcLY++d/dzSoQvvsKh8r1yE37Z5B9FxHSHe1GuR2wOQxhgXUyaj7gden/pAVspzbjZTDdQppjzNavnzdAgMBAAECggEAKAJL+c+aeLCM5F0NXkQfdenqQBhD2hc2Q8MQUYZPJ1lHNi700FUof44SSYEU73aLZxQoo5o8GOULa/2quzGxb5oBDXkxio3h9g7LUCGN/Tz8/Uk/xJYrSIXaFv5vamHACgAUwfKabC4n2LpTxg5bOd01nlfPwtmmyxvrMCK3uzSWzxDLag0jVh9DGA97D00UOkL9QpEJ26dpBuF7pf9Nt0BtfyJMFrCbJXY2F3j65VNN4f2rOG7/DTGm434Sektj9Bc31ept9MfPw9VyRbV7EMvG5be9iDqBvLbRGhQVtBjv3N/E7p3uUI5HyxM8GOjQhSwSOJQ0gQS8vNdNN90qoQKBgQDqxoTFOsPM3+LoQj1r7CjoXhooEfpikyHpK2l8mzM4+La9ajzUJzTWT8nc0k2Qha8AvBZzJ2+kSKAjtwc/VNTu0IeEn480V9zVyBFkcC294d3A1keN5ch9wP1it5fWsVh+62T9xGXlQQIpuYeQm1BXj7kltd7vE8t6fLrmnhVkpwKBgQDhMqgZoRQGmcgrVc8F//lBO7g6ku/+GfNJnve64sRi5ZifwSiNSULVqDWmdHJiVWyYXoTvt1o3bqQorawe0c+wEzknn8ZipNDnN9tybxhKqD6pzCbRv6yWmU+9X9ZhSxYJeumn3sqxyZB7rnqJQ7/vpsoNZRvp0LS85iJVJFXO2wKBgB7O3i1jgL4pwwTnbFf1LYkQkC4h7dFxrUmDwNvxIc+gE5rXjhPo8S4OWlb34eXNJSHbjLafvi64uQr2waS15RtRkfb9WTVtMjV7g4zCi74XHZpohAtC1ARshtOlc+9gZlSBX0dNtnFXDombJwb62pgi7BDexNpqppD0PTJ2HCiRAoGAREmZIdRvfyToxwNJOLeLPNXAIrrl3Xa/CGcVFe2nwZl/s4neIyHBC4rrYeNTwC/JM1cOFqbRy5dYXiFz3RCgWvMpVLOlc8oossSEXeoEQrdL8S8/4kCuNCifPnyuRGiBcTR9X/M2Ib1Oe8LH05HgxOodwPwU/8zS0akzZgATqRsCgYA5TDAX996ThMjHr+qjLh5gdIJ+85jxP0+tqVk5Vwl3niS3qJGoLIofIgHYee9U6c1wLJU+lUTaxYpuaJPwQFbdMGGGB8i3c2XczVBShCUEedelTghl7Izwh/DILmlAQCvYsC+wWMcFdU3LhYvFGXmTx9ToRBLdtd6v45+7MXcHQw== # 回调地址 noticeUrl: http://120.27.238.55:8801/api/pay/aliCallBack - domain: https://openapi.alipaydev.com/gateway.do \ No newline at end of file + domain: https://openapi.alipaydev.com/gateway.do + + wx: + appId: wx051693799db39540 + mchId: 1641389321 + mchKey: wqri51aCfiG31o4IcdX3dW12qnX3u4hp + keyPath: classpath:cert/apiclient_cert.p12 + noticeUrl: http://120.27.238.55:8185/api/pay/wxPayCallBack \ No newline at end of file -- Gitblit v1.9.1