拉卡拉支付增加接口
This commit is contained in:
parent
540820281d
commit
e559ac5dc5
@ -94,10 +94,12 @@
|
|||||||
<groupId>com.suisung.mall</groupId>
|
<groupId>com.suisung.mall</groupId>
|
||||||
<artifactId>core</artifactId>
|
<artifactId>core</artifactId>
|
||||||
<version>1.0.3</version>
|
<version>1.0.3</version>
|
||||||
<!--
|
<exclusions>
|
||||||
<scope>system</scope>
|
<exclusion>
|
||||||
<systemPath>${project.basedir}/lib/core-1.0.3.jar</systemPath>
|
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||||
-->
|
<groupId>com.baomidou</groupId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- <!– https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa –>-->
|
<!-- <!– https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa –>-->
|
||||||
@ -133,7 +135,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bouncycastle</groupId>
|
<groupId>org.bouncycastle</groupId>
|
||||||
<artifactId>bcprov-jdk15on</artifactId>
|
<artifactId>bcprov-jdk15on</artifactId>
|
||||||
<version>1.55</version>
|
<version>1.59</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -149,6 +151,16 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.aliyun.oss</groupId>
|
<groupId>com.aliyun.oss</groupId>
|
||||||
<artifactId>aliyun-sdk-oss</artifactId>
|
<artifactId>aliyun-sdk-oss</artifactId>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>commons-lang</artifactId>
|
||||||
|
<groupId>commons-lang</groupId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>commons-logging</artifactId>
|
||||||
|
<groupId>commons-logging</groupId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.aliyun</groupId>
|
<groupId>com.aliyun</groupId>
|
||||||
@ -164,6 +176,12 @@
|
|||||||
<groupId>com.tencentcloudapi</groupId>
|
<groupId>com.tencentcloudapi</groupId>
|
||||||
<artifactId>tencentcloud-sdk-java</artifactId>
|
<artifactId>tencentcloud-sdk-java</artifactId>
|
||||||
<version>3.1.87</version>
|
<version>3.1.87</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>okhttp</artifactId>
|
||||||
|
<groupId>com.squareup.okhttp</groupId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.qcloudsms</groupId>
|
<groupId>com.github.qcloudsms</groupId>
|
||||||
|
|||||||
@ -68,6 +68,17 @@
|
|||||||
<groupId>de.codecentric</groupId>
|
<groupId>de.codecentric</groupId>
|
||||||
<artifactId>spring-boot-admin-starter-client</artifactId>
|
<artifactId>spring-boot-admin-starter-client</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!--拉卡拉支付与分账 开始-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.lkl.laop.sdk</groupId>
|
||||||
|
<artifactId>lkl-laop-java-sdk</artifactId>
|
||||||
|
<version>1.0.7</version>
|
||||||
|
<systemPath>${project.basedir}/src/main/resources/lib/lkl-java-sdk-1.0.7.jar</systemPath>
|
||||||
|
<scope>system</scope>
|
||||||
|
</dependency>
|
||||||
|
<!--拉卡拉支付与分账 结束-->
|
||||||
|
|
||||||
<!-- rabbitMQ消息队列 -->
|
<!-- rabbitMQ消息队列 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.suisung.mall.pay.controller.mobile;
|
|||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.suisung.mall.common.api.CommonResult;
|
import com.suisung.mall.common.api.CommonResult;
|
||||||
@ -26,10 +27,7 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@ -44,28 +42,29 @@ import java.util.Map;
|
|||||||
@RequestMapping("/mobile/pay/index")
|
@RequestMapping("/mobile/pay/index")
|
||||||
public class IndexController extends BaseControllerImpl {
|
public class IndexController extends BaseControllerImpl {
|
||||||
|
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(IndexController.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayUserPayService payUserPayService;
|
private PayUserPayService payUserPayService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayConsumeRecordService payConsumeRecordService;
|
private PayConsumeRecordService payConsumeRecordService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayPaymentChannelService payPaymentChannelService;
|
private PayPaymentChannelService payPaymentChannelService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayBaseRechargeLevelService payBaseRechargeLevelService;
|
private PayBaseRechargeLevelService payBaseRechargeLevelService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayConsumeTradeService payConsumeTradeService;
|
private PayConsumeTradeService payConsumeTradeService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayConsumeWithdrawService payConsumeWithdrawService;
|
private PayConsumeWithdrawService payConsumeWithdrawService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayUserResourceService payUserResourceService;
|
private PayUserResourceService payUserResourceService;
|
||||||
|
@Autowired
|
||||||
|
private LakalaService lakalaService;
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(IndexController.class);
|
@ApiOperation(value = "测试接口", notes = "测试接口")
|
||||||
|
@RequestMapping(value = "/test/case", method = RequestMethod.POST)
|
||||||
|
public JSONObject testCase(@RequestBody JSONObject objectJSON){
|
||||||
|
return lakalaService.transPreOrder((String) objectJSON.get("orderId"));
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "获取支付密码", notes = "获取支付密码")
|
@ApiOperation(value = "获取支付密码", notes = "获取支付密码")
|
||||||
@RequestMapping(value = "/getPayPasswd", method = RequestMethod.GET)
|
@RequestMapping(value = "/getPayPasswd", method = RequestMethod.GET)
|
||||||
@ -220,7 +219,7 @@ public class IndexController extends BaseControllerImpl {
|
|||||||
requestParams.put("password", password);
|
requestParams.put("password", password);
|
||||||
|
|
||||||
// 支付方式
|
// 支付方式
|
||||||
PayTypeBean payTypeBean = new PayTypeBean(prepayapp_flag, mp_flag, return_flag, prepay_flag,pc_scancode_flag,openid, payment_channel_code);
|
PayTypeBean payTypeBean = new PayTypeBean(prepayapp_flag, mp_flag, return_flag, prepay_flag, pc_scancode_flag, openid, payment_channel_code);
|
||||||
payUserPayService.pay(request, response, requestParams, payTypeBean);
|
payUserPayService.pay(request, response, requestParams, payTypeBean);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,14 +245,14 @@ public class IndexController extends BaseControllerImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/pay_state_detection", method = RequestMethod.GET)
|
@RequestMapping(value = "/pay_state_detection", method = RequestMethod.GET)
|
||||||
public CommonResult payStateDetection(@RequestParam String order_id){
|
public CommonResult payStateDetection(@RequestParam String order_id) {
|
||||||
UserDto userDto = getCurrentUser();
|
UserDto userDto = getCurrentUser();
|
||||||
QueryWrapper<PayConsumeTrade> tradeQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<PayConsumeTrade> tradeQueryWrapper = new QueryWrapper<>();
|
||||||
tradeQueryWrapper.eq("order_id",order_id);
|
tradeQueryWrapper.eq("order_id", order_id);
|
||||||
tradeQueryWrapper.eq("buyer_id",userDto.getId());
|
tradeQueryWrapper.eq("buyer_id", userDto.getId());
|
||||||
PayConsumeTrade payConsumeTrade = payConsumeTradeService.findOne(tradeQueryWrapper);
|
PayConsumeTrade payConsumeTrade = payConsumeTradeService.findOne(tradeQueryWrapper);
|
||||||
Integer trade_is_paid = payConsumeTrade.getTrade_is_paid();
|
Integer trade_is_paid = payConsumeTrade.getTrade_is_paid();
|
||||||
if (trade_is_paid.equals(StateCode.ORDER_PAID_STATE_YES)){
|
if (trade_is_paid.equals(StateCode.ORDER_PAID_STATE_YES)) {
|
||||||
return CommonResult.success("订单已支付");
|
return CommonResult.success("订单已支付");
|
||||||
}
|
}
|
||||||
return CommonResult.failed("订单未支付");
|
return CommonResult.failed("订单未支付");
|
||||||
|
|||||||
@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||||
|
* Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
|
||||||
|
* Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
|
||||||
|
* Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
|
||||||
|
* Vestibulum commodo. Ut rhoncus gravida arcu.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.suisung.mall.pay.service;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
|
||||||
|
public interface LakalaService {
|
||||||
|
|
||||||
|
JSONObject transPreOrder(String orderId);
|
||||||
|
}
|
||||||
@ -0,0 +1,139 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2025. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||||
|
* Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
|
||||||
|
* Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
|
||||||
|
* Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
|
||||||
|
* Vestibulum commodo. Ut rhoncus gravida arcu.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.suisung.mall.pay.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.lkl.laop.sdk.Config;
|
||||||
|
import com.lkl.laop.sdk.LKLSDK;
|
||||||
|
import com.lkl.laop.sdk.exception.SDKException;
|
||||||
|
import com.lkl.laop.sdk.request.V3LabsTransPreorderRequest;
|
||||||
|
import com.lkl.laop.sdk.request.model.V3LabsTradeLocationInfo;
|
||||||
|
import com.lkl.laop.sdk.request.model.V3LabsTradePreorderWechatBus;
|
||||||
|
import com.suisung.mall.pay.service.LakalaService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
public class LakalaServiceImpl implements LakalaService {
|
||||||
|
|
||||||
|
@Value("${lakala.term_no}")
|
||||||
|
private String termNo;
|
||||||
|
private static volatile boolean init = false;
|
||||||
|
@Value("${lakala.app_id}")
|
||||||
|
private String appId; // 拉卡拉appId
|
||||||
|
@Value("${lakala.serial_no}")
|
||||||
|
private String serialNo; // 你的证书序列号
|
||||||
|
@Value("${lakala.merchant_no}")
|
||||||
|
private String merchantNo;
|
||||||
|
/**
|
||||||
|
* 商户私钥信息地址
|
||||||
|
*/
|
||||||
|
@Value("${lakala.pri_key_path}")
|
||||||
|
private String priKeyPath;
|
||||||
|
/**
|
||||||
|
* 拉卡拉支付平台证书地址
|
||||||
|
*/
|
||||||
|
// @Value("${lakala.lkl_cer_path}")
|
||||||
|
@Value("${lakala.lkl_notify_cer_path}")
|
||||||
|
private String lklCerPath;
|
||||||
|
/**
|
||||||
|
* 拉卡拉支付平台证书地址2(用于拉卡拉通知验签)
|
||||||
|
*/
|
||||||
|
@Value("${lakala.lkl_notify_cer_path}")
|
||||||
|
private String lklNotifyCerPath;
|
||||||
|
/**
|
||||||
|
* 拉卡拉报文加密对称性密钥
|
||||||
|
*/
|
||||||
|
@Value("${lakala.sm4_key}")
|
||||||
|
private String sm4Key;
|
||||||
|
/**
|
||||||
|
* 服务地址
|
||||||
|
*/
|
||||||
|
@Value("${lakala.server_url}")
|
||||||
|
private String serverUrl;
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @Description: 初始化设置商户公共参数(全局只需设置一次)
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public void doInit() {
|
||||||
|
if (!init) {
|
||||||
|
init = initLKLSDK();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化 拉卡拉 SDK
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean initLKLSDK() {
|
||||||
|
Config config = new Config();
|
||||||
|
config.setAppId(appId);
|
||||||
|
config.setSerialNo(serialNo);
|
||||||
|
config.setPriKeyPath(priKeyPath);
|
||||||
|
config.setLklCerPath(lklCerPath);
|
||||||
|
config.setLklNotifyCerPath(lklNotifyCerPath);
|
||||||
|
config.setServerUrl(serverUrl);
|
||||||
|
config.setSm4Key(sm4Key);
|
||||||
|
try {
|
||||||
|
return LKLSDK.init(config);
|
||||||
|
} catch (SDKException e) {
|
||||||
|
log.error("doInit error", e);
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public cn.hutool.json.JSONObject transPreOrder(String orderId) {
|
||||||
|
// 1. 配置初始化
|
||||||
|
doInit();
|
||||||
|
//2. 装配数据
|
||||||
|
/*** 微信主扫场景示例 */
|
||||||
|
V3LabsTransPreorderRequest v3LabsTransPreorderWechatReq = new V3LabsTransPreorderRequest();
|
||||||
|
v3LabsTransPreorderWechatReq.setMerchantNo(merchantNo);
|
||||||
|
v3LabsTransPreorderWechatReq.setTermNo(termNo);
|
||||||
|
v3LabsTransPreorderWechatReq.setOutTradeNo(orderId);
|
||||||
|
v3LabsTransPreorderWechatReq.setSubject("油麦菜5斤装特惠");
|
||||||
|
v3LabsTransPreorderWechatReq.setAccountType("WECHAT");
|
||||||
|
v3LabsTransPreorderWechatReq.setTransType("51");
|
||||||
|
v3LabsTransPreorderWechatReq.setTotalAmount("1");
|
||||||
|
v3LabsTransPreorderWechatReq.setNotifyUrl("http://mall.gpxscs.cn/notify");
|
||||||
|
v3LabsTransPreorderWechatReq.setRemark("测试预下单备注");
|
||||||
|
|
||||||
|
//地址位置信息
|
||||||
|
V3LabsTradeLocationInfo v3LabsTradePreorderLocationInfo1 = new V3LabsTradeLocationInfo("12.34.56.78");
|
||||||
|
v3LabsTransPreorderWechatReq.setLocationInfo(v3LabsTradePreorderLocationInfo1);
|
||||||
|
|
||||||
|
//微信主扫场景下acc_busi_fields域内容
|
||||||
|
V3LabsTradePreorderWechatBus wechatBus = new V3LabsTradePreorderWechatBus();
|
||||||
|
wechatBus.setSubAppid("wx5a73f844dac0da5c");
|
||||||
|
wechatBus.setUserId("oDVKR7T0qxg6O8tqIL9SgY6LXqqQ");
|
||||||
|
wechatBus.setGoodsTag("农家食品");
|
||||||
|
wechatBus.setLimitPayer("ADULT");
|
||||||
|
v3LabsTransPreorderWechatReq.setAccBusiFields(wechatBus);
|
||||||
|
|
||||||
|
//3. 发送请求
|
||||||
|
String response = "";
|
||||||
|
try {
|
||||||
|
response = LKLSDK.httpPost(v3LabsTransPreorderWechatReq);
|
||||||
|
|
||||||
|
//4. 响应
|
||||||
|
return JSONUtil.parseObj(response);
|
||||||
|
} catch (SDKException e) {
|
||||||
|
log.error("doInit error", e);
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -48,10 +48,10 @@ import com.suisung.mall.common.modules.order.ShopOrderInfo;
|
|||||||
import com.suisung.mall.common.modules.order.ShopOrderReturn;
|
import com.suisung.mall.common.modules.order.ShopOrderReturn;
|
||||||
import com.suisung.mall.common.modules.pay.*;
|
import com.suisung.mall.common.modules.pay.*;
|
||||||
import com.suisung.mall.common.modules.pay.dto.ItemActivityInfoDTO;
|
import com.suisung.mall.common.modules.pay.dto.ItemActivityInfoDTO;
|
||||||
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
|
||||||
import com.suisung.mall.common.utils.CheckUtil;
|
import com.suisung.mall.common.utils.CheckUtil;
|
||||||
import com.suisung.mall.common.utils.I18nUtil;
|
import com.suisung.mall.common.utils.I18nUtil;
|
||||||
import com.suisung.mall.common.utils.LogUtil;
|
import com.suisung.mall.common.utils.LogUtil;
|
||||||
|
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
||||||
import com.suisung.mall.pay.entity.AliPayBean;
|
import com.suisung.mall.pay.entity.AliPayBean;
|
||||||
import com.suisung.mall.pay.entity.H5SceneInfo;
|
import com.suisung.mall.pay.entity.H5SceneInfo;
|
||||||
import com.suisung.mall.pay.entity.PayTypeBean;
|
import com.suisung.mall.pay.entity.PayTypeBean;
|
||||||
@ -61,7 +61,6 @@ import io.seata.spring.annotation.GlobalTransactional;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
|
||||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.TransactionDefinition;
|
import org.springframework.transaction.TransactionDefinition;
|
||||||
@ -91,41 +90,30 @@ import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser;
|
|||||||
@Service
|
@Service
|
||||||
public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, PayUserPay> implements PayUserPayService {
|
public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, PayUserPay> implements PayUserPayService {
|
||||||
|
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(PayUserPayServiceImpl.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayPaymentChannelService payPaymentChannelService;
|
private PayPaymentChannelService payPaymentChannelService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayConsumeTradeService payConsumeTradeService;
|
private PayConsumeTradeService payConsumeTradeService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AccountBaseConfigService accountBaseConfigService;
|
private AccountBaseConfigService accountBaseConfigService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopService shopService;
|
private ShopService shopService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayConsumeTradeCombineService payConsumeTradeCombineService;
|
private PayConsumeTradeCombineService payConsumeTradeCombineService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayConsumeDepositService payConsumeDepositService;
|
private PayConsumeDepositService payConsumeDepositService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AliPayBean aliPayBean;
|
private AliPayBean aliPayBean;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AccountService accountService;
|
private AccountService accountService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PayUserResourceService payUserResourceService;
|
private PayUserResourceService payUserResourceService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private DataSourceTransactionManager transactionManager;
|
private DataSourceTransactionManager transactionManager;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private TransactionDefinition transactionDefinition;
|
private TransactionDefinition transactionDefinition;
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(PayUserPayServiceImpl.class);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取支付密码
|
* 获取支付密码
|
||||||
*
|
*
|
||||||
@ -265,6 +253,7 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
trade_row.setTrade_title(I18nUtil._("在线购物"));
|
trade_row.setTrade_title(I18nUtil._("在线购物"));
|
||||||
trade_row.setTrade_desc(I18nUtil._("在线购物"));
|
trade_row.setTrade_desc(I18nUtil._("在线购物"));
|
||||||
}
|
}
|
||||||
|
// 去支付
|
||||||
toPay(request, response, trade_row, payTypeBean);
|
toPay(request, response, trade_row, payTypeBean);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
@ -528,7 +517,20 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
String ip = IpKit.getRealIp(request);
|
String ip = IpKit.getRealIp(request);
|
||||||
WxPayApiConfig wxPayApiConfig = WxPayApiConfigKit.getWxPayApiConfig();
|
WxPayApiConfig wxPayApiConfig = WxPayApiConfigKit.getWxPayApiConfig();
|
||||||
String domain = wxPayApiConfig.getDomain();
|
String domain = wxPayApiConfig.getDomain();
|
||||||
Map<String, String> params = UnifiedOrderModel.builder().appid(appid).mch_id(wxPayApiConfig.getMchId()).nonce_str(WxPayKit.generateStr()).goods_tag(trade_remark).body(subject).attach("").out_trade_no(out_trade_no).total_fee(total_fee).spbill_create_ip(ip).notify_url(domain + "/wxPay_notify_url").time_start(DateUtil.format(new Date(), "yyyyMMddHHmmss")).trade_type(TradeType.JSAPI.getTradeType()).openid(openId).build().createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
|
Map<String, String> params = UnifiedOrderModel.builder()
|
||||||
|
.appid(appid)
|
||||||
|
.mch_id(wxPayApiConfig.getMchId())
|
||||||
|
.nonce_str(WxPayKit.generateStr())
|
||||||
|
.goods_tag(trade_remark)
|
||||||
|
.body(subject).attach("")
|
||||||
|
.out_trade_no(out_trade_no)
|
||||||
|
.total_fee(total_fee)
|
||||||
|
.spbill_create_ip(ip)
|
||||||
|
.notify_url(domain + "/wxPay_notify_url")
|
||||||
|
.time_start(DateUtil.format(new Date(), "yyyyMMddHHmmss"))
|
||||||
|
.trade_type(TradeType.JSAPI.getTradeType())
|
||||||
|
.openid(openId).build()
|
||||||
|
.createSign(wxPayApiConfig.getPartnerKey(), SignType.HMACSHA256);
|
||||||
|
|
||||||
String xmlResult = WxPayApi.pushOrder(false, params);
|
String xmlResult = WxPayApi.pushOrder(false, params);
|
||||||
Map<String, String> resultMap = WxPayKit.xmlToMap(xmlResult);
|
Map<String, String> resultMap = WxPayKit.xmlToMap(xmlResult);
|
||||||
@ -1402,14 +1404,14 @@ public class PayUserPayServiceImpl extends BaseServiceImpl<PayUserPayMapper, Pay
|
|||||||
//IJPAY低版本jdk环境使用退款方法jdk1.8.0_111以下
|
//IJPAY低版本jdk环境使用退款方法jdk1.8.0_111以下
|
||||||
//String xmlResult = WxPayApi.orderRefund(false, params, certInStream, wxPayApiConfig.getMchId());
|
//String xmlResult = WxPayApi.orderRefund(false, params, certInStream, wxPayApiConfig.getMchId());
|
||||||
//下面的方法解决IJPAY高版本jdk导致退款协议不支持问题jdk1.8.0_111以上
|
//下面的方法解决IJPAY高版本jdk导致退款协议不支持问题jdk1.8.0_111以上
|
||||||
String xmlResult = HttpKit.getDelegate().post(WxPayApi.getReqUrl(WxApiType.REFUND, (WxDomain) null, false), WxPayKit.toXml(params), certInStream, wxPayApiConfig.getMchId(), "");
|
String xmlResult = HttpKit.getDelegate().post(WxPayApi.getReqUrl(WxApiType.REFUND, null, false), WxPayKit.toXml(params), certInStream, wxPayApiConfig.getMchId(), "");
|
||||||
logger.info(String.format(I18nUtil._("微信退款返回参数: xmlResult【%s】"), xmlResult));
|
logger.info(String.format(I18nUtil._("微信退款返回参数: xmlResult【%s】"), xmlResult));
|
||||||
Map<String, String> resultMap = WxPayKit.xmlToMap(xmlResult);
|
Map<String, String> resultMap = WxPayKit.xmlToMap(xmlResult);
|
||||||
String returnCode = resultMap.get("return_code");
|
String returnCode = resultMap.get("return_code");
|
||||||
String resultCode = resultMap.get("result_code");
|
String resultCode = resultMap.get("result_code");
|
||||||
|
|
||||||
if (!WxPayKit.codeIsOk(returnCode) || !WxPayKit.codeIsOk(resultCode)) {
|
if (!WxPayKit.codeIsOk(returnCode) || !WxPayKit.codeIsOk(resultCode)) {
|
||||||
LogUtil.error("微信退款异常!" + resultMap.toString());
|
LogUtil.error("微信退款异常!" + resultMap);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -109,3 +109,14 @@ logging:
|
|||||||
springfox: error
|
springfox: error
|
||||||
logstash:
|
logstash:
|
||||||
host: @logstash.host@
|
host: @logstash.host@
|
||||||
|
#拉卡拉支付和分账
|
||||||
|
lakala:
|
||||||
|
app_id: OP00000003
|
||||||
|
serial_no: 00dfba8194c41b84cf
|
||||||
|
merchant_no: 82229007392000A
|
||||||
|
pri_key_path: mall-pay/src/main/resources/payKey/lakala/dev/OP00000003_private_key.pem
|
||||||
|
lkl_cer_path: mall-pay/src/main/resources/payKey/lakala/dev/OP00000003_cert.cer
|
||||||
|
lkl_notify_cer_path: mall-pay/src/main/resources/payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
|
term_no: D9296400
|
||||||
|
sm4_key: uIj6CPg1GZAY10dXFfsEAQ==
|
||||||
|
server_url: https://test.wsmsd.cn/sit
|
||||||
@ -109,3 +109,14 @@ logging:
|
|||||||
springfox: error
|
springfox: error
|
||||||
logstash:
|
logstash:
|
||||||
host: @logstash.host@
|
host: @logstash.host@
|
||||||
|
#拉卡拉支付和分账
|
||||||
|
lakala:
|
||||||
|
app_id: OP00000003
|
||||||
|
serial_no: 00dfba8194c41b84cf
|
||||||
|
merchant_no: 82229007392000A
|
||||||
|
pri_key_path: mall-pay/src/main/resources/payKey/lakala/dev/OP00000003_private_key.pem
|
||||||
|
lkl_cer_path: mall-pay/src/main/resources/payKey/lakala/dev/OP00000003_cert.cer
|
||||||
|
lkl_notify_cer_path: mall-pay/src/main/resources/payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
|
term_no: D9296400
|
||||||
|
sm4_key: uIj6CPg1GZAY10dXFfsEAQ==
|
||||||
|
server_url: https://test.wsmsd.cn/sit
|
||||||
@ -111,3 +111,14 @@ logging:
|
|||||||
springfox: error
|
springfox: error
|
||||||
logstash:
|
logstash:
|
||||||
host: @logstash.host@
|
host: @logstash.host@
|
||||||
|
#拉卡拉支付和分账
|
||||||
|
lakala:
|
||||||
|
app_id: OP00000003
|
||||||
|
serial_no: 00dfba8194c41b84cf
|
||||||
|
merchant_no: 82229007392000A
|
||||||
|
pri_key_path: mall-pay/src/main/resources/payKey/lakala/prod/OP00000003_private_key.pem
|
||||||
|
lkl_cer_path: mall-pay/src/main/resources/payKey/lakala/prod/OP00000003_cert.cer
|
||||||
|
lkl_notify_cer_path: mall-pay/src/main/resources/payKey/lakala/prod/lkl_notify_cert_v2.cer
|
||||||
|
term_no: D9296400
|
||||||
|
sm4_key: uIj6CPg1GZAY10dXFfsEAQ==
|
||||||
|
server_url: https://test.wsmsd.cn/sit
|
||||||
@ -109,3 +109,14 @@ logging:
|
|||||||
springfox: error
|
springfox: error
|
||||||
logstash:
|
logstash:
|
||||||
host: @logstash.host@
|
host: @logstash.host@
|
||||||
|
#拉卡拉支付和分账
|
||||||
|
lakala:
|
||||||
|
app_id: OP00000003
|
||||||
|
serial_no: 00dfba8194c41b84cf
|
||||||
|
merchant_no: 82229007392000A
|
||||||
|
pri_key_path: mall-pay/src/main/resources/payKey/lakala/dev/OP00000003_private_key.pem
|
||||||
|
lkl_cer_path: mall-pay/src/main/resources/payKey/lakala/dev/OP00000003_cert.cer
|
||||||
|
lkl_notify_cer_path: mall-pay/src/main/resources/payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
|
term_no: D9296400
|
||||||
|
sm4_key: uIj6CPg1GZAY10dXFfsEAQ==
|
||||||
|
server_url: https://test.wsmsd.cn/sit
|
||||||
@ -109,3 +109,14 @@ logging:
|
|||||||
springfox: error
|
springfox: error
|
||||||
logstash:
|
logstash:
|
||||||
host: @logstash.host@
|
host: @logstash.host@
|
||||||
|
#拉卡拉支付和分账
|
||||||
|
lakala:
|
||||||
|
app_id: OP00000003
|
||||||
|
serial_no: 00dfba8194c41b84cf
|
||||||
|
merchant_no: 82229007392000A
|
||||||
|
pri_key_path: mall-pay/src/main/resources/payKey/lakala/dev/OP00000003_private_key.pem
|
||||||
|
lkl_cer_path: mall-pay/src/main/resources/payKey/lakala/dev/OP00000003_cert.cer
|
||||||
|
lkl_notify_cer_path: mall-pay/src/main/resources/payKey/lakala/dev/lkl_notify_cert_v2.cer
|
||||||
|
term_no: D9296400
|
||||||
|
sm4_key: uIj6CPg1GZAY10dXFfsEAQ==
|
||||||
|
server_url: https://test.wsmsd.cn/sit
|
||||||
BIN
mall-pay/src/main/resources/lib/lkl-java-sdk-1.0.7.jar
Normal file
BIN
mall-pay/src/main/resources/lib/lkl-java-sdk-1.0.7.jar
Normal file
Binary file not shown.
@ -0,0 +1,21 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDYTCCAkmgAwIBAgIJAN+6gZTEG4TPMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV
|
||||||
|
BAYTAlVTMREwDwYDVQQIEwhzaGFuZ2hhaTERMA8GA1UEBxMIc2hhbmdoYWkxFDAS
|
||||||
|
BgNVBAMUC2xha2FsYV8yMDIxMB4XDTIxMDYxODA3MjEzNFoXDTMxMDYxOTA3MjEz
|
||||||
|
NFowSTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCHNoYW5naGFpMREwDwYDVQQHEwhz
|
||||||
|
aGFuZ2hhaTEUMBIGA1UEAxQLbGFrYWxhXzIwMjEwggEiMA0GCSqGSIb3DQEBAQUA
|
||||||
|
A4IBDwAwggEKAoIBAQDvDBZyHUDndAGxrIcsCV2njhNO3vCEZotTaWYSYwtDvkcA
|
||||||
|
b1EjsBFabXZaKigpqFXk5XXNI3NIHP9M8XKzIgGvc65NpLAfRjVql8JiTvLyYd1g
|
||||||
|
IUcOXMInabu+oX7dQSI1mS8XzqaoVRhDZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si
|
||||||
|
+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbWdhZ+NHwitnQwAJTLBFvfk28INM39G7XO
|
||||||
|
sXdVLfsooFdglVTOHpNuRiQAj9gShCCNrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/
|
||||||
|
klgDJa417E2wgP8VrwiXparO4FMzOGK15quuoD7DAgMBAAGjTDBKMAkGA1UdEwQC
|
||||||
|
MAAwEQYJYIZIAYb4QgEBBAQDAgTwMAsGA1UdDwQEAwIFoDAdBgNVHSUEFjAUBggr
|
||||||
|
BgEFBQcDAgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAI21YYAlH+Pc1ISv
|
||||||
|
nbQrGqL8suGL0Hh/8hGaFfrJEJEKr9OeC8jElUhck2MTmfu/Y1lB7r8RBrhGPXi4
|
||||||
|
kTXmB6ADs/9+ezNW3WXyFj7fhs3JcZ3mo33T9wyQySDKd//JrEtrTsc/s2PZ602y
|
||||||
|
qNmPomXSzjrlugaMyC7LI9sR44mc7sQnchjHoxrQFD5/usTFW72UQfYCORsQWYMt
|
||||||
|
0KKEyAcpRL51RE3xbX1WDtduFYGP62PbwLAn2nCL/j1wlF5hltWj7sditWqKgso5
|
||||||
|
F8BTffn2Bb0RdsNxqwMy1cTPrWLeXVOqMDu3ge7hvoav8lZKTjk5Kmqhs7wNAQXK
|
||||||
|
mg9qSwo=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGx
|
||||||
|
rIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M
|
||||||
|
8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhD
|
||||||
|
ZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbW
|
||||||
|
dhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCN
|
||||||
|
rpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK1
|
||||||
|
5quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4
|
||||||
|
mE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7
|
||||||
|
qCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZK
|
||||||
|
NXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X
|
||||||
|
3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAK
|
||||||
|
TPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk
|
||||||
|
9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gH
|
||||||
|
STTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0
|
||||||
|
Zr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLv
|
||||||
|
AtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeI
|
||||||
|
RgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlke
|
||||||
|
MzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw4
|
||||||
|
8zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBP
|
||||||
|
scd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDi
|
||||||
|
bEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCn
|
||||||
|
Ll2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEz
|
||||||
|
NzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3j
|
||||||
|
Aylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilq
|
||||||
|
CHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6
|
||||||
|
QsFLQgFyXgvDnzr/o+hQJelW
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEMTCCAxmgAwIBAgIGAXRTgcMnMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYT
|
||||||
|
AkNOMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYDVQQHDAdCZWlKaW5nMRcwFQYDVQQK
|
||||||
|
DA5MYWthbGEgQ28uLEx0ZDEqMCgGA1UEAwwhTGFrYWxhIE9yZ2FuaXphdGlvbiBW
|
||||||
|
YWxpZGF0aW9uIENBMB4XDTIwMTAxMDA1MjQxNFoXDTMwMTAwODA1MjQxNFowZTEL
|
||||||
|
MAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcx
|
||||||
|
FzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMRkwFwYDVQQDDBBBUElHVy5MQUtBTEEu
|
||||||
|
Q09NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt1zHL54HiI8d2sLJ
|
||||||
|
lwoQji3/ln0nsvfZ/XVpOjuB+1YR6/0LdxEDMC/hxI6iH2Rm5MjwWz3dmN/6BZeI
|
||||||
|
gwGeTOWJUZFARo8UduKrlhC6gWMRpAiiGC8wA8stikc5gYB+UeFVZi/aJ0WN0cpP
|
||||||
|
JYCvPBhxhMvhVDnd4hNohnR1L7k0ypuWg0YwGjC25FaNAEFBYP9EYUyCJjE//9Z7
|
||||||
|
sMzHR9SJYCqqo6r9bOH9G6sWKuEp+osuAh+kJIxJMHfipw7w3tEcWG0hce9u/el4
|
||||||
|
cYJtg8/PPMVoccKmeCzMvarr7jdKP4lenJbtwlgyfs+JgNu60KMUJH8RS72wC9NY
|
||||||
|
uFz09wIDAQABo4HVMIHSMIGSBgNVHSMEgYowgYeAFCnH4DkZPR6CZxRn/kIqVsMo
|
||||||
|
dJHpoWekZTBjMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpSmluZzEQMA4GA1UE
|
||||||
|
BwwHQmVpSmluZzEXMBUGA1UECgwOTGFrYWxhIENvLixMdGQxFzAVBgNVBAMMDkxh
|
||||||
|
a2FsYSBSb290IENBggYBaiUALIowHQYDVR0OBBYEFJ2Kx9YZfmWpkKFnC33C0r5D
|
||||||
|
K3rFMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUA
|
||||||
|
A4IBAQBZoeU0XyH9O0LGF9R+JyGwfU/O5amoB97VeM+5n9v2z8OCiIJ8eXVGKN9L
|
||||||
|
tl9QkpTEanYwK30KkpHcJP1xfVkhPi/cCMgfTWQ5eKYC7Zm16zk7n4CP6IIgZIqm
|
||||||
|
TVGsIGKk8RzWseyWPB3lfqMDR52V1tdA1S8lJ7a2Xnpt5M2jkDXoArl3SVSwCb4D
|
||||||
|
AmThYhak48M++fUJNYII9JBGRdRGbfJ2GSFdPXgesUL2CwlReQwbW4GZkYGOg9LK
|
||||||
|
CNPK6XShlNdvgPv0CCR08KCYRwC3HZ0y1F0NjaKzYdGNPrvOq9lA495ONZCvzYDo
|
||||||
|
gmsu/kd6eqxTs/JwdaIYr4sCMg8Z
|
||||||
|
-----END CERTIFICATE-----
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDYTCCAkmgAwIBAgIJAN+6gZTEG4TPMA0GCSqGSIb3DQEBCwUAMEkxCzAJBgNV
|
||||||
|
BAYTAlVTMREwDwYDVQQIEwhzaGFuZ2hhaTERMA8GA1UEBxMIc2hhbmdoYWkxFDAS
|
||||||
|
BgNVBAMUC2xha2FsYV8yMDIxMB4XDTIxMDYxODA3MjEzNFoXDTMxMDYxOTA3MjEz
|
||||||
|
NFowSTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCHNoYW5naGFpMREwDwYDVQQHEwhz
|
||||||
|
aGFuZ2hhaTEUMBIGA1UEAxQLbGFrYWxhXzIwMjEwggEiMA0GCSqGSIb3DQEBAQUA
|
||||||
|
A4IBDwAwggEKAoIBAQDvDBZyHUDndAGxrIcsCV2njhNO3vCEZotTaWYSYwtDvkcA
|
||||||
|
b1EjsBFabXZaKigpqFXk5XXNI3NIHP9M8XKzIgGvc65NpLAfRjVql8JiTvLyYd1g
|
||||||
|
IUcOXMInabu+oX7dQSI1mS8XzqaoVRhDZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si
|
||||||
|
+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbWdhZ+NHwitnQwAJTLBFvfk28INM39G7XO
|
||||||
|
sXdVLfsooFdglVTOHpNuRiQAj9gShCCNrpGsNQxDiJIxE43qRsNsRwigyo6DPJk/
|
||||||
|
klgDJa417E2wgP8VrwiXparO4FMzOGK15quuoD7DAgMBAAGjTDBKMAkGA1UdEwQC
|
||||||
|
MAAwEQYJYIZIAYb4QgEBBAQDAgTwMAsGA1UdDwQEAwIFoDAdBgNVHSUEFjAUBggr
|
||||||
|
BgEFBQcDAgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAI21YYAlH+Pc1ISv
|
||||||
|
nbQrGqL8suGL0Hh/8hGaFfrJEJEKr9OeC8jElUhck2MTmfu/Y1lB7r8RBrhGPXi4
|
||||||
|
kTXmB6ADs/9+ezNW3WXyFj7fhs3JcZ3mo33T9wyQySDKd//JrEtrTsc/s2PZ602y
|
||||||
|
qNmPomXSzjrlugaMyC7LI9sR44mc7sQnchjHoxrQFD5/usTFW72UQfYCORsQWYMt
|
||||||
|
0KKEyAcpRL51RE3xbX1WDtduFYGP62PbwLAn2nCL/j1wlF5hltWj7sditWqKgso5
|
||||||
|
F8BTffn2Bb0RdsNxqwMy1cTPrWLeXVOqMDu3ge7hvoav8lZKTjk5Kmqhs7wNAQXK
|
||||||
|
mg9qSwo=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvDBZyHUDndAGx
|
||||||
|
rIcsCV2njhNO3vCEZotTaWYSYwtDvkcAb1EjsBFabXZaKigpqFXk5XXNI3NIHP9M
|
||||||
|
8XKzIgGvc65NpLAfRjVql8JiTvLyYd1gIUcOXMInabu+oX7dQSI1mS8XzqaoVRhD
|
||||||
|
ZQWhXcJW9bxMulgnzvk0Ggw07AjGF7si+hP/Va8SJmN7EJwfQq6TpSxR+WdIHpbW
|
||||||
|
dhZ+NHwitnQwAJTLBFvfk28INM39G7XOsXdVLfsooFdglVTOHpNuRiQAj9gShCCN
|
||||||
|
rpGsNQxDiJIxE43qRsNsRwigyo6DPJk/klgDJa417E2wgP8VrwiXparO4FMzOGK1
|
||||||
|
5quuoD7DAgMBAAECggEBANhmWOt1EAx3OBFf3f4/fEjylQgRSiqRqg8Ymw6KGuh4
|
||||||
|
mE4Md6eW/B6geUOmZjVP7nIIR1wte28M0REWgn8nid8LGf+v1sB5DmIwgAf+8G/7
|
||||||
|
qCwd8/VMg3aqgQtRp0ckb5OV2Mv0h2pbnltkWHR8LDIMwymyh5uCApbn/aTrCAZK
|
||||||
|
NXcPOyAn9tM8Bu3FHk3Pf24Er3SN+bnGxgpzDrFjsDSHjDFT9UMIc2WdA3tuMv9X
|
||||||
|
3DDn0bRCsHnsIw3WrwY6HQ8mumdbURk+2Ey3eRFfMYxyS96kOgBC2hqZOlDwVPAK
|
||||||
|
TPtS4hoq+cQ0sRaJQ4T0UALJrBVHa+EESgRaTvrXqAECgYEA+WKmy9hcvp6IWZlk
|
||||||
|
9Q1JZ+dgIVxrO65zylK2FnD1/vcTx2JMn73WKtQb6vdvTuk+Ruv9hY9PEsf7S8gH
|
||||||
|
STTmzHOUgo5x0F8yCxXFnfji2juoUnDdpkjtQK5KySDcpQb5kcCJWEVi9v+zObM0
|
||||||
|
Zr1Nu5/NreE8EqUl3+7MtHOu1TMCgYEA9WM9P6m4frHPW7h4gs/GISA9LuOdtjLv
|
||||||
|
AtgCK4cW2mhtGNAMttD8zOBQrRuafcbFAyU9de6nhGwetOhkW9YSV+xRNa7HWTeI
|
||||||
|
RgXJuJBrluq5e1QGTIwZU/GujpNaR4Qiu0B8TodM/FME7htsyxjmCwEfT6SDYlke
|
||||||
|
MzTbMa9Q0DECgYBqsR/2+dvD2YMwAgZFKKgNAdoIq8dcwyfamUQ5mZ5EtGQL2yw4
|
||||||
|
8zibHh/LiIxgUD1Kjk/qQgNsX45NP4iOc0mCkrgomtRqdy+rumbPTNmQ0BEVJCBP
|
||||||
|
scd+8pIgNiTvnWpMRvj7gMP0NDTzLI3wnnCRIq8WAtR2jZ0Ejt+ZHBziLQKBgQDi
|
||||||
|
bEe/zqNmhDuJrpXEXmO7fTv3YB/OVwEj5p1Z/LSho2nHU3Hn3r7lbLYEhUvwctCn
|
||||||
|
Ll2fzC7Wic1rsGOqOcWDS5NDrZpUQGGF+yE/JEOiZcPwgH+vcjaMtp0TAfRzuQEz
|
||||||
|
NzV8YGwxB4mtC7E/ViIuVULHAk4ZGZI8PbFkDxjKgQKBgG8jEuLTI1tsP3kyaF3j
|
||||||
|
Aylnw7SkBc4gfe9knsYlw44YlrDSKr8AOp/zSgwvMYvqT+fygaJ3yf9uIBdrIilq
|
||||||
|
CHKXccZ9uA/bT5JfIi6jbg3EoE9YhB0+1aGAS1O2dBvUiD8tJ+BjAT4OB0UDpmM6
|
||||||
|
QsFLQgFyXgvDnzr/o+hQJelW
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEMTCCAxmgAwIBAgIGAXRTgcMnMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYT
|
||||||
|
AkNOMRAwDgYDVQQIDAdCZWlKaW5nMRAwDgYDVQQHDAdCZWlKaW5nMRcwFQYDVQQK
|
||||||
|
DA5MYWthbGEgQ28uLEx0ZDEqMCgGA1UEAwwhTGFrYWxhIE9yZ2FuaXphdGlvbiBW
|
||||||
|
YWxpZGF0aW9uIENBMB4XDTIwMTAxMDA1MjQxNFoXDTMwMTAwODA1MjQxNFowZTEL
|
||||||
|
MAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaUppbmcxEDAOBgNVBAcMB0JlaUppbmcx
|
||||||
|
FzAVBgNVBAoMDkxha2FsYSBDby4sTHRkMRkwFwYDVQQDDBBBUElHVy5MQUtBTEEu
|
||||||
|
Q09NMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt1zHL54HiI8d2sLJ
|
||||||
|
lwoQji3/ln0nsvfZ/XVpOjuB+1YR6/0LdxEDMC/hxI6iH2Rm5MjwWz3dmN/6BZeI
|
||||||
|
gwGeTOWJUZFARo8UduKrlhC6gWMRpAiiGC8wA8stikc5gYB+UeFVZi/aJ0WN0cpP
|
||||||
|
JYCvPBhxhMvhVDnd4hNohnR1L7k0ypuWg0YwGjC25FaNAEFBYP9EYUyCJjE//9Z7
|
||||||
|
sMzHR9SJYCqqo6r9bOH9G6sWKuEp+osuAh+kJIxJMHfipw7w3tEcWG0hce9u/el4
|
||||||
|
cYJtg8/PPMVoccKmeCzMvarr7jdKP4lenJbtwlgyfs+JgNu60KMUJH8RS72wC9NY
|
||||||
|
uFz09wIDAQABo4HVMIHSMIGSBgNVHSMEgYowgYeAFCnH4DkZPR6CZxRn/kIqVsMo
|
||||||
|
dJHpoWekZTBjMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVpSmluZzEQMA4GA1UE
|
||||||
|
BwwHQmVpSmluZzEXMBUGA1UECgwOTGFrYWxhIENvLixMdGQxFzAVBgNVBAMMDkxh
|
||||||
|
a2FsYSBSb290IENBggYBaiUALIowHQYDVR0OBBYEFJ2Kx9YZfmWpkKFnC33C0r5D
|
||||||
|
K3rFMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUA
|
||||||
|
A4IBAQBZoeU0XyH9O0LGF9R+JyGwfU/O5amoB97VeM+5n9v2z8OCiIJ8eXVGKN9L
|
||||||
|
tl9QkpTEanYwK30KkpHcJP1xfVkhPi/cCMgfTWQ5eKYC7Zm16zk7n4CP6IIgZIqm
|
||||||
|
TVGsIGKk8RzWseyWPB3lfqMDR52V1tdA1S8lJ7a2Xnpt5M2jkDXoArl3SVSwCb4D
|
||||||
|
AmThYhak48M++fUJNYII9JBGRdRGbfJ2GSFdPXgesUL2CwlReQwbW4GZkYGOg9LK
|
||||||
|
CNPK6XShlNdvgPv0CCR08KCYRwC3HZ0y1F0NjaKzYdGNPrvOq9lA495ONZCvzYDo
|
||||||
|
gmsu/kd6eqxTs/JwdaIYr4sCMg8Z
|
||||||
|
-----END CERTIFICATE-----
|
||||||
Loading…
Reference in New Issue
Block a user