Commit 9fe59e854338766bf06aa0695511c8e6e9d358c9

Authored by YunaiV
1 parent 9519ca96

feat:【pay】转账:支持支付宝的 transferSceneName 参数

yudao-dependencies/pom.xml
@@ -75,6 +75,7 @@ @@ -75,6 +75,7 @@
75 <jimureport.version>2.1.3</jimureport.version> 75 <jimureport.version>2.1.3</jimureport.version>
76 <jimubi.version>2.3.0</jimubi.version> 76 <jimubi.version>2.3.0</jimubi.version>
77 <weixin-java.version>4.7.9-20251224.161447</weixin-java.version> 77 <weixin-java.version>4.7.9-20251224.161447</weixin-java.version>
  78 + <alipay-sdk-java.version>4.40.607.ALL</alipay-sdk-java.version>
78 </properties> 79 </properties>
79 80
80 <dependencyManagement> 81 <dependencyManagement>
@@ -580,6 +581,18 @@ @@ -580,6 +581,18 @@
580 </dependency> 581 </dependency>
581 582
582 <dependency> 583 <dependency>
  584 + <groupId>com.alipay.sdk</groupId>
  585 + <artifactId>alipay-sdk-java</artifactId>
  586 + <version>${alipay-sdk-java.version}</version>
  587 + <exclusions>
  588 + <exclusion>
  589 + <groupId>org.bouncycastle</groupId>
  590 + <artifactId>bcprov-jdk15on</artifactId>
  591 + </exclusion>
  592 + </exclusions>
  593 + </dependency>
  594 +
  595 + <dependency>
583 <groupId>com.github.binarywang</groupId> 596 <groupId>com.github.binarywang</groupId>
584 <artifactId>weixin-java-pay</artifactId> 597 <artifactId>weixin-java-pay</artifactId>
585 <version>${weixin-java.version}</version> 598 <version>${weixin-java.version}</version>
yudao-module-pay/pom.xml
@@ -71,13 +71,7 @@ @@ -71,13 +71,7 @@
71 <dependency> 71 <dependency>
72 <groupId>com.alipay.sdk</groupId> 72 <groupId>com.alipay.sdk</groupId>
73 <artifactId>alipay-sdk-java</artifactId> 73 <artifactId>alipay-sdk-java</artifactId>
74 - <version>4.35.79.ALL</version>  
75 - <exclusions>  
76 - <exclusion>  
77 - <groupId>org.bouncycastle</groupId>  
78 - <artifactId>bcprov-jdk15on</artifactId>  
79 - </exclusion>  
80 - </exclusions> 74 + <version>4.40.607.ALL</version>
81 </dependency> 75 </dependency>
82 <dependency> 76 <dependency>
83 <groupId>com.github.binarywang</groupId> 77 <groupId>com.github.binarywang</groupId>
yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/dto/PayTransferCreateReqDTO.java
@@ -130,4 +130,18 @@ public class PayTransferCreateReqDTO { @@ -130,4 +130,18 @@ public class PayTransferCreateReqDTO {
130 return channelExtras; 130 return channelExtras;
131 } 131 }
132 132
  133 + // ========== 支付宝场景 ==========
  134 +
  135 + /**
  136 + * 【支付宝】构建转账渠道额外参数
  137 + *
  138 + * @param sceneName 转账场景名称,用于描述转账用途
  139 + * @return channelExtras
  140 + */
  141 + public static Map<String, String> buildAlipayChannelExtra(String sceneName) {
  142 + Map<String, String> channelExtras = new HashMap<>();
  143 + channelExtras.put("sceneName", sceneName);
  144 + return channelExtras;
  145 + }
  146 +
133 } 147 }
yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/impl/alipay/AbstractAlipayPayClient.java
@@ -234,6 +234,10 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient&lt;AlipayPa @@ -234,6 +234,10 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient&lt;AlipayPa
234 if (reqDTO.getChannelExtras() != null) { 234 if (reqDTO.getChannelExtras() != null) {
235 model.setBusinessParams(JsonUtils.toJsonString(reqDTO.getChannelExtras())); 235 model.setBusinessParams(JsonUtils.toJsonString(reqDTO.getChannelExtras()));
236 } 236 }
  237 + String sceneName = MapUtil.getStr(reqDTO.getChannelExtras(), "sceneName");
  238 + if (StrUtil.isNotBlank(sceneName)) {
  239 + model.setTransferSceneName(sceneName);
  240 + }
237 // ② 个性化的参数 241 // ② 个性化的参数
238 Participant payeeInfo = new Participant(); 242 Participant payeeInfo = new Participant();
239 payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); // 暂时只考虑转账到支付宝,银行没有权限 https://opendocs.alipay.com/open/02byvc?scene=66dd06f5a923403393b85de68d3c0055 243 payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); // 暂时只考虑转账到支付宝,银行没有权限 https://opendocs.alipay.com/open/02byvc?scene=66dd06f5a923403393b85de68d3c0055