diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/EntryManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/EntryManager.java
index 125864422..fcfd1224e 100644
--- a/cash-sdk/aggregation-pay/src/main/java/com/czg/EntryManager.java
+++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/EntryManager.java
@@ -9,6 +9,7 @@ import com.czg.dto.resp.EntryThirdRespDto;
import com.czg.dto.resp.QueryStatusResp;
import com.czg.exception.CzgException;
import com.czg.third.alipay.AlipayEntryManager;
+import com.czg.third.alipay.AlipayIsvEntryManager;
import com.czg.third.wechat.WechatEntryManager;
import com.czg.utils.AssertUtil;
import com.czg.utils.AsyncTaskExecutor;
@@ -40,7 +41,7 @@ public class EntryManager {
/**
* 查询微信进件状态
*
- * @param merchantCode 商户编号
+ * @param merchantCode 商户编号, 进件时返回的批次号 {@link com.czg.dto.resp.EntryRespDto#wechatApplyId}
* @return 进件状态
*/
public static QueryStatusResp queryWechatEntryStatus(String merchantCode) {
@@ -50,11 +51,11 @@ public class EntryManager {
/**
* 查询支付宝进件状态
*
- * @param merchantCode 商户编号
+ * @param batchNo 商户编号, 进件时返回的批次号 {@link com.czg.dto.resp.EntryRespDto#alipayOrderId}
* @return 进件状态
*/
- public static QueryStatusResp queryAlipayEntryStatus(String merchantCode) {
- return AlipayEntryManager.queryMerchantEntryStatus(null, merchantCode);
+ public static QueryStatusResp queryAlipayEntryStatus(String batchNo) {
+ return AlipayIsvEntryManager.queryMerchantBatchStatus(null, batchNo);
}
/**
@@ -77,7 +78,7 @@ public class EntryManager {
tasks.add(() -> WechatEntryManager.entryMerchant(null, reqDto));
}
if (ArrayUtil.contains(platform, PayCst.Platform.ALIPAY)) {
- tasks.add(() -> AlipayEntryManager.entryMerchant(null, reqDto));
+ tasks.add(() -> AlipayIsvEntryManager.entryMerchant(null, reqDto));
}
// 执行所有任务
@@ -235,6 +236,7 @@ public class EntryManager {
AssertUtil.isBlank(baseInfo.getUserType(), "商户类型不能为空");
AssertUtil.isBlank(baseInfo.getShortName(), "商户简称不能为空");
AssertUtil.isBlank(baseInfo.getMccCode(), "商户行业编码不能为空");
+ AssertUtil.isBlank(baseInfo.getAlipayAccount(), "支付宝账号不能为空");
AssertUtil.isBlank(baseInfo.getContactPersonType(), "联系人类型不能为空");
if (!PayCst.ContactPersonType.SUPER.equals(baseInfo.getContactPersonType()) && !PayCst.ContactPersonType.LEGAL.equals(baseInfo.getContactPersonType())) {
throw new CzgException("联系人类型错误");
@@ -367,11 +369,11 @@ public class EntryManager {
// uploadParamImage(merchantDto);
verifyEntryParam(merchantDto);
- uploadParamImage(merchantDto);
- System.out.println(merchantDto);
+// uploadParamImage(merchantDto);
+// System.out.println(merchantDto);
// entryMerchant(merchantDto, PayCst.Platform.WECHAT);
-// entryMerchant(merchantDto, PayCst.Platform.ALIPAY);
- entryMerchant(merchantDto, PayCst.Platform.WECHAT, PayCst.Platform.ALIPAY);
+ entryMerchant(merchantDto, PayCst.Platform.ALIPAY);
+// entryMerchant(merchantDto, PayCst.Platform.WECHAT, PayCst.Platform.ALIPAY);
}
private static AggregateMerchantDto getTestMerchantEntryData() {
@@ -382,7 +384,8 @@ public class EntryManager {
baseInfoDto.setUserType("1");
baseInfoDto.setCompanyChildType("1");
baseInfoDto.setShortName("测试商户");
- baseInfoDto.setMccCode("0741");
+ baseInfoDto.setAlipayAccount("1157756119@qq.com");
+ baseInfoDto.setMccCode("A0001_B0001");
baseInfoDto.setContactPersonType(PayCst.ContactPersonType.SUPER);
baseInfoDto.setContactName("张三");
baseInfoDto.setContactPersonId("110101199001011234");
diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/PayCst.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/PayCst.java
index 8bce68aae..606d44dae 100644
--- a/cash-sdk/aggregation-pay/src/main/java/com/czg/PayCst.java
+++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/PayCst.java
@@ -10,6 +10,11 @@ import java.util.List;
*/
public interface PayCst {
+ /**
+ * 长期有效时间
+ */
+ String LONG_TERM_DATE = "2099-12-31";
+
/**
* 平台
*/
diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/dto/resp/QueryStatusResp.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/dto/resp/QueryStatusResp.java
index b6edf25f2..79bf5cada 100644
--- a/cash-sdk/aggregation-pay/src/main/java/com/czg/dto/resp/QueryStatusResp.java
+++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/dto/resp/QueryStatusResp.java
@@ -1,6 +1,7 @@
package com.czg.dto.resp;
import lombok.Data;
+import lombok.experimental.Accessors;
/**
* 查询进件状态
@@ -8,6 +9,7 @@ import lombok.Data;
* @date 2026/1/7 17:12
*/
@Data
+@Accessors(chain = true)
public class QueryStatusResp {
/**
diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayEntryManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayEntryManager.java
index 105476b38..59198ff39 100644
--- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayEntryManager.java
+++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayEntryManager.java
@@ -2,6 +2,7 @@ package com.czg.third.alipay;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.FileItem;
@@ -344,11 +345,12 @@ public class AlipayEntryManager {
return entryParams;
}
- public static void main(String[] args) {
+ public static void main(String[] args) throws ApiException {
// queryBankBranchList("CMB", "陕西省", "西安市");
- uploadImage(null, "https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240312/31476c871c224389aea0ac4e17c964a3.jpg");
+// uploadImage(null, "https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240312/31476c871c224389aea0ac4e17c964a3.jpg");
+ test();
}
// https://opendocs.alipay.com/solution/0dec7x?pathHash=caec4753 直付通
@@ -361,6 +363,7 @@ public class AlipayEntryManager {
alipayConfig.setAlipayPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiQkrz+emAuS1mB3KKDOMmAZRd/BlPbh7fAIHAqAj1+QCZNcV3o2BTLIIqnuKpSlFXDG3uDzp2VsBxcizXuBbFyPGylnD9CgCj5abyh3+FIHPAZ2IM3TtpqImZ0TSPGXrMli4Nir7MvZktgccCqQKCC4o6iaDGz+UwWwJUIPna8fm2tiTZ+KH150CZbKVj4ZGNpBh5XSV/1dRgyQIV9D/EwSbkZ0n6VgKQLJBi0C2UE3QB17aL1Ir6+gDXIDbknN8O7GUD3aMGdThYdSRUb5wp9CZ5qfV7vCS/CgaRo38nhH3NOzkTL+7v0m1ZDHPmqEkn9VzZN6sCQdL7PoAOjHOCwIDAQAB");
alipayConfig.setPrivateKey("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCz3FkdffxZibdwis9W7eOW1dEjGAbSvRDL2ikfeCIW5KZNoIjUqxI0mIoUlLRRKO71QLHZS1Vb2aJp8jeOAqIPa8e76HTneQEzk3FGA8gpraSGvbadHWzvxnmYKsts1TBiEZQL82ySJXhQTJvZ6jyDM7s6wHHUnrH+Qi29QpppQ1sxsoJeCtajUgRg3btD6XbBcyFAX3pzM56Kw9eaIjZoD8WToZOM/Y3sqNL2uo8lLqcIpTrI7Pq5ZOspmBQ+t8v3rS9IdDZZMvd0trzS67AXwHz8rKPBT/lL1A4iHnXCHUvktusX1fPs3/RGY/a7PIddaBLnfY0GcueE16K7QcrXAgMBAAECggEAbSdT2eckp75BWoaTcGEs1tRqeM7TDT/6moyKmnOQ1K3tE31SrSYpBUxxuC3LBNo/sw2RIZtrcTOyMnPyLTgB3DP/4lUf5X51MTTQ8LnI1ypvh+pIki9Sdm3QS33lOOZk149tdpdDk6ozyx/DEcvq74EMpoo2SuAIi5LkKVDrXuehvGA/WeXtpmuPgqRFdIA+JBlA3knHk5XEQY/k2Y31gq5oCwNL9iT9OAZqVkukE6EnvCXE9t2rAV4/snYilaf/UaO+ktgEwSbPBQ8YKlovDAarMBbGtgr6E174A9djlPyR+W/fgx8rlTwSWtieb9MkO8LN3KSxgVs0kY5U8OHg8QKBgQDljJq9kTFHare+W/fAXdUy3tJprfNQCAii6s+GuDfTQiviVQDtWmdtHAN+xU3to7MepvVhwHsqtQnZXKTtZuwwxn82FNl7A5RYD3GVFW+wG6AsGLIdESrWxySoL6Kx8QmNpMEVg8acT/ywzW/RnUXS5vU7GIi8GA0vtyBo24R9KQKBgQDIlf/R9+iNk9oXlbB/k4um9eVvBBS7l5cx4E5Id5Dpp4kGZfPZEa7oDsEUstZZM9mgQLJK/noNWbcf0+BohCR5ux7SC12qIoxwN3k4BzTDqrS8BzFuVVp5PELUsf/uCbRn05iMzpiDUhj3Vde04wvjHYIobfKlZO2HeSWXCpUH/wKBgQC8wSuU6ck90pEY5QMKmZ3wYK1g3PsQOirv3Gmde+nbu7PePsuuYQJfBAQTwCZeXJezgtKP+PjOm2Nn6vhrhpB9YxvD2s0ijET1TG23i5L1myHQYNZFdJJnXgXUjqcX7v5ODMYA7QTqEBPXRnbGRK7fx66rU3dMQ/LD46+wyaFeUQKBgA4QTk53dkuu6SSsLyLSwoDjTsHY5Gc+urAZjQORtoxbXcUgEtfOYJgOqMT9wP+iHgkZYCbX7tDO0IMfxOUvFqueTgvmFhwergAUM6CVCMMLTf689l9JBr3nVrw4+rvC3G5HLLP6rEDQ2cVFtIkPPj8fS4fwJYopKGpOOS9843QbAoGBAMoHH8LqoZ50FLsospx/hJe24Cd8wCgQTXSa/hMqNZ1999JDhftMt7R0ZdB1he2LReACe0K9ntBU4H4u225zZ3wZlyOfoyerAHuLK/ysNlgIIzblZlOxbBJ64Kul8leXzlYy3tOZuZ997KqBcWPCE3LUBBNvM6E3blJUnlmJAVoi");
defaultClient.setAlipayConfig(alipayConfig);
+ log.info("dd: {}", JSONObject.toJSONString(alipayConfig));
AlipayOpenAgentApi api = new AlipayOpenAgentApi();
AlipayOpenAgentCreateModel data = new AlipayOpenAgentCreateModel();
ContactModel contactInfo = new ContactModel();
diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvEntryManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvEntryManager.java
new file mode 100644
index 000000000..5efcd1965
--- /dev/null
+++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayIsvEntryManager.java
@@ -0,0 +1,241 @@
+package com.czg.third.alipay;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.alipay.v3.ApiException;
+import com.alipay.v3.api.AlipayOpenAgentApi;
+import com.alipay.v3.api.AlipayOpenAgentCommonsignApi;
+import com.alipay.v3.api.AlipayOpenAgentFacetofaceApi;
+import com.alipay.v3.api.AlipayOpenAgentOrderApi;
+import com.alipay.v3.model.*;
+import com.czg.PayCst;
+import com.czg.dto.req.*;
+import com.czg.dto.resp.EntryThirdRespDto;
+import com.czg.dto.resp.QueryStatusResp;
+import com.czg.exception.CzgException;
+import com.czg.third.alipay.dto.config.AlipayConfigDto;
+import com.czg.utils.UploadFileUtil;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * 支付宝服务商进件管理
+ * ...
+ * @author yjjie
+ * @date 2026/1/8 13:34
+ */
+@Slf4j
+public class AlipayIsvEntryManager {
+
+ private static final String ERR_MESSAGE_KEY = "message";
+
+ public static QueryStatusResp queryMerchantBatchStatus(AlipayConfigDto configDto, String batchNo) {
+ QueryStatusResp respDto = new QueryStatusResp()
+ .setPlatform(PayCst.Platform.ALIPAY);
+ AlipayClient.setApiClient(configDto);
+
+ try {
+ AlipayOpenAgentOrderApi api = new AlipayOpenAgentOrderApi();
+ AlipayOpenAgentOrderQueryResponseModel response = api.query(batchNo);
+
+ log.info("支付宝查询进件状态: 响应={}", response);
+ respDto.setApplyId(batchNo);
+
+ switch (response.getOrderStatus()) {
+ case "MERCHANT_INFO_HOLD" -> {
+ respDto.setStatus(PayCst.EntryStatus.REJECTED);
+ respDto.setFailReason("三方异常,请重新提交");
+ return respDto;
+ }
+ case "MERCHANT_CONFIRM_TIME_OUT" -> {
+ respDto.setStatus(PayCst.EntryStatus.REJECTED);
+ respDto.setFailReason("商户确认超时,请重新提交");
+ return respDto;
+ }
+ case "MERCHANT_AUDITING" -> {
+ respDto.setStatus(PayCst.EntryStatus.AUDIT);
+ respDto.setFailReason("");
+ return respDto;
+ }
+ case "MERCHANT_CONFIRM" -> {
+ respDto.setStatus(PayCst.EntryStatus.SIGN);
+ respDto.setFailReason("");
+ respDto.setSignUrl(response.getConfirmUrl());
+ return respDto;
+ }
+ case "MERCHANT_APPLY_ORDER_CANCELED" -> {
+ respDto.setStatus(PayCst.EntryStatus.REJECTED);
+ respDto.setFailReason(response.getRejectReason());
+ return respDto;
+ }
+ case "MERCHANT_CONFIRM_SUCCESS" -> {
+ respDto.setStatus(PayCst.EntryStatus.FINISH);
+ respDto.setFailReason("");
+ respDto.setThirdMerchantId(response.getMerchantPid());
+ return respDto;
+ }
+ case null -> {
+ respDto.setStatus(PayCst.EntryStatus.REJECTED);
+ respDto.setFailReason("查询失败");
+ return respDto;
+ }
+ default -> {
+ return respDto;
+ }
+ }
+
+ } catch (ApiException e) {
+ String body = e.getResponseBody();
+ log.error("支付宝查询进件状态异常: {}", body);
+ JSONObject object = JSONObject.parseObject(body);
+ respDto.setStatus(PayCst.EntryStatus.REJECTED);
+ respDto.setFailReason(object.getString(ERR_MESSAGE_KEY));
+ return respDto;
+ }
+ }
+
+ /**
+ * 创建商户
+ * @param configDto 配置信息
+ * @param reqDto 请求信息
+ */
+ public static EntryThirdRespDto entryMerchant(AlipayConfigDto configDto, AggregateMerchantDto reqDto) {
+ AlipayClient.setApiClient(configDto);
+ EntryThirdRespDto respDto = new EntryThirdRespDto()
+ .setPlatform(PayCst.Platform.ALIPAY);
+ try {
+ String batchNo = createRequest(reqDto);
+
+ // 构造请求参数以调用接口
+ AlipayOpenAgentFacetofaceApi api = new AlipayOpenAgentFacetofaceApi();
+
+ AlipayOpenAgentFacetofaceSignModel signModel = buildSignModel(reqDto, batchNo);
+
+ File businessLicensePic = UploadFileUtil.getFileByUrl(reqDto.getBusinessLicenceInfo().getLicensePic().getUrl());
+ File shopScenePic = UploadFileUtil.getFileByUrl(reqDto.getStoreInfo().getInsidePic().getUrl());
+ File shopSignBoardPic = UploadFileUtil.getFileByUrl(reqDto.getStoreInfo().getDoorPic().getUrl());
+
+ Object response = api.sign(null, businessLicensePic, signModel, shopScenePic, shopSignBoardPic, null);
+ log.info("支付宝开启代商户签约: 响应={}", JSONObject.toJSONString(response));
+
+ try {
+ String orderNo = confirmRequest(batchNo);
+ respDto.setEntryId(orderNo);
+ respDto.setStatus(PayCst.EntryStatus.INIT);
+ respDto.setErrorMsg("");
+ return respDto;
+ } catch (CzgException e) {
+ respDto.setStatus(PayCst.EntryStatus.REJECTED);
+ respDto.setErrorMsg(e.getMessage());
+ return respDto;
+ }
+ } catch (ApiException e) {
+ String body = e.getResponseBody();
+ log.error("支付宝开启代商户签约,创建应用事务异常: {}", body);
+ JSONObject object = JSONObject.parseObject(body);
+ respDto.setStatus(PayCst.EntryStatus.REJECTED);
+ respDto.setErrorMsg(object.getString(ERR_MESSAGE_KEY));
+ return respDto;
+ } catch (IOException e) {
+ log.error("上传图片出错", e);
+ respDto.setStatus(PayCst.EntryStatus.REJECTED);
+ respDto.setErrorMsg("上传图片出错");
+ return respDto;
+ }
+ }
+
+ /**
+ * 开启代商户签约、创建应用事务
+ * @param reqDto 请求信息
+ * @return 请求ID
+ */
+ public static String createRequest(AggregateMerchantDto reqDto) {
+ AlipayOpenAgentApi api = new AlipayOpenAgentApi();
+ AlipayOpenAgentCreateModel openModel = new AlipayOpenAgentCreateModel();
+
+ MerchantBaseInfoDto info = reqDto.getMerchantBaseInfo();
+ LegalPersonInfoDto legalPersonInfo = reqDto.getLegalPersonInfo();
+ String contactPersonType = info.getContactPersonType();
+ boolean isSuper = PayCst.ContactPersonType.SUPER.equals(contactPersonType);
+
+ ContactModel contactModel = new ContactModel();
+ // 联系人名称
+ contactModel.setContactName(isSuper ? info.getContactName() : legalPersonInfo.getLegalPersonName());
+ // 联系人手机号码
+ contactModel.setContactMobile(isSuper ? info.getContactPhone() : legalPersonInfo.getLegalPersonPhone());
+ // 联系人邮箱
+ contactModel.setContactEmail(isSuper ? info.getContactEmail() : legalPersonInfo.getLegalPersonEmail());
+ openModel.setContactInfo(contactModel);
+
+ openModel.setAccount(reqDto.getMerchantBaseInfo().getAlipayAccount());
+
+ try {
+ AlipayOpenAgentCreateResponseModel responseModel = api.create(openModel);
+ log.info("支付宝开启代商户签约,开启事务: 结果={}, batchNo={}", responseModel.getBatchStatus(), responseModel.getBatchNo());
+ return responseModel.getBatchNo();
+ } catch (ApiException e) {
+ String body = e.getResponseBody();
+ log.error("支付宝开启代商户签约,开启事务异常: {}", body);
+ JSONObject object = JSONObject.parseObject(body);
+ throw new CzgException("支付宝开启代商户签约,开启事务异常: " + object.getString(ERR_MESSAGE_KEY));
+ }
+ }
+
+ public static String confirmRequest(String batchNo) {
+ AlipayClient.setApiClient(null);
+ // 构造请求参数以调用接口
+ AlipayOpenAgentCommonsignApi api = new AlipayOpenAgentCommonsignApi();
+ AlipayOpenAgentCommonsignConfirmModel data = new AlipayOpenAgentCommonsignConfirmModel();
+
+ // 设置ISV 代商户操作事务编号
+ data.setBatchNo(batchNo);
+ try {
+ AlipayOpenAgentCommonsignConfirmResponseModel response = api.confirm(data);
+ log.info("支付宝开启代商户签约,确认事务: 响应={}", response);
+ return response.getOrderNo();
+ } catch (ApiException e) {
+ String body = e.getResponseBody();
+ log.error("支付宝开启代商户签约,确认事务异常: {}", body);
+ JSONObject object = JSONObject.parseObject(body);
+ throw new CzgException(object.getString(ERR_MESSAGE_KEY));
+ }
+ }
+
+ public static AlipayOpenAgentFacetofaceSignModel buildSignModel(AggregateMerchantDto reqDto, String batchNo) {
+ AlipayOpenAgentFacetofaceSignModel signModel = new AlipayOpenAgentFacetofaceSignModel();
+ signModel.setBatchNo(batchNo);
+
+ MerchantBaseInfoDto baseInfo = reqDto.getMerchantBaseInfo();
+ LegalPersonInfoDto legalPersonInfo = reqDto.getLegalPersonInfo();
+ BusinessLicenceInfoDto licenceInfo = reqDto.getBusinessLicenceInfo();
+ StoreInfoDto storeInfo = reqDto.getStoreInfo();
+
+ signModel.setMccCode(baseInfo.getMccCode());
+ signModel.setRate("0.38");
+ signModel.setSignAndAuth(true);
+
+ signModel.setBusinessLicenseNo(licenceInfo.getLicenceNo());
+ signModel.setBusinessLicenseMobile(legalPersonInfo.getLegalPersonPhone());
+ signModel.setLongTerm(PayCst.LONG_TERM_DATE.equals(licenceInfo.getLicenceEndDate()));
+ signModel.setDateLimitation(licenceInfo.getLicenceStartDate());
+
+ signModel.setShopName(baseInfo.getShortName());
+
+ // 设置店铺地址
+ SignAddressInfo shopAddress = new SignAddressInfo();
+ shopAddress.setCountryCode("156");
+ shopAddress.setDistrictCode(storeInfo.getMercAreaCode());
+ shopAddress.setDetailAddress(storeInfo.getBusinessAddress());
+ shopAddress.setProvinceCode(storeInfo.getMercProvCode());
+ shopAddress.setCityCode(storeInfo.getMercCityCode());
+ signModel.setShopAddress(shopAddress);
+
+ return signModel;
+ }
+
+ public static void main(String[] args) {
+// confirmRequest("2026010815384505500018243");
+ queryMerchantBatchStatus(null, "2026010815384505500018243");
+ }
+}
diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayReqUtils.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayReqUtils.java
deleted file mode 100644
index c81f50ed6..000000000
--- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/AlipayReqUtils.java
+++ /dev/null
@@ -1,224 +0,0 @@
-package com.czg.third.alipay;
-
-
-import com.alipay.api.AlipayApiException;
-import com.alipay.api.AlipayConfig;
-import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.domain.*;
-import com.alipay.api.request.AntMerchantExpandIndirectZftSimplecreateRequest;
-import com.alipay.api.response.AntMerchantExpandIndirectZftSimplecreateResponse;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author yjjie
- * @date 2026/1/5 13:46
- */
-public class AlipayReqUtils {
- public static void main(String[] args) throws AlipayApiException {
-// DefaultAlipayClient defaultAlipayClient = AlipayClient.getDefaultClient(null);
-// AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
- DefaultAlipayClient defaultAlipayClient = new DefaultAlipayClient(getAlipayConfig());
-
- // 构造请求参数以调用接口
- AntMerchantExpandIndirectZftSimplecreateRequest request = new AntMerchantExpandIndirectZftSimplecreateRequest();
- AntMerchantExpandIndirectZftSimplecreateModel model = new AntMerchantExpandIndirectZftSimplecreateModel();
-
- // 设置商户编号
- model.setExternalId("1052900599901941");
-
- // 设置签约支付宝账户
- model.setBindingAlipayLogonId("18434286340");
-
- // 设置商户别名
- model.setAliasName("一点点");
-
- // 设置商户客服电话
-// model.setServicePhone("0571-85022088");
-
- // 设置商户联系人信息
- ContactInfo contactInfos = new ContactInfo();
- contactInfos.setIdCardNo("142725199902176419");
-// contactInfos.setPhone("0571-85022088");
- contactInfos.setName("王伟");
- contactInfos.setMobile("18434286340");
- contactInfos.setEmail("18434286340");
- model.setContactInfos(contactInfos);
-
- // 设置进件的二级商户名称
- model.setName("王伟");
-
- // 设置默认结算规则
- DefaultSettleRule defaultSettleRule = new DefaultSettleRule();
- defaultSettleRule.setDefaultSettleType("alipayAccount");
- defaultSettleRule.setDefaultSettleTarget("18434286340");
- model.setDefaultSettleRule(defaultSettleRule);
-
- // 设置结算支付宝账号
- model.setAlipayLogonId("18434286340");
-
- // 设置结算银行卡信息
- SettleCardInfo bizCards = new SettleCardInfo();
- bizCards.setAccountInstName("招商银行");
- bizCards.setBankCode("103290003044");
- bizCards.setAccountType("DC");
- bizCards.setUsageType("01");
- bizCards.setAccountHolderName("王伟");
- bizCards.setAccountInstCity("杭州市");
- bizCards.setAccountInstId("CMB");
- bizCards.setAccountNo("6214831259609102");
- bizCards.setAccountBranchName("招商银行杭州高新支行");
- bizCards.setAccountInstProvince("浙江省");
- model.setBizCards(bizCards);
-
- // 设置授权函
- model.setLicenseAuthLetterImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
-
- // 设置开票资料信息
-// MerchantInvoiceInfo invoiceInfo = new MerchantInvoiceInfo();
-// invoiceInfo.setMailTelephone("057162288888");
-// invoiceInfo.setTaxPayerQualification("01");
-// invoiceInfo.setAddress("浙江省杭州市西湖区西溪路蚂蚁金服");
-// invoiceInfo.setAcceptElectronic(false);
-// invoiceInfo.setTelephone("057162288888");
-// invoiceInfo.setTitle("蚂蚁金服(杭州)信息技术有限公司");
-// invoiceInfo.setMailName("张三");
-// invoiceInfo.setAutoInvoice(true);
-// invoiceInfo.setTaxPayerValid("19981011");
-// invoiceInfo.setTaxNo("51010482542598631219");
-// invoiceInfo.setBankName("中国银行");
-// AddressInfo mailAddress = new AddressInfo();
-// mailAddress.setAddress("万塘路18号黄龙时代广场B座");
-// mailAddress.setDistrictCode("371002");
-// mailAddress.setLatitude("60.270001");
-// mailAddress.setCityCode("371000");
-// mailAddress.setPoiid("B0FFIVU189");
-// mailAddress.setProvinceCode("370000");
-// mailAddress.setLongitude("120.760001");
-// invoiceInfo.setMailAddress(mailAddress);
-// invoiceInfo.setBankAccount("1234567812345678123");
-// model.setInvoiceInfo(invoiceInfo);
-
- // 设置商户使用服务
- List service = new ArrayList();
- service.add("当面付");
- model.setService(service);
-
- // 设置经营地址
- AddressInfo businessAddress = new AddressInfo();
- businessAddress.setAddress("万塘路18号黄龙时代广场B座");
- businessAddress.setDistrictCode("371002");
- businessAddress.setLatitude("60.270001");
- businessAddress.setCityCode("371000");
- businessAddress.setPoiid("B0FFIVU189");
- businessAddress.setProvinceCode("370000");
- businessAddress.setType("BUSINESS_ADDRESS");
- businessAddress.setLongitude("120.760001");
- model.setBusinessAddress(businessAddress);
-
- // 设置门头照
- model.setOutDoorImages("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
-
- // 设置内景照
- model.setInDoorImages("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
-
- // 设置商户站点信息
-// SiteInfo sites = new SiteInfo();
-// sites.setIcpOrgName("支付宝(中国)网络技术有限公司");
-// sites.setSiteType("01");
-// sites.setSiteDomain("www.alipay.com");
-// sites.setScreenshotImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
-// sites.setRemark("备注说明");
-// sites.setAuthLetterImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
-// sites.setSiteName("XXX网站");
-// sites.setMarket("豌豆荚");
-// sites.setPassword("测试密码");
-// sites.setDownload("https://itunes.apple.com/cn/app/id333206289?mt=8");
-// sites.setTinyAppId("2021004105652035");
-// sites.setSiteUrl("https://open.alipay.com");
-// sites.setIcpServiceName("支付宝");
-// sites.setRemarkImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
-// sites.setAccount("测试账号");
-// sites.setIcpNo("沪ICP备15027489号-2");
-// sites.setStatus("ONLINE");
-// model.setSites(sites);
-
- // 设置商户类别码 mcc
- model.setMcc("B0007");
-
- // 设置商户行业资质图片
- List qualifications = new ArrayList();
- IndustryQualificationInfo qualifications0 = new IndustryQualificationInfo();
- qualifications0.setIndustryQualificationImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
- qualifications0.setIndustryQualificationType("323");
- qualifications.add(qualifications0);
- model.setQualifications(qualifications);
-
- // 设置补充证件号
- model.setAdditionalCertNo("9133010608210550XR");
-
- // 设置补充证件类型
- model.setAdditionalCertType("201");
-
- // 设置补充证件图片
- model.setAdditionalCertImage("c6c0c7a1-b9d5-4e5d-b9d4-9eed39f00e65.jpg");
-
- // uid参数未来计划废弃,存量商户可继续使用,新商户请使用openid。请根据应用-开发配置-openid配置选择支持的字段。
- // model.setInfoSourceUid("2088111122223333");
-
- // 设置(平替原来的info_source_uid字段
-// model.setInfoSourceOpenId("074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5");
-
- // uid参数未来计划废弃,存量商户可继续使用,新商户请使用openid。请根据应用-开发配置-openid配置选择支持的字段。
- // model.setOverseaSettleAccount("2088111122223333");
-
- // 设置(平替原来的oversea_settle_open_id字段
-// model.setOverseaSettleOpenId("074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5");
-
- // 设置二级商户与服务商的签约时间
- model.setSignTimeWithIsv("2015-04-15");
-
- // 设置代扣产品信息
- ZFTWithholdingInfo zftWithholdingInfo = new ZFTWithholdingInfo();
- zftWithholdingInfo.setWithholdingServiceFeatureName("GENERAL_WITHHOLDING_P");
- zftWithholdingInfo.setSignScene("DEFAULT");
- model.setZftWithholdingInfo(zftWithholdingInfo);
-
- // 设置交易场景
- List tradeScene = new ArrayList();
- tradeScene.add("TINY_APP");
- model.setTradeScene(tradeScene);
-
- request.setBizModel(model);
- // 第三方代调用模式下请设置app_auth_token
- // request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
-
- AntMerchantExpandIndirectZftSimplecreateResponse response = defaultAlipayClient.execute(request);
- System.out.println(response.getBody());
-
- if (response.isSuccess()) {
- System.out.println("调用成功");
- } else {
- System.out.println("调用失败");
- // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
- // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
- // System.out.println(diagnosisUrl);
- }
- }
-
- private static AlipayConfig getAlipayConfig() {
- String privateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQD48HaUoV7OH7os+9L01kHgxzwIhJick4OkFq4aHsntsXEJ J3gedhuEZtV8oHKZ30DPW12IJ4S8NXtpr8OWaqrAPFonf4wVaRY1d0yIAea57kfLEn9oOEEy4FzARgMNDkyxC+/3OUdGbLHpTjfVX3gusXsEhUDy1/WewihAkoNYF37+W3W/uVLzeWoPq0EcUbRv/G/t/p6gL69ltsMAiVFG4Q/Yk24YAN6lYgBPNLXUEwQ1Q+T+1omjfavHgvarKOp33z3JOUH+aGOmDsJ5Y9gyGtJzOCipAd8Zcv+T1ygsEzZYO1/gzcbPnfO1ShqStCHzssuw8FBVx2JdfQKXKMMNAgMBAAECggEAVTrO/pg5Q00titU1Jspsh67u6OOs9H605Ws2dI7yB8VmtAGlaJh7V1t14FN2qSP8poHbhhAxq9aLyGV7C3a9u09udnN+3J28EtYjh7VO732bavWMVXxdJjQWzWWrCb9JlpxFrlkYBA6W4w/6ob0sAqCVQ7jzwbEa0R4cde8ztOa5nysKSfr4YTSs0gqvoiC6fmg8eiRJraEQBoYz9VkKFtOhhh/4w5FhVcYQ2gQvZ3kK3QVuD1eJIQKlCtz8qaox9lXKDiZT4SCmnKshdUL0u5TYIcYeBjZmhJz0Q50KHcpZrCs5y7I0+vRBH3hU+TKSQt7ureymwhbwWMHScLV2gQKBgQD+58SHXhr5M8NGagAmTdsgmCnNv2kOYMd4STyPMY10SVwCv1Bk808ZuP+7e558J1b5/OuDLI5dLq6xrZ/1wLv1G++XqxI00hlFuWS5mUGJVcXotT1mw20rVeUILc7Qe3mLvbMGgfyKf4A7Qa5SSZ4bDeDTJYaFxyiQ281hMzDuPQKBgQD6AiL/Na2/uPH4CG6juwpjYvYVUcjK+7gbRwf3wWsWMpk90Z4ju2iUiP5c1J/oK9P+1T3PIr6M4Xjza8JJj+r9KC/PVB0gBv6vVM96cDpKUEy/UMpcn/T81vqj/Z+WEOODU8Ms6NiTTm+u9ldvpCjbu0u8M+9c0JeIyadJvSTFEQKBgQCsxmFyM3nq8YfpgU2qqNjfBeRH3faSVUy+nj1a/YZYjKS+A/i1BCnYUImeBVNN6chNV342ggvY4xxruDiU9Vcw8wd58O09Oi8BEIFSP6upL6cebUI6Fjo3xlegLJRiwV6INkNTJOYM5hD/mSxUACwXQFfkJipBINXBIgraWD1RLQKBgQCj49axWq0F6+WjZVOyPaD3uh37p9trRUxRhWTxw3fB23WdktaKMgbCqHOmwzP4bRLSEVQtf2dOz1gMqu14b8HqJvgAf/F/11YJ9hz09LEhmjZVjE68HZfqT7uK2W5OX8/lfXmK7TFcj6SjG5YB96lZMhTZ0WnufEd6QkdKDZYXIQKBgQD9GDTcIMbFwbEaKHnfZaTD3f876EGRgsgrCxwdEk7LBCRPwWo7yI929M4psIlpNwNeiyjBkBunWIVkpznp6qPtJqagIPUYesU4f5v6/okq5wcpaNKSkWbIvWVLaLGOiA1aeGJtbpMpyClbSr52puHpRRdvAiIEQ74yYh0JX8q96g==";
- String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiQkrz+emAuS1mB3KKDOMmAZRd/BlPbh7fAIHAqAj1+QCZNcV3o2BTLIIqnuKpSlFXDG3uDzp2VsBxcizXuBbFyPGylnD9CgCj5abyh3+FIHPAZ2IM3TtpqImZ0TSPGXrMli4Nir7MvZktgccCqQKCC4o6iaDGz+UwWwJUIPna8fm2tiTZ+KH150CZbKVj4ZGNpBh5XSV/1dRgyQIV9D/EwSbkZ0n6VgKQLJBi0C2UE3QB17aL1Ir6+gDXIDbknN8O7GUD3aMGdThYdSRUb5wp9CZ5qfV7vCS/CgaRo38nhH3NOzkTL+7v0m1ZDHPmqEkn9VzZN6sCQdL7PoAOjHOCwIDAQAB";
- AlipayConfig alipayConfig = new AlipayConfig();
- alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
- alipayConfig.setAppId("2021004174605036");
- alipayConfig.setPrivateKey(privateKey);
- alipayConfig.setFormat("json");
- alipayConfig.setAlipayPublicKey(alipayPublicKey);
- alipayConfig.setCharset("UTF-8");
- alipayConfig.setSignType("RSA2");
- return alipayConfig;
- }
-
-}
diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/dto/config/AlipayConfigDto.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/dto/config/AlipayConfigDto.java
index d1ce39399..3e9e39da2 100644
--- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/dto/config/AlipayConfigDto.java
+++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/alipay/dto/config/AlipayConfigDto.java
@@ -34,10 +34,15 @@ public class AlipayConfigDto {
public static AlipayConfigDto getDefaultConfig() {
return new AlipayConfigDto()
- .setAppId("2021004174605036")
- .setPrivateKey("MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQD48HaUoV7OH7os+9L01kHgxzwIhJick4OkFq4aHsntsXEJ J3gedhuEZtV8oHKZ30DPW12IJ4S8NXtpr8OWaqrAPFonf4wVaRY1d0yIAea57kfLEn9oOEEy4FzARgMNDkyxC+/3OUdGbLHpTjfVX3gusXsEhUDy1/WewihAkoNYF37+W3W/uVLzeWoPq0EcUbRv/G/t/p6gL69ltsMAiVFG4Q/Yk24YAN6lYgBPNLXUEwQ1Q+T+1omjfavHgvarKOp33z3JOUH+aGOmDsJ5Y9gyGtJzOCipAd8Zcv+T1ygsEzZYO1/gzcbPnfO1ShqStCHzssuw8FBVx2JdfQKXKMMNAgMBAAECggEAVTrO/pg5Q00titU1Jspsh67u6OOs9H605Ws2dI7yB8VmtAGlaJh7V1t14FN2qSP8poHbhhAxq9aLyGV7C3a9u09udnN+3J28EtYjh7VO732bavWMVXxdJjQWzWWrCb9JlpxFrlkYBA6W4w/6ob0sAqCVQ7jzwbEa0R4cde8ztOa5nysKSfr4YTSs0gqvoiC6fmg8eiRJraEQBoYz9VkKFtOhhh/4w5FhVcYQ2gQvZ3kK3QVuD1eJIQKlCtz8qaox9lXKDiZT4SCmnKshdUL0u5TYIcYeBjZmhJz0Q50KHcpZrCs5y7I0+vRBH3hU+TKSQt7ureymwhbwWMHScLV2gQKBgQD+58SHXhr5M8NGagAmTdsgmCnNv2kOYMd4STyPMY10SVwCv1Bk808ZuP+7e558J1b5/OuDLI5dLq6xrZ/1wLv1G++XqxI00hlFuWS5mUGJVcXotT1mw20rVeUILc7Qe3mLvbMGgfyKf4A7Qa5SSZ4bDeDTJYaFxyiQ281hMzDuPQKBgQD6AiL/Na2/uPH4CG6juwpjYvYVUcjK+7gbRwf3wWsWMpk90Z4ju2iUiP5c1J/oK9P+1T3PIr6M4Xjza8JJj+r9KC/PVB0gBv6vVM96cDpKUEy/UMpcn/T81vqj/Z+WEOODU8Ms6NiTTm+u9ldvpCjbu0u8M+9c0JeIyadJvSTFEQKBgQCsxmFyM3nq8YfpgU2qqNjfBeRH3faSVUy+nj1a/YZYjKS+A/i1BCnYUImeBVNN6chNV342ggvY4xxruDiU9Vcw8wd58O09Oi8BEIFSP6upL6cebUI6Fjo3xlegLJRiwV6INkNTJOYM5hD/mSxUACwXQFfkJipBINXBIgraWD1RLQKBgQCj49axWq0F6+WjZVOyPaD3uh37p9trRUxRhWTxw3fB23WdktaKMgbCqHOmwzP4bRLSEVQtf2dOz1gMqu14b8HqJvgAf/F/11YJ9hz09LEhmjZVjE68HZfqT7uK2W5OX8/lfXmK7TFcj6SjG5YB96lZMhTZ0WnufEd6QkdKDZYXIQKBgQD9GDTcIMbFwbEaKHnfZaTD3f876EGRgsgrCxwdEk7LBCRPwWo7yI929M4psIlpNwNeiyjBkBunWIVkpznp6qPtJqagIPUYesU4f5v6/okq5wcpaNKSkWbIvWVLaLGOiA1aeGJtbpMpyClbSr52puHpRRdvAiIEQ74yYh0JX8q96g==")
+ .setAppId("2021006121646825")
+ .setPrivateKey("MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCz3FkdffxZibdwis9W7eOW1dEjGAbSvRDL2ikfeCIW5KZNoIjUqxI0mIoUlLRRKO71QLHZS1Vb2aJp8jeOAqIPa8e76HTneQEzk3FGA8gpraSGvbadHWzvxnmYKsts1TBiEZQL82ySJXhQTJvZ6jyDM7s6wHHUnrH+Qi29QpppQ1sxsoJeCtajUgRg3btD6XbBcyFAX3pzM56Kw9eaIjZoD8WToZOM/Y3sqNL2uo8lLqcIpTrI7Pq5ZOspmBQ+t8v3rS9IdDZZMvd0trzS67AXwHz8rKPBT/lL1A4iHnXCHUvktusX1fPs3/RGY/a7PIddaBLnfY0GcueE16K7QcrXAgMBAAECggEAbSdT2eckp75BWoaTcGEs1tRqeM7TDT/6moyKmnOQ1K3tE31SrSYpBUxxuC3LBNo/sw2RIZtrcTOyMnPyLTgB3DP/4lUf5X51MTTQ8LnI1ypvh+pIki9Sdm3QS33lOOZk149tdpdDk6ozyx/DEcvq74EMpoo2SuAIi5LkKVDrXuehvGA/WeXtpmuPgqRFdIA+JBlA3knHk5XEQY/k2Y31gq5oCwNL9iT9OAZqVkukE6EnvCXE9t2rAV4/snYilaf/UaO+ktgEwSbPBQ8YKlovDAarMBbGtgr6E174A9djlPyR+W/fgx8rlTwSWtieb9MkO8LN3KSxgVs0kY5U8OHg8QKBgQDljJq9kTFHare+W/fAXdUy3tJprfNQCAii6s+GuDfTQiviVQDtWmdtHAN+xU3to7MepvVhwHsqtQnZXKTtZuwwxn82FNl7A5RYD3GVFW+wG6AsGLIdESrWxySoL6Kx8QmNpMEVg8acT/ywzW/RnUXS5vU7GIi8GA0vtyBo24R9KQKBgQDIlf/R9+iNk9oXlbB/k4um9eVvBBS7l5cx4E5Id5Dpp4kGZfPZEa7oDsEUstZZM9mgQLJK/noNWbcf0+BohCR5ux7SC12qIoxwN3k4BzTDqrS8BzFuVVp5PELUsf/uCbRn05iMzpiDUhj3Vde04wvjHYIobfKlZO2HeSWXCpUH/wKBgQC8wSuU6ck90pEY5QMKmZ3wYK1g3PsQOirv3Gmde+nbu7PePsuuYQJfBAQTwCZeXJezgtKP+PjOm2Nn6vhrhpB9YxvD2s0ijET1TG23i5L1myHQYNZFdJJnXgXUjqcX7v5ODMYA7QTqEBPXRnbGRK7fx66rU3dMQ/LD46+wyaFeUQKBgA4QTk53dkuu6SSsLyLSwoDjTsHY5Gc+urAZjQORtoxbXcUgEtfOYJgOqMT9wP+iHgkZYCbX7tDO0IMfxOUvFqueTgvmFhwergAUM6CVCMMLTf689l9JBr3nVrw4+rvC3G5HLLP6rEDQ2cVFtIkPPj8fS4fwJYopKGpOOS9843QbAoGBAMoHH8LqoZ50FLsospx/hJe24Cd8wCgQTXSa/hMqNZ1999JDhftMt7R0ZdB1he2LReACe0K9ntBU4H4u225zZ3wZlyOfoyerAHuLK/ysNlgIIzblZlOxbBJ64Kul8leXzlYy3tOZuZ997KqBcWPCE3LUBBNvM6E3blJUnlmJAVoi")
.setAlipayPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiQkrz+emAuS1mB3KKDOMmAZRd/BlPbh7fAIHAqAj1+QCZNcV3o2BTLIIqnuKpSlFXDG3uDzp2VsBxcizXuBbFyPGylnD9CgCj5abyh3+FIHPAZ2IM3TtpqImZ0TSPGXrMli4Nir7MvZktgccCqQKCC4o6iaDGz+UwWwJUIPna8fm2tiTZ+KH150CZbKVj4ZGNpBh5XSV/1dRgyQIV9D/EwSbkZ0n6VgKQLJBi0C2UE3QB17aL1Ir6+gDXIDbknN8O7GUD3aMGdThYdSRUb5wp9CZ5qfV7vCS/CgaRo38nhH3NOzkTL+7v0m1ZDHPmqEkn9VzZN6sCQdL7PoAOjHOCwIDAQAB")
- .setDomain("https://openapi.alipay.com/gateway.do");
+ .setDomain("https://openapi.alipay.com");
+// return new AlipayConfigDto()
+// .setAppId("2021004174605036")
+// .setPrivateKey("MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQD48HaUoV7OH7os+9L01kHgxzwIhJick4OkFq4aHsntsXEJ J3gedhuEZtV8oHKZ30DPW12IJ4S8NXtpr8OWaqrAPFonf4wVaRY1d0yIAea57kfLEn9oOEEy4FzARgMNDkyxC+/3OUdGbLHpTjfVX3gusXsEhUDy1/WewihAkoNYF37+W3W/uVLzeWoPq0EcUbRv/G/t/p6gL69ltsMAiVFG4Q/Yk24YAN6lYgBPNLXUEwQ1Q+T+1omjfavHgvarKOp33z3JOUH+aGOmDsJ5Y9gyGtJzOCipAd8Zcv+T1ygsEzZYO1/gzcbPnfO1ShqStCHzssuw8FBVx2JdfQKXKMMNAgMBAAECggEAVTrO/pg5Q00titU1Jspsh67u6OOs9H605Ws2dI7yB8VmtAGlaJh7V1t14FN2qSP8poHbhhAxq9aLyGV7C3a9u09udnN+3J28EtYjh7VO732bavWMVXxdJjQWzWWrCb9JlpxFrlkYBA6W4w/6ob0sAqCVQ7jzwbEa0R4cde8ztOa5nysKSfr4YTSs0gqvoiC6fmg8eiRJraEQBoYz9VkKFtOhhh/4w5FhVcYQ2gQvZ3kK3QVuD1eJIQKlCtz8qaox9lXKDiZT4SCmnKshdUL0u5TYIcYeBjZmhJz0Q50KHcpZrCs5y7I0+vRBH3hU+TKSQt7ureymwhbwWMHScLV2gQKBgQD+58SHXhr5M8NGagAmTdsgmCnNv2kOYMd4STyPMY10SVwCv1Bk808ZuP+7e558J1b5/OuDLI5dLq6xrZ/1wLv1G++XqxI00hlFuWS5mUGJVcXotT1mw20rVeUILc7Qe3mLvbMGgfyKf4A7Qa5SSZ4bDeDTJYaFxyiQ281hMzDuPQKBgQD6AiL/Na2/uPH4CG6juwpjYvYVUcjK+7gbRwf3wWsWMpk90Z4ju2iUiP5c1J/oK9P+1T3PIr6M4Xjza8JJj+r9KC/PVB0gBv6vVM96cDpKUEy/UMpcn/T81vqj/Z+WEOODU8Ms6NiTTm+u9ldvpCjbu0u8M+9c0JeIyadJvSTFEQKBgQCsxmFyM3nq8YfpgU2qqNjfBeRH3faSVUy+nj1a/YZYjKS+A/i1BCnYUImeBVNN6chNV342ggvY4xxruDiU9Vcw8wd58O09Oi8BEIFSP6upL6cebUI6Fjo3xlegLJRiwV6INkNTJOYM5hD/mSxUACwXQFfkJipBINXBIgraWD1RLQKBgQCj49axWq0F6+WjZVOyPaD3uh37p9trRUxRhWTxw3fB23WdktaKMgbCqHOmwzP4bRLSEVQtf2dOz1gMqu14b8HqJvgAf/F/11YJ9hz09LEhmjZVjE68HZfqT7uK2W5OX8/lfXmK7TFcj6SjG5YB96lZMhTZ0WnufEd6QkdKDZYXIQKBgQD9GDTcIMbFwbEaKHnfZaTD3f876EGRgsgrCxwdEk7LBCRPwWo7yI929M4psIlpNwNeiyjBkBunWIVkpznp6qPtJqagIPUYesU4f5v6/okq5wcpaNKSkWbIvWVLaLGOiA1aeGJtbpMpyClbSr52puHpRRdvAiIEQ74yYh0JX8q96g==")
+// .setAlipayPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiQkrz+emAuS1mB3KKDOMmAZRd/BlPbh7fAIHAqAj1+QCZNcV3o2BTLIIqnuKpSlFXDG3uDzp2VsBxcizXuBbFyPGylnD9CgCj5abyh3+FIHPAZ2IM3TtpqImZ0TSPGXrMli4Nir7MvZktgccCqQKCC4o6iaDGz+UwWwJUIPna8fm2tiTZ+KH150CZbKVj4ZGNpBh5XSV/1dRgyQIV9D/EwSbkZ0n6VgKQLJBi0C2UE3QB17aL1Ir6+gDXIDbknN8O7GUD3aMGdThYdSRUb5wp9CZ5qfV7vCS/CgaRo38nhH3NOzkTL+7v0m1ZDHPmqEkn9VzZN6sCQdL7PoAOjHOCwIDAQAB")
+// .setDomain("https://openapi.alipay.com/gateway.do");
// return new AlipayConfigDto()
// .setAppId("2021004145625815")
// .setPrivateKey("MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCAjDBuS8K/IJb9ui+KuNm/sTUdEiaji4BNpZ92avO1N5JpNlGmac6ec4p3tNFT950sBLcQkClcUpQxUHQzAT6DYNNXOKyvfI/EmcqwCw6PaMNLs/8cV//J2WWZBUhLaOsjKurpm9/3W5MnTh4BGxIfBoeBMA8f8K3BgKdmyKtvIEV2h2cyjsMskdn+g6oNZcmWcms0pvpPHyH46mRaGFhpp0v19wX3WsamGldh1L2VntmaDN3C2XbSrXv90XYp5bEUqwTbLwXpMAlzTibF56d/iqv9oYi8cpAKougUFLOymnbutLNs2tLrEDSFwHcmG2/wbZHybZyYcIgFgv4arf+tAgMBAAECggEAf7hKKlw1y6Z6vvAtalxNZUuRZSfyog3p1bwYWxTavZPQcZ7Zs0lvVDmiO1u5m/7q96BbryY9IhCeUv0H5uF2lhwu/3s9AEL3qTPQkeb6eXxyhhX6A9RfPdM1Qbtg4CQHdHKg4qjP9znSVHwmDZ0y/QaEvdPdQzPjv92u9c2tn4N4x6XyBYcU5gzxiJNnIugCmBgcJo/3H2fgV+XXEhORPvy5of9b4oATHEaLS/8dAS2wuOjhzaGS4MXp3VkXn3XaYjwSzaL03qYWA+xm+aO5sJv8bmqZW7sNVck5o3sPo7cQ4VkBFVzyrRdmJcxcSRJ9MsB9JsrhoKI8pgaXrVie4QKBgQDU2vai0lpBIK/0jzRpPNoqdT8lnafnnWni8nU4kfAh+gCLi+HBPhQRT0kv4unQc2q2/gALE7sgZVO00JGY5a3R0orsojPoUSZlpypGW7GGqKy576NHn0nw4o/PdfysT92VWgt1hlfTf6qfCDhfE9APU+RGvlSWXcT8nxVel3iUaQKBgQCamoJN6+4v+chJvL2nqV8NVVRLp0vDIHxs1QOtKwUodx8Qp1D6CJYtavCXn8aNUFVNQJPJ7TQPpJjXP2rI4SN01weDwx+I+wh8PBGHV6/234R+6TvFgY1PrYgCdfNP4i/E7B4uyEhAxdU73PB8qkqRAeJGok05p7oG71KCOBiYpQKBgEZfGflcuDAeAW5GRhqg3rP4zWa/R7qgZVh9tll8jjp9b96y4XFE99d9MgId8BVVgyt6sEL5Q/2C4ni+F9TH4n6jMADp42VkJuCmsqhOOlP9whU67+2G8Sgtj0QUivPg964f9ffl8XVgGOW5DwIIB9p5btggptCLscufQK5kP545AoGADBvf6tR4wl8w9b2HqTMV08iEIqzGvVC1Dh0c/Zop/EJgN4CzUfIMOSBwGaAVAApzs+pD6QPgGP2OTwWTioo/qa4R05sbxDHNN1XJFa2jhZV6HiqMWOrNs5jm1zJ/zRjtHuJTdtyO9CvKiLbESy9XScY4/8lEfSiK5HIoJzTXkFUCgYAkYkvkW6psJpWj05XWq44UN0n6QOU/Igl35Um/iuOMVhsTmIt09STQVTuzJzfH82+sCqoRsD1blE5unKNUC1DK77aNKTv3Z0dxN9R7FAyfZRiYQXTrbBPBqWjay6FCNxn8e8UsJN4Z6FIV2LGlQI114krSap1MALKLVvnld0NaUQ==")
diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatEntryManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatEntryManager.java
index 0b320481e..a656b42f8 100644
--- a/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatEntryManager.java
+++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/third/wechat/WechatEntryManager.java
@@ -42,15 +42,15 @@ public class WechatEntryManager {
* 查询商户进件状态
*
* @param configDto 配置信息
- * @param merchantCode 自系统的商户编号
+ * @param applyId 自系统的商户编号
* @return 进件状态
*/
- public static QueryStatusResp queryMerchantEntryStatus(WechatPayConfigDto configDto, String merchantCode) {
+ public static QueryStatusResp queryMerchantEntryStatus(WechatPayConfigDto configDto, String applyId) {
QueryStatusResp queryStatusResp = new QueryStatusResp();
queryStatusResp.setPlatform(PayCst.Platform.WECHAT);
- queryStatusResp.setMerchantCode(merchantCode);
+ queryStatusResp.setMerchantCode(applyId);
- String resp = WechatReqUtils.getReq(configDto, "/v3/applyment4sub/applyment/business_code/" + merchantCode, Map.of());
+ String resp = WechatReqUtils.getReq(configDto, "/v3/applyment4sub/applyment/applyment_id/" + applyId, Map.of());
JSONObject object = JSONObject.parseObject(resp);
JSONObject data = object.getJSONObject("data");
if (data == null) {
diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/utils/UploadFileUtil.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/utils/UploadFileUtil.java
index b8b61121d..485436290 100644
--- a/cash-sdk/aggregation-pay/src/main/java/com/czg/utils/UploadFileUtil.java
+++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/utils/UploadFileUtil.java
@@ -2,10 +2,14 @@ package com.czg.utils;
import lombok.extern.slf4j.Slf4j;
+import java.io.File;
+import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.regex.Pattern;
/**
@@ -33,6 +37,21 @@ public class UploadFileUtil {
return "png";
}
+ /**
+ * 根据图片URL获取图片文件
+ *
+ * @param url 图片URL
+ * @return 图片文件
+ */
+ public static File getFileByUrl(String url) throws IOException {
+ byte[] bytes = downloadImage(url);
+
+ Path tempFile = Files.createTempFile("image_", "." + extractImageExtension(url));
+ Files.write(tempFile, bytes);
+
+ return tempFile.toFile();
+ }
+
/**
* 下载图片
* @param url 图片地址