Browse Source

WeChatPayPayBankRequest 中 EncBankNo、EncTrueName 分别改为 BankNo、TrueName

Roc 5 years ago
parent
commit
facedef049

+ 2 - 2
samples/WebApplicationSample/Controllers/WeChatPayController.cs

@@ -527,8 +527,8 @@ namespace WebApplicationSample.Controllers
             var request = new WeChatPayPayBankRequest
             {
                 PartnerTradeNo = viewModel.PartnerTradeNo,
-                EncBankNo = viewModel.EncBankNo,
-                EncTrueName = viewModel.EncTrueName,
+                BankNo = viewModel.BankNo,
+                TrueName = viewModel.TrueName,
                 BankCode = viewModel.BankCode,
                 Amount = viewModel.Amount,
                 Desc = viewModel.Desc

+ 4 - 4
samples/WebApplicationSample/Models/WeChatPayViewModel.cs

@@ -307,12 +307,12 @@ namespace WebApplicationSample.Models
         public string PartnerTradeNo { get; set; }
 
         [Required]
-        [Display(Name = "enc_bank_no")]
-        public string EncBankNo { get; set; }
+        [Display(Name = "bank_no")]
+        public string BankNo { get; set; }
 
         [Required]
-        [Display(Name = "enc_true_name")]
-        public string EncTrueName { get; set; }
+        [Display(Name = "true_name")]
+        public string TrueName { get; set; }
 
         [Required]
         [Display(Name = "bank_code")]

+ 4 - 4
samples/WebApplicationSample/Views/WeChatPay/PayBank.cshtml

@@ -18,12 +18,12 @@
                 <input type="text" class="form-control" asp-for="PartnerTradeNo" value="@DateTime.Now.ToString("yyyyMMddHHmmssfff")" />
             </div>
             <div class="form-group">
-                <label asp-for="EncBankNo"></label>
-                <input type="text" class="form-control" asp-for="EncBankNo" />
+                <label asp-for="BankNo"></label>
+                <input type="text" class="form-control" asp-for="BankNo" />
             </div>
             <div class="form-group">
-                <label asp-for="EncTrueName"></label>
-                <input type="text" class="form-control" asp-for="EncTrueName" />
+                <label asp-for="TrueName"></label>
+                <input type="text" class="form-control" asp-for="TrueName" />
             </div>
             <div class="form-group">
                 <label asp-for="BankCode"></label>

+ 5 - 10
src/Essensoft.AspNetCore.Payment.WeChatPay/Request/WeChatPayPayBankRequest.cs

@@ -18,12 +18,12 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.Request
         /// <summary>
         /// 收款方银行卡号
         /// </summary>
-        public string EncBankNo { get; set; }
+        public string BankNo { get; set; }
 
         /// <summary>
         /// 收款方用户名
         /// </summary>
-        public string EncTrueName { get; set; }
+        public string TrueName { get; set; }
 
         /// <summary>
         /// 收款方开户行
@@ -52,8 +52,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.Request
             var parameters = new WeChatPayDictionary
             {
                 { "partner_trade_no", PartnerTradeNo},
-                { "enc_bank_no", EncBankNo },
-                { "enc_true_name", EncTrueName },
                 { "bank_code", BankCode },
                 { "amount", Amount },
                 { "desc", Desc}
@@ -65,17 +63,14 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.Request
         {
             if (string.IsNullOrEmpty(options.RsaPublicKey))
             {
-                throw new WeChatPayException("WeChatPayPayBankRequest: RsaPublicKey is null!");
+                throw new WeChatPayException($"{nameof(WeChatPayPayBankRequest)}.{nameof(PrimaryHandler)}: {nameof(options.RsaPublicKey)} is null or empty!");
             }
 
             sortedTxtParams.Add(WeChatPayConsts.nonce_str, WeChatPayUtility.GenerateNonceStr());
             sortedTxtParams.Add(WeChatPayConsts.mch_id, options.MchId);
 
-            var no = OaepSHA1WithRSA.Encrypt(sortedTxtParams.GetValue(WeChatPayConsts.enc_bank_no), options.RsaPublicKey);
-            sortedTxtParams.SetValue(WeChatPayConsts.enc_bank_no, no);
-
-            var name = OaepSHA1WithRSA.Encrypt(sortedTxtParams.GetValue(WeChatPayConsts.enc_true_name), options.RsaPublicKey);
-            sortedTxtParams.SetValue(WeChatPayConsts.enc_true_name, name);
+            sortedTxtParams.Add(WeChatPayConsts.enc_bank_no, OaepSHA1WithRSA.Encrypt(BankNo, options.RsaPublicKey));
+            sortedTxtParams.Add(WeChatPayConsts.enc_true_name, OaepSHA1WithRSA.Encrypt(TrueName, options.RsaPublicKey));
 
             sortedTxtParams.Add(WeChatPayConsts.sign, WeChatPaySignature.SignWithKey(sortedTxtParams, options.Key, signType));
         }