Explorar o código

[示例] 新增 支付宝交易关闭

Roc %!s(int64=5) %!d(string=hai) anos
pai
achega
e8537808b7

+ 30 - 0
samples/WebApplicationSample/Controllers/AlipayController.cs

@@ -282,6 +282,36 @@ namespace WebApplicationSample.Controllers
             return View();
         }
 
+
+        /// <summary>
+        /// 交易关闭
+        /// </summary>
+        [HttpGet]
+        public IActionResult Close()
+        {
+            return View();
+        }
+
+        /// <summary>
+        /// 交易关闭
+        /// </summary>
+        [HttpPost]
+        public async Task<IActionResult> Close(AlipayTradeCloseViewModel viewMode)
+        {
+            var model = new AlipayTradeCloseModel
+            {
+                OutTradeNo = viewMode.OutTradeNo,
+                TradeNo = viewMode.TradeNo,
+            };
+
+            var req = new AlipayTradeCloseRequest();
+            req.SetBizModel(model);
+
+            var response = await _client.CertificateExecuteAsync(req, _optionsAccessor.Value);
+            ViewData["response"] = response.Body;
+            return View();
+        }
+
         /// <summary>
         /// 统一转账
         /// </summary>

+ 9 - 0
samples/WebApplicationSample/Models/AlipayViewModel.cs

@@ -168,6 +168,15 @@ namespace WebApplicationSample.Models
         public string OutRequestNo { get; set; }
     }
 
+    public class AlipayTradeCloseViewModel
+    {
+        [Display(Name = "out_trade_no")]
+        public string OutTradeNo { get; set; }
+
+        [Display(Name = "trade_no")]
+        public string TradeNo { get; set; }
+    }
+
     public class AlipayTransferViewModel
     {
         [Required]

+ 37 - 0
samples/WebApplicationSample/Views/Alipay/Close.cshtml

@@ -0,0 +1,37 @@
+@model AlipayTradeCloseViewModel
+@{
+    ViewData["Title"] = "交易关闭";
+}
+<nav aria-label="breadcrumb">
+    <ol class="breadcrumb">
+        <li class="breadcrumb-item"><a asp-controller="Alipay" asp-action="Index">支付宝</a></li>
+        <li class="breadcrumb-item active" aria-current="page">@ViewData["Title"]</li>
+    </ol>
+</nav>
+<br />
+<div class="card">
+    <div class="card-body">
+        <form asp-controller="Alipay" asp-action="Close">
+            <div asp-validation-summary="All" class="text-danger"></div>
+            <div class="form-group">
+                <label asp-for="OutTradeNo"></label>
+                <input type="text" class="form-control" asp-for="OutTradeNo" />
+            </div>
+            <div class="form-group">
+                <label asp-for="TradeNo"></label>
+                <input type="text" class="form-control" asp-for="TradeNo" />
+            </div>
+            <button type="submit" class="btn btn-primary">提交请求</button>
+        </form>
+        <hr />
+        <form class="form-horizontal">
+            <div class="form-group">
+                <label>Response:</label>
+                <textarea class="form-control" rows="10">@ViewData["response"]</textarea>
+            </div>
+        </form>
+    </div>
+</div>
+@section Scripts {
+    @{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
+}

+ 8 - 2
samples/WebApplicationSample/Views/Alipay/Index.cshtml

@@ -68,18 +68,24 @@
         </tr>
         <tr>
             <th scope="row">9</th>
+            <td>交易关闭</td>
+            <td><a href="https://docs.open.alipay.com/api_1/alipay.trade.close" target="_blank">alipay.trade.close</a></td>
+            <td><a asp-controller="Alipay" asp-action="Close">立即测试</a></td>
+        </tr>
+        <tr>
+            <th scope="row">10</th>
             <td>统一转账</td>
             <td><a href="https://docs.open.alipay.com/api_28/alipay.fund.trans.uni.transfer" target="_blank">alipay.fund.trans.uni.transfer</a></td>
             <td><a asp-controller="Alipay" asp-action="Transfer">立即测试</a></td>
         </tr>
         <tr>
-            <th scope="row">10</th>
+            <th scope="row">11</th>
             <td>查询统一转账订单</td>
             <td><a href="https://docs.open.alipay.com/api_28/alipay.fund.trans.common.query" target="_blank">alipay.fund.trans.common.query</a></td>
             <td><a asp-controller="Alipay" asp-action="TransQuery">立即测试</a></td>
         </tr>
         <tr>
-            <th scope="row">11</th>
+            <th scope="row">12</th>
             <td>余额查询</td>
             <td><a href="https://docs.open.alipay.com/api_28/alipay.fund.account.query" target="_blank">alipay.fund.account.query</a></td>
             <td><a asp-controller="Alipay" asp-action="AccountQuery">立即测试</a></td>