Commit 9fe59e854338766bf06aa0695511c8e6e9d358c9
1 parent
9519ca96
feat:【pay】转账:支持支付宝的 transferSceneName 参数
Showing
4 changed files
with
32 additions
and
7 deletions
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<AlipayPa | @@ -234,6 +234,10 @@ public abstract class AbstractAlipayPayClient extends AbstractPayClient<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 |