浏览代码

[Alipay] 为`IAlipaySdkRequest`接口,新增`SetNotifyUrl`、`GetNotifyUrl`、`SetReturnUrl`、`GetReturnUrl`方法

Roc 1 月之前
父节点
当前提交
14fff50c81

+ 12 - 0
src/Essensoft.Paylinks.Alipay.Client/Extensions/AlipaySdkRequestExtensions.cs

@@ -34,6 +34,18 @@ public static class AlipaySdkRequestExtensions
             sortedDict.Add("app_auth_token", appAuthToken);
         }
 
+        var notifyUrl = request.GetNotifyUrl();
+        if (!string.IsNullOrEmpty(notifyUrl))
+        {
+            sortedDict.Add("notify_url", notifyUrl);
+        }
+
+        var returnUrl = request.GetReturnUrl();
+        if (!string.IsNullOrEmpty(returnUrl))
+        {
+            sortedDict.Add("return_url", returnUrl);
+        }
+
         var bizContent = request.BuildBizContent();
         if (request.GetNeedEncrypt() && !string.IsNullOrEmpty(encryptType) && !string.IsNullOrEmpty(encryptKey))
         {

+ 24 - 0
src/Essensoft.Paylinks.Alipay.Core/IAlipaySdkRequest.cs

@@ -31,4 +31,28 @@ public interface IAlipaySdkRequest
     /// 获取是否需要加密
     /// </summary>
     bool GetNeedEncrypt();
+
+    /// <summary>
+    /// 设置通知Url
+    /// </summary>
+    /// <param name="notifyUrl">通知Url</param>
+    void SetNotifyUrl(string notifyUrl);
+
+    /// <summary>
+    /// 获取通知Url
+    /// </summary>
+    /// <returns>通知Url</returns>
+    string? GetNotifyUrl();
+
+    /// <summary>
+    /// 设置跳转Url
+    /// </summary>
+    /// <param name="returnUrl">跳转Url</param>
+    void SetReturnUrl(string returnUrl);
+
+    /// <summary>
+    /// 获取跳转Url
+    /// </summary>
+    /// <returns>跳转Url</returns>
+    string? GetReturnUrl();
 }

+ 12 - 0
src/Essensoft.Paylinks.Alipay.Payments/Request/AlipayTradeAppPayRequest.cs

@@ -28,5 +28,17 @@ public class AlipayTradeAppPayRequest : IAlipaySdkRequest
 
     public void SetNeedEncrypt(bool value) => _needEncrypt = value;
 
+    private string? _notifyUrl;
+
+    public void SetNotifyUrl(string notifyUrl) => _notifyUrl = notifyUrl;
+
+    public string? GetNotifyUrl() => _notifyUrl;
+
+    private string? _returnUrl;
+
+    public void SetReturnUrl(string returnUrl) => _returnUrl = returnUrl;
+
+    public string? GetReturnUrl() => _returnUrl;
+
     #endregion
 }

+ 12 - 0
src/Essensoft.Paylinks.Alipay.Payments/Request/AlipayTradePagePayRequest.cs

@@ -28,5 +28,17 @@ public class AlipayTradePagePayRequest : IAlipaySdkRequest
 
     public void SetNeedEncrypt(bool value) => _needEncrypt = value;
 
+    private string? _notifyUrl;
+
+    public void SetNotifyUrl(string notifyUrl) => _notifyUrl = notifyUrl;
+
+    public string? GetNotifyUrl() => _notifyUrl;
+
+    private string? _returnUrl;
+
+    public void SetReturnUrl(string returnUrl) => _returnUrl = returnUrl;
+
+    public string? GetReturnUrl() => _returnUrl;
+
     #endregion
 }

+ 12 - 0
src/Essensoft.Paylinks.Alipay.Payments/Request/AlipayTradeWapPayRequest.cs

@@ -28,5 +28,17 @@ public class AlipayTradeWapPayRequest : IAlipaySdkRequest
 
     public void SetNeedEncrypt(bool value) => _needEncrypt = value;
 
+    private string? _notifyUrl;
+
+    public void SetNotifyUrl(string notifyUrl) => _notifyUrl = notifyUrl;
+
+    public string? GetNotifyUrl() => _notifyUrl;
+
+    private string? _returnUrl;
+
+    public void SetReturnUrl(string returnUrl) => _returnUrl = returnUrl;
+
+    public string? GetReturnUrl() => _returnUrl;
+
     #endregion
 }