Commit 9fe59e854338766bf06aa0695511c8e6e9d358c9

Authored by YunaiV
1 parent 9519ca96

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

yudao-dependencies/pom.xml
... ... @@ -75,6 +75,7 @@
75 75 <jimureport.version>2.1.3</jimureport.version>
76 76 <jimubi.version>2.3.0</jimubi.version>
77 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 79 </properties>
79 80  
80 81 <dependencyManagement>
... ... @@ -580,6 +581,18 @@
580 581 </dependency>
581 582  
582 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 596 <groupId>com.github.binarywang</groupId>
584 597 <artifactId>weixin-java-pay</artifactId>
585 598 <version>${weixin-java.version}</version>
... ...
yudao-module-pay/pom.xml
... ... @@ -71,13 +71,7 @@
71 71 <dependency>
72 72 <groupId>com.alipay.sdk</groupId>
73 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 75 </dependency>
82 76 <dependency>
83 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 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 234 if (reqDTO.getChannelExtras() != null) {
235 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 242 Participant payeeInfo = new Participant();
239 243 payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); // 暂时只考虑转账到支付宝,银行没有权限 https://opendocs.alipay.com/open/02byvc?scene=66dd06f5a923403393b85de68d3c0055
... ...