xiaoyong931011
2023-05-08 f501ddfe054f23e50239dff36270fc2f56d15e7d
微信支付
3 files added
1 files renamed
8 files modified
335 ■■■■ changed files
pom.xml 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java 6 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/ICommonService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 60 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java 56 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/controller/PayCallBackController.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/properties/WxPayProperties.java 34 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/service/AliIPayService.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/service/IPayService.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java 122 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 9 ●●●● patch | view | raw | blame | history
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>
src/main/java/cc/mrbird/febs/common/enumerates/FlowTypeEnum.java
@@ -25,7 +25,11 @@
    /**
     * 佣金
     */
    COMMISSION(4);
    COMMISSION(4),
    /**
     * 微信支付
     */
    WX(5);
    private final int value;
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);
}
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());
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);
            }
        }
    }
}
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;
src/main/java/cc/mrbird/febs/pay/properties/WxPayProperties.java
New file
@@ -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;
}
src/main/java/cc/mrbird/febs/pay/service/AliIPayService.java
New file
@@ -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);
}
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);
}
src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java
File was renamed from src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.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;
src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java
New file
@@ -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());
    }
}
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
    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