From 8a8cef3005abc882e1ff92be2083a67b331eaa8d Mon Sep 17 00:00:00 2001 From: gong <1157756119@qq.com> Date: Mon, 29 Dec 2025 15:30:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=94=AF=E4=BB=98=E5=AE=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cash-dependencies/pom.xml | 7 +++ cash-sdk/aggregation-pay/pom.xml | 5 ++ .../com/czg/alipay/AlipayEntryManager.java | 49 +++++++++++++++++++ .../dto/AlipayCreateContactInfoDto.java | 34 +++++++++++++ .../com/czg/alipay/dto/AlipayCreateDto.java | 37 ++++++++++++++ 5 files changed, 132 insertions(+) create mode 100644 cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/AlipayEntryManager.java create mode 100644 cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/dto/AlipayCreateContactInfoDto.java create mode 100644 cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/dto/AlipayCreateDto.java diff --git a/cash-dependencies/pom.xml b/cash-dependencies/pom.xml index cbbd275f7..a598172c8 100644 --- a/cash-dependencies/pom.xml +++ b/cash-dependencies/pom.xml @@ -43,6 +43,7 @@ 2.9.10 4.1.128.Final 0.2.17 + 3.1.65.ALL @@ -275,6 +276,12 @@ wechatpay-java ${wechatpay.version} + + + com.alipay.sdk + alipay-sdk-java-v3 + ${apipay-v3.version} + diff --git a/cash-sdk/aggregation-pay/pom.xml b/cash-sdk/aggregation-pay/pom.xml index 3df1fb396..1955b7850 100644 --- a/cash-sdk/aggregation-pay/pom.xml +++ b/cash-sdk/aggregation-pay/pom.xml @@ -25,6 +25,11 @@ com.github.wechatpay-apiv3 wechatpay-java + + + com.alipay.sdk + alipay-sdk-java-v3 + \ No newline at end of file diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/AlipayEntryManager.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/AlipayEntryManager.java new file mode 100644 index 000000000..db63e8645 --- /dev/null +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/AlipayEntryManager.java @@ -0,0 +1,49 @@ +package com.czg.alipay; + +import com.alipay.v3.ApiClient; +import com.alipay.v3.ApiException; +import com.alipay.v3.Configuration; +import com.alipay.v3.api.AlipayOpenAgentApi; +import com.alipay.v3.model.AlipayOpenAgentCreateDefaultResponse; +import com.alipay.v3.model.AlipayOpenAgentCreateModel; +import com.alipay.v3.model.AlipayOpenAgentCreateResponseModel; +import com.alipay.v3.model.ContactModel; +import com.alipay.v3.util.model.AlipayConfig; + +/** + * 支付宝进件管理 + * + * ... + * @author yjjie + * @date 2025/12/29 14:11 + */ +public class AlipayEntryManager { + + public static void main(String[] args) throws ApiException { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + // 初始化alipay参数(全局设置一次) + AlipayConfig alipayConfig = new AlipayConfig(); + alipayConfig.setServerUrl("https://openapi.alipay.com"); + alipayConfig.setAppId("2021004174605036"); + alipayConfig.setAlipayPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiQkrz+emAuS1mB3KKDOMmAZRd/BlPbh7fAIHAqAj1+QCZNcV3o2BTLIIqnuKpSlFXDG3uDzp2VsBxcizXuBbFyPGylnD9CgCj5abyh3+FIHPAZ2IM3TtpqImZ0TSPGXrMli4Nir7MvZktgccCqQKCC4o6iaDGz+UwWwJUIPna8fm2tiTZ+KH150CZbKVj4ZGNpBh5XSV/1dRgyQIV9D/EwSbkZ0n6VgKQLJBi0C2UE3QB17aL1Ir6+gDXIDbknN8O7GUD3aMGdThYdSRUb5wp9CZ5qfV7vCS/CgaRo38nhH3NOzkTL+7v0m1ZDHPmqEkn9VzZN6sCQdL7PoAOjHOCwIDAQAB"); + alipayConfig.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=="); + defaultClient.setAlipayConfig(alipayConfig); + AlipayOpenAgentApi api = new AlipayOpenAgentApi(); + AlipayOpenAgentCreateModel data = new AlipayOpenAgentCreateModel(); + ContactModel contactInfo = new ContactModel(); + contactInfo.setContactEmail("zhangsan@alipy.com"); + contactInfo.setContactName("张三"); + contactInfo.setContactMobile("18866668888"); + data.setContactInfo(contactInfo); + data.setOrderTicket("00ee2d475f374ad097ee0f1ac223fX00"); + data.setAccount("test@alipay.com"); + try { + AlipayOpenAgentCreateResponseModel response = api.create(data); + System.out.println(response); + } catch (ApiException e) { + AlipayOpenAgentCreateDefaultResponse errorObject = (AlipayOpenAgentCreateDefaultResponse) e.getErrorObject(); + System.out.println("调用失败:" + errorObject); + System.out.println("调用失败:" + e.getMessage()); + } + } +} diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/dto/AlipayCreateContactInfoDto.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/dto/AlipayCreateContactInfoDto.java new file mode 100644 index 000000000..313506dcd --- /dev/null +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/dto/AlipayCreateContactInfoDto.java @@ -0,0 +1,34 @@ +package com.czg.alipay.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +/** + * 联系人信息 + * @author yjjie + * @date 2025/12/29 14:21 + */ +@Data +public class AlipayCreateContactInfoDto { + + /** + * 【必填】 + * 联系人名称 + */ + @JSONField(name = "contact_name") + private String contactName; + + /** + * 【必填】 + * 联系人手机号 + */ + @JSONField(name = "contact_mobile") + private String contactMobile; + + /** + * 【选填】 + * 联系人邮箱 + */ + @JSONField(name = "contact_email") + private String contactEmail; +} diff --git a/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/dto/AlipayCreateDto.java b/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/dto/AlipayCreateDto.java new file mode 100644 index 000000000..a9f9edd76 --- /dev/null +++ b/cash-sdk/aggregation-pay/src/main/java/com/czg/alipay/dto/AlipayCreateDto.java @@ -0,0 +1,37 @@ +package com.czg.alipay.dto; + +import com.alibaba.fastjson2.annotation.JSONField; +import lombok.Data; + +/** + * 开启代商户签约、创建应用事务 + * 在 ISV 代商户进行应用创建、产品签约时,用于开启一个操作事务,必须是第一个调用的接口。 + * 场景1:ISV 代商户进行应用创建、产品签约,最后提交事务后需要商户确认才能完成流程; + * 场景2:服务市场订购及授权,使用订单授权凭证order_ticket开启预授权模式,该模式下提交事务后无需商户确认。 + * @author yjjie + * @date 2025/12/29 14:19 + */ +@Data +public class AlipayCreateDto { + + /** + * 【必填】 + * isv代操作的商户账号,可以是支付宝账号,也可以是pid(2088开头) + */ + @JSONField(name = "account") + private String account; + + /** + * 【必填】 + * 商户联系人信息,包含联系人名称、手机、邮箱信息。联系人信息将用于接受签约后的重要通知,如确认协议、到期提醒等。 + */ + @JSONField(name = "contact_info") + private AlipayCreateContactInfoDto contactInfo; + + /** + * 【选填】 + * 订单授权凭证。若传入本参数,则对应事务提交后进入预授权模式。 + */ + @JSONField(name = "order_ticket") + private String orderTicket; +}