Browse Source

[WebApplicationSample] 新增查询单笔退款

Roc 4 years ago
parent
commit
f23efd802a

+ 27 - 0
samples/WebApplicationSample/Controllers/WeChatPayV3Controller.cs

@@ -446,5 +446,32 @@ namespace WebApplicationSample.Controllers
             ViewData["response"] = response.Body;
             return View();
         }
+
+        /// <summary>
+        /// 查询单笔退款
+        /// </summary>
+        [HttpGet]
+        public IActionResult RefundQuery()
+        {
+            return View();
+        }
+
+        /// <summary>
+        /// 查询单笔退款
+        /// </summary>
+        /// <param name="viewModel"></param>
+        [HttpPost]
+        public async Task<IActionResult> RefundQuery(WeChatPayV3RefundQueryViewModel viewModel)
+        {
+            var request = new WeChatPayRefundDomesticRefundsOutRefundNoRequest
+            {
+                OutRefundNo = viewModel.OutRefundNo
+            };
+
+            var response = await _client.ExecuteAsync(request, _optionsAccessor.Value);
+
+            ViewData["response"] = response.Body;
+            return View();
+        }
     }
 }

+ 16 - 0
samples/WebApplicationSample/Models/WeChatPayViewModel.cs

@@ -385,4 +385,20 @@ namespace WebApplicationSample.Models
         [Display(Name = "currency")]
         public string Currency { get; set; }
     }
+
+    public class WeChatPayV3RefundQueryViewModel
+    {
+        [Display(Name = "refund_id")]
+        public string RefundId { get; set; }
+
+        [Display(Name = "out_refund_no")]
+        public string OutRefundNo { get; set; }
+
+        [Display(Name = "transaction_id")]
+        public string TransactionId { get; set; }
+
+        [Display(Name = "out_trade_no")]
+        public string OutTradeNo { get; set; }
+    }
+
 }

+ 6 - 0
samples/WebApplicationSample/Views/WeChatPayV3/Index.cshtml

@@ -90,5 +90,11 @@
             <td><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_9.shtml" target="_blank">https://api.mch.weixin.qq.com/v3/refund/domestic/refunds</a></td>
             <td><a asp-controller="WeChatPayV3" asp-action="Refund">立即测试</a></td>
         </tr>
+        <tr>
+            <th scope="row">13</th>
+            <td>查询单笔退款</td>
+            <td><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_10.shtml" target="_blank">https://api.mch.weixin.qq.com/v3/refund/domestic/refunds/{out_refund_no}</a></td>
+            <td><a asp-controller="WeChatPayV3" asp-action="RefundQuery">立即测试</a></td>
+        </tr>
     </tbody>
 </table>

+ 33 - 0
samples/WebApplicationSample/Views/WeChatPayV3/RefundQuery.cshtml

@@ -0,0 +1,33 @@
+@model WeChatPayV3RefundQueryViewModel
+@{
+    ViewData["Title"] = "查询单笔退款";
+}
+<nav aria-label="breadcrumb">
+    <ol class="breadcrumb">
+        <li class="breadcrumb-item"><a asp-controller="WeChatPayV3" asp-action="Index">微信支付V3</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="WeChatPayV3" asp-action="RefundQuery">
+            <div asp-validation-summary="All" class="text-danger"></div>
+            <div class="form-group">
+                <label asp-for="OutRefundNo"></label>
+                <input type="text" class="form-control" asp-for="OutRefundNo" />
+            </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"); }
+}