Преглед изворни кода

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

YunaiV пре 5 месеци
родитељ
комит
9fe59e8543

+ 13 - 0
yudao-dependencies/pom.xml

@@ -75,6 +75,7 @@
         <jimureport.version>2.1.3</jimureport.version>
         <jimubi.version>2.3.0</jimubi.version>
         <weixin-java.version>4.7.9-20251224.161447</weixin-java.version>
+        <alipay-sdk-java.version>4.40.607.ALL</alipay-sdk-java.version>
     </properties>
 
     <dependencyManagement>
@@ -579,6 +580,18 @@
                 </exclusions>
             </dependency>
 
+            <dependency>
+                <groupId>com.alipay.sdk</groupId>
+                <artifactId>alipay-sdk-java</artifactId>
+                <version>${alipay-sdk-java.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.bouncycastle</groupId>
+                        <artifactId>bcprov-jdk15on</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+
             <dependency>
                 <groupId>com.github.binarywang</groupId>
                 <artifactId>weixin-java-pay</artifactId>

+ 1 - 7
yudao-module-pay/pom.xml

@@ -71,13 +71,7 @@
         <dependency>
             <groupId>com.alipay.sdk</groupId>
             <artifactId>alipay-sdk-java</artifactId>
-            <version>4.35.79.ALL</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.bouncycastle</groupId>
-                    <artifactId>bcprov-jdk15on</artifactId>
-                </exclusion>
-            </exclusions>
+            <version>4.40.607.ALL</version>
         </dependency>
         <dependency>
             <groupId>com.github.binarywang</groupId>

+ 14 - 0
yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/dto/PayTransferCreateReqDTO.java

@@ -130,4 +130,18 @@ public class PayTransferCreateReqDTO {
         return channelExtras;
     }
 
+    // ========== 支付宝场景 ==========
+
+    /**
+     * 【支付宝】构建转账渠道额外参数
+     *
+     * @param sceneName 转账场景名称,用于描述转账用途
+     * @return channelExtras
+     */
+    public static Map<String, String> buildAlipayChannelExtra(String sceneName) {
+        Map<String, String> channelExtras = new HashMap<>();
+        channelExtras.put("sceneName", sceneName);
+        return channelExtras;
+    }
+
 }

+ 4 - 0
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<AlipayPa
         if (reqDTO.getChannelExtras() != null) {
             model.setBusinessParams(JsonUtils.toJsonString(reqDTO.getChannelExtras()));
         }
+        String sceneName = MapUtil.getStr(reqDTO.getChannelExtras(), "sceneName");
+        if (StrUtil.isNotBlank(sceneName)) {
+            model.setTransferSceneName(sceneName);
+        }
         // ② 个性化的参数
         Participant payeeInfo = new Participant();
         payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); // 暂时只考虑转账到支付宝,银行没有权限 https://opendocs.alipay.com/open/02byvc?scene=66dd06f5a923403393b85de68d3c0055