Browse Source

[WeChatPay.V3] 优化注释,统一下单API 新增 结算信息

Roc 4 years ago
parent
commit
e4f59871a3
100 changed files with 1971 additions and 1148 deletions
  1. 15 8
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/AdditionInfo.cs
  2. 18 10
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Amount.cs
  3. 12 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/AuditDetail.cs
  4. 30 16
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/BankAccountInfo.cs
  5. 8 4
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/BusinessInfo.cs
  6. 16 8
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/BusinessLicenseInfo.cs
  7. 0 12
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Certificate.cs
  8. 35 14
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CertificateInfo.cs
  9. 7 10
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Collection.cs
  10. 5 11
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CollectionDetail.cs
  11. 19 11
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineAmount.cs
  12. 12 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineCloseSubOrderInfo.cs
  13. 12 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineH5SceneInfo.cs
  14. 0 27
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineSceneInfo.cs
  15. 5 3
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineSceneInfoResponse.cs
  16. 26 12
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineSubOrderInfo.cs
  17. 39 19
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineSubOrderInfoResponse.cs
  18. 23 13
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/ContactInfo.cs
  19. 13 7
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Detail.cs
  20. 6 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/DownloadBill.cs
  21. 0 12
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/EncryptCertificate.cs
  22. 1 1
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/ErrorDetail.cs
  23. 20 10
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/GoodsDetail.cs
  24. 22 11
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/H5Info.cs
  25. 26 14
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/IdCardInfo.cs
  26. 22 12
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/IdDocInfo.cs
  27. 14 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/IdentityInfo.cs
  28. 2 12
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Location.cs
  29. 22 10
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/NotifyCiphertext.cs
  30. 16 8
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/OrganizationInfo.cs
  31. 8 4
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PartnerPayerInfo.cs
  32. 4 2
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PayerInfo.cs
  33. 4 14
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PostDiscount.cs
  34. 4 14
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PostPayment.cs
  35. 44 25
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PromotionDetail.cs
  36. 20 14
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PromotionGoodsDetail.cs
  37. 16 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Receiver.cs
  38. 12 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundAmount.cs
  39. 32 16
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundAmountResponse.cs
  40. 24 12
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundGoodsDetail.cs
  41. 16 8
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundNotifyAmount.cs
  42. 23 11
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundPromotionDetail.cs
  43. 19 9
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Resource.cs
  44. 3 13
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RiskFund.cs
  45. 12 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SceneInfo.cs
  46. 17 5
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SettleInfo.cs
  47. 23 11
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SettlementInfo.cs
  48. 17 9
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/StoreInfo.cs
  49. 23 9
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SubjectInfo.cs
  50. 1 4
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SyncDetail.cs
  51. 4 14
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/TimeRange.cs
  52. 32 16
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/UboInfo.cs
  53. 31 18
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayApply4SubSubMerchantsSubMchIdModifySettlementBodyModel.cs
  54. 26 11
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayApplyment4SubApplymentBodyModel.cs
  55. 20 13
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayBillFundflowBillQueryModel.cs
  56. 25 15
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayBillTradeBillQueryModel.cs
  57. 39 19
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsAppBodyModel.cs
  58. 35 17
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsH5BodyModel.cs
  59. 40 20
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsJsApiBodyModel.cs
  60. 36 18
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsNativeBodyModel.cs
  61. 12 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsOutTradeNoCloseBodyModel.cs
  62. 4 4
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayEcommerceBillFundflowBillQueryModel.cs
  63. 56 27
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsAppBodyModel.cs
  64. 56 27
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsH5BodyModel.cs
  65. 11 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsIdQueryModel.cs
  66. 59 24
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsJsApiBodyModel.cs
  67. 56 27
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsNativeBodyModel.cs
  68. 12 7
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsOutTradeNoCloseBodyModel.cs
  69. 12 7
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsOutTradeNoQueryModel.cs
  70. 38 21
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayRefundDomesticRefundsBodyModel.cs
  71. 5 5
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsBodyModel.cs
  72. 2 2
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsQueryForAuthCodeQueryModel.cs
  73. 3 3
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsQueryForOpenIdQueryModel.cs
  74. 3 3
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsTerminateForAuthCodeBodyModel.cs
  75. 4 4
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsTerminateForOpenIdBodyModel.cs
  76. 9 9
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderBodyModel.cs
  77. 12 11
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderDirectCompleteBodyModel.cs
  78. 4 4
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderOutOrderNoCancelBodyModel.cs
  79. 6 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderOutOrderNoCompleteBodyModel.cs
  80. 5 5
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderOutOrderNoModifyBodyModel.cs
  81. 3 3
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderPayBodyModel.cs
  82. 5 5
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderQueryModel.cs
  83. 4 4
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderSyncBodyModel.cs
  84. 55 23
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsAppBodyModel.cs
  85. 55 23
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsH5BodyModel.cs
  86. 12 9
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsIdQueryModel.cs
  87. 59 21
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsJsApiBodyModel.cs
  88. 55 23
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsNativeBodyModel.cs
  89. 12 9
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsOutTradeNoCloseBodyModel.cs
  90. 12 9
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsOutTradeNoQueryModel.cs
  91. 26 12
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayCombineTransactionsNotify.cs
  92. 22 8
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayPartnerProfitSharingNotify.cs
  93. 64 31
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayPartnerTransactionsNotify.cs
  94. 18 6
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayProfitSharingNotify.cs
  95. 43 24
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayRefundDomesticRefundsNotify.cs
  96. 13 13
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayScoreUserConfirmNotify.cs
  97. 9 9
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayScoreUserOpenOrCloseNotify.cs
  98. 14 14
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayScoreUserPaidNotify.cs
  99. 62 29
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayTransactionsNotify.cs
  100. 3 1
      src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Parser/WeChatPayNotifyJsonParser.cs

+ 15 - 8
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/AdditionInfo.cs

@@ -10,40 +10,47 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 法人开户承诺函
         /// 法人开户承诺函
+        /// </summary>
+        /// <remarks>
         /// 1、请上传法定代表人或负责人亲笔签署的开户承诺函扫描件(下载模板)。亲笔签名承诺函内容清晰可见,不得有涂污,破损,字迹不清晰现象。
         /// 1、请上传法定代表人或负责人亲笔签署的开户承诺函扫描件(下载模板)。亲笔签名承诺函内容清晰可见,不得有涂污,破损,字迹不清晰现象。
         /// 2、请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// 示例值:
-        /// 47ZC6GC-vnrIUv0OF4wFNIO4kqg05InE4d2I6_H7I4
-        /// </summary>
+        /// <para>示例值:47ZC6GC-vnrIUv0OF4wFNIO4kqg05InE4d2I6_H7I4</para>
+        /// </remarks>
         [JsonPropertyName("legal_person_commitment")]
         [JsonPropertyName("legal_person_commitment")]
         public string LegalPersonCommitment { get; set; }
         public string LegalPersonCommitment { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 法人开户意愿视频
         /// 法人开户意愿视频
+        /// </summary>
+        /// <remarks>
         /// 1、建议法人按如下话术录制“法人开户意愿视频”:
         /// 1、建议法人按如下话术录制“法人开户意愿视频”:
         /// 我是#公司全称#的法定代表人(或负责人),特此证明本公司申请的商户号为我司真实意愿开立且用于XX业务(或XX服务)。我司现有业务符合法律法规及腾讯的相关规定。
         /// 我是#公司全称#的法定代表人(或负责人),特此证明本公司申请的商户号为我司真实意愿开立且用于XX业务(或XX服务)。我司现有业务符合法律法规及腾讯的相关规定。
         /// 2、支持上传20M内的视频,格式可为avi、wmv、mpeg、mp4、mov、mkv、flv、f4v、m4v、rmvb。
         /// 2、支持上传20M内的视频,格式可为avi、wmv、mpeg、mp4、mov、mkv、flv、f4v、m4v、rmvb。
         /// 3、请填写通过《视频上传API》预先上传视频生成好的MediaID。
         /// 3、请填写通过《视频上传API》预先上传视频生成好的MediaID。
-        /// 示例值:47ZC6GC-NIO4kqg05InE4d2I6_H7I4
-        /// </summary>
+        /// <para>示例值:47ZC6GC-NIO4kqg05InE4d2I6_H7I4</para>
+        /// </remarks>
         [JsonPropertyName("legal_person_video")]
         [JsonPropertyName("legal_person_video")]
         public string LegalPersonVideo { get; set; }
         public string LegalPersonVideo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 补充材料
         /// 补充材料
+        /// </summary>
+        /// <remarks>
         /// 1、根据驳回要求提供额外信息,如:
         /// 1、根据驳回要求提供额外信息,如:
         /// (1)业务模式不清晰时,需详细描述支付场景或提供相关材料(如业务说明/门店照/ 手持证件照等);
         /// (1)业务模式不清晰时,需详细描述支付场景或提供相关材料(如业务说明/门店照/ 手持证件照等);
         /// (2)特殊业务要求提供相关的协议材料等;
         /// (2)特殊业务要求提供相关的协议材料等;
         /// 2、请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("business_addition_pics")]
         [JsonPropertyName("business_addition_pics")]
         public List<string> BusinessAdditionPics { get; set; }
         public List<string> BusinessAdditionPics { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 补充说明
         /// 补充说明
-        /// 根据驳回要求提供额外信息,如:业务模式不清晰时,请详细描述支付场景。
-        /// 示例值:特殊情况,说明原因
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 根据驳回要求提供额外信息,如:业务模式不清晰时,请详细描述支付场景。
+        /// <para>示例值:特殊情况,说明原因</para>
+        /// </remarks>
         [JsonPropertyName("business_addition_msg")]
         [JsonPropertyName("business_addition_msg")]
         public List<string> BusinessAdditionMsg { get; set; }
         public List<string> BusinessAdditionMsg { get; set; }
     }
     }

+ 18 - 10
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Amount.cs

@@ -4,38 +4,46 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 订单金额
     /// 订单金额
-    /// </summary>    
+    /// </summary>
     public class Amount : WeChatPayObject
     public class Amount : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单总金额,单位为分。
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单总金额,单位为分。
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("total")]
         [JsonPropertyName("total")]
         public int? Total { get; set; }
         public int? Total { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 用户支付金额
         /// 用户支付金额
-        /// 用户支付金额,单位为分。
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户支付金额,单位为分。
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("payer_total")]
         [JsonPropertyName("payer_total")]
         public int? PayerTotal { get; set; }
         public int? PayerTotal { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// 货币类型	
-        /// CNY:人民币,境内商户号仅支持人民币。
-        /// 示例值:CNY
+        /// 货币类型
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// CNY:人民币,境内商户号仅支持人民币。
+        /// <para>示例值:CNY</para>
+        /// </remarks>
         [JsonPropertyName("currency")]
         [JsonPropertyName("currency")]
         public string Currency { get; set; }
         public string Currency { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// 用户支付币种	
         /// 用户支付币种
         /// 用户支付币种
-        /// 示例值:CNY
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户支付币种
+        /// <para>示例值:CNY</para>
+        /// </remarks>
         [JsonPropertyName("payer_currency")]
         [JsonPropertyName("payer_currency")]
         public string PayerCurrency { get; set; }
         public string PayerCurrency { get; set; }
     }
     }

+ 12 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/AuditDetail.cs

@@ -9,25 +9,31 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 字段名
         /// 字段名
-        /// 提交申请单的资料项字段名
-        /// 示例值:id_card_copy
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 提交申请单的资料项字段名
+        /// <para>示例值:id_card_copy</para>
+        /// </remarks>
         [JsonPropertyName("field")]
         [JsonPropertyName("field")]
         public string Field { get; set; }
         public string Field { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 字段名称
         /// 字段名称
-        /// 提交申请单的资料项字段名称
-        /// 示例值:身份证复印件
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 提交申请单的资料项字段名称
+        /// <para>示例值:身份证复印件</para>
+        /// </remarks>
         [JsonPropertyName("field_name")]
         [JsonPropertyName("field_name")]
         public string FieldName { get; set; }
         public string FieldName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 驳回原因
         /// 驳回原因
-        /// 提交资料项被驳回的原因。
-        /// 示例值:身份证背面识别失败,请上传更清晰的身份证图片。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 提交资料项被驳回的原因。
+        /// <para>示例值:身份证背面识别失败,请上传更清晰的身份证图片。</para>
+        /// </remarks>
         [JsonPropertyName("reject_reason")]
         [JsonPropertyName("reject_reason")]
         public string RejectReason { get; set; }
         public string RejectReason { get; set; }
     }
     }

+ 30 - 16
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/BankAccountInfo.cs

@@ -9,67 +9,81 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 账户类型
         /// 账户类型
+        /// </summary>
+        /// <remarks>
         /// 1、若主体为企业/党政、机关及事业单位/其他组织,可填写:对公银行账户。
         /// 1、若主体为企业/党政、机关及事业单位/其他组织,可填写:对公银行账户。
         /// 2、若主体为个体户,可选择填写:对公银行账户或经营者个人银行卡。
         /// 2、若主体为个体户,可选择填写:对公银行账户或经营者个人银行卡。
         /// 枚举值:
         /// 枚举值:
         /// BANK_ACCOUNT_TYPE_CORPORATE:对公银行账户
         /// BANK_ACCOUNT_TYPE_CORPORATE:对公银行账户
         /// BANK_ACCOUNT_TYPE_PERSONAL:经营者个人银行卡
         /// BANK_ACCOUNT_TYPE_PERSONAL:经营者个人银行卡
-        /// 示例值:BANK_ACCOUNT_TYPE_CORPORATE
-        /// </summary>
+        /// <para>示例值:BANK_ACCOUNT_TYPE_CORPORATE</para>
+        /// </remarks>
         [JsonPropertyName("bank_account_type")]
         [JsonPropertyName("bank_account_type")]
         public string BankAccountType { get; set; }
         public string BankAccountType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户名称
         /// 开户名称
+        /// </summary>
+        /// <remarks>
         /// 1、选择“经营者个人银行卡”时,开户名称必须与“经营者证件姓名”一致。
         /// 1、选择“经营者个人银行卡”时,开户名称必须与“经营者证件姓名”一致。
         /// 2、选择“对公银行账户”时,开户名称必须与营业执照/登记证书的“商户名称”一致。
         /// 2、选择“对公银行账户”时,开户名称必须与营业执照/登记证书的“商户名称”一致。
-        /// 3、该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:AOZdYGISxo4y4+kyblK2FCCqQJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw==
-        /// </summary>
+        /// 3、该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:AOZdYGISxo4y4+kyblK2FCCqQJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("account_name")]
         [JsonPropertyName("account_name")]
         public string AccountName { get; set; }
         public string AccountName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户银行
         /// 开户银行
-        /// 开户银行,详细参见《开户银行对照表》。
-        /// 示例值:工商银行
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 开户银行,详细参见《开户银行对照表》。
+        /// <para>示例值:工商银行</para>
+        /// </remarks>
         [JsonPropertyName("account_bank")]
         [JsonPropertyName("account_bank")]
         public string AccountBank { get; set; }
         public string AccountBank { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户银行省市编码
         /// 开户银行省市编码
-        /// 至少精确到市,详细参见《省市区编号对照表》。
-        /// 示例值:110000
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 至少精确到市,详细参见《省市区编号对照表》。
+        /// <para>示例值:110000</para>
+        /// </remarks>
         [JsonPropertyName("bank_address_code")]
         [JsonPropertyName("bank_address_code")]
         public string BankAddressCode { get; set; }
         public string BankAddressCode { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户银行联行号
         /// 开户银行联行号
+        /// </summary>
+        /// <remarks>
         /// 1、17家直连银行无需填写,如为其他银行,则开户银行全称(含支行)和开户银行联行号二选一。
         /// 1、17家直连银行无需填写,如为其他银行,则开户银行全称(含支行)和开户银行联行号二选一。
         /// 2、详细参见《开户银行全称(含支行)对照表》。
         /// 2、详细参见《开户银行全称(含支行)对照表》。
-        /// 示例值:402713354941
-        /// </summary>
+        /// <para>示例值:402713354941</para>
+        /// </remarks>
         [JsonPropertyName("bank_branch_id")]
         [JsonPropertyName("bank_branch_id")]
         public string BankBranchId { get; set; }
         public string BankBranchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户银行全称(含支行)
         /// 开户银行全称(含支行)
+        /// </summary>
+        /// <remarks>
         /// 1、17家直连银行无需填写,如为其他银行,则开户银行全称(含支行)和 开户银行联行号二选一。
         /// 1、17家直连银行无需填写,如为其他银行,则开户银行全称(含支行)和 开户银行联行号二选一。
         /// 2、需填写银行全称,如"深圳农村商业银行XXX支行",详细参见《开户银行全称(含支行)对照表》。
         /// 2、需填写银行全称,如"深圳农村商业银行XXX支行",详细参见《开户银行全称(含支行)对照表》。
-        /// 示例值:施秉县农村信用合作联社城关信用社
-        /// </summary>
+        /// <para>示例值:施秉县农村信用合作联社城关信用社</para>
+        /// </remarks>
         [JsonPropertyName("bank_name")]
         [JsonPropertyName("bank_name")]
         public string BankName { get; set; }
         public string BankName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 银行账号
         /// 银行账号
-        /// 1、数字,长度遵循系统支持的卡号长度要求表。
-        /// 2、该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:d+xT+MQCvrLHUVDWC1PHN4C7Rsu3WL8sPndjXTd75kPkyjqnoMRrEEaYQE8ZRGYoeorwC+w==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、数字,长度遵循系统支持的卡号长度要求表。
+        /// 2、该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:d+xT+MQCvrLHUVDWC1PHN4C7Rsu3WL8sPndjXTd75kPkyjqnoMRrEEaYQE8ZRGYoeorwC+w==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("account_number")]
         [JsonPropertyName("account_number")]
         public string AccountNumber { get; set; }
         public string AccountNumber { get; set; }

+ 8 - 4
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/BusinessInfo.cs

@@ -9,22 +9,26 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 商户简称
         /// 商户简称
+        /// </summary>
+        /// <remarks>
         /// 1、请输入2-30个字符,支持中文/字母/数字/特殊符号
         /// 1、请输入2-30个字符,支持中文/字母/数字/特殊符号
         /// 2、在支付完成页向买家展示,需与微信经营类目相关;
         /// 2、在支付完成页向买家展示,需与微信经营类目相关;
         /// 3、简称要求
         /// 3、简称要求
         /// (1)不支持单纯以人名来命名,若为个体户经营,可用“个体户+经营者名称”或“经营者名 称+业务”命名,如“个体户张三”或“张三餐饮店”;
         /// (1)不支持单纯以人名来命名,若为个体户经营,可用“个体户+经营者名称”或“经营者名 称+业务”命名,如“个体户张三”或“张三餐饮店”;
         /// (2)不支持无实际意义的文案,如“XX特约商户”、“800”、“XX客服电话XXX”;
         /// (2)不支持无实际意义的文案,如“XX特约商户”、“800”、“XX客服电话XXX”;
-        /// 示例值:张三餐饮店
-        /// </summary>
+        /// <para>示例值:张三餐饮店</para>
+        /// </remarks>
         [JsonPropertyName("merchant_shortname")]
         [JsonPropertyName("merchant_shortname")]
         public string MerchantShortName { get; set; }
         public string MerchantShortName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 客服电话
         /// 客服电话
+        /// </summary>
+        /// <remarks>
         /// 1、请填写真实有效的客服电话,将在交易记录中向买家展示,提供咨询服务;
         /// 1、请填写真实有效的客服电话,将在交易记录中向买家展示,提供咨询服务;
         /// 2、请确保电话畅通,以便入驻后平台回拨确认。
         /// 2、请确保电话畅通,以便入驻后平台回拨确认。
-        /// 示例值:0758XXXXX
-        /// </summary>
+        /// <para>示例值:0758XXXXX</para>
+        /// </remarks>
         [JsonPropertyName("service_phone")]
         [JsonPropertyName("service_phone")]
         public string ServicePhone { get; set; }
         public string ServicePhone { get; set; }
     }
     }

+ 16 - 8
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/BusinessLicenseInfo.cs

@@ -9,36 +9,44 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 营业执照照片
         /// 营业执照照片
+        /// </summary>
+        /// <remarks>
         /// 1、可上传1张图片,请填写通过《图片上传API》预先生成的MediaID。
         /// 1、可上传1张图片,请填写通过《图片上传API》预先生成的MediaID。
         /// 2、 请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证) 。
         /// 2、 请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证) 。
-        /// 示例值:47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4
-        /// </summary>
+        /// <para>示例值:47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4</para>
+        /// </remarks>
         [JsonPropertyName("license_copy")]
         [JsonPropertyName("license_copy")]
         public string LicenseCopy { get; set; }
         public string LicenseCopy { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 注册号/统一社会信用代码
         /// 注册号/统一社会信用代码
-        /// 请填写营业执照上的营业执照注册号,注册号格式须为15位数字或18位数字|大写字母。
-        /// 示例值:123456789012345678
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写营业执照上的营业执照注册号,注册号格式须为15位数字或18位数字|大写字母。
+        /// <para>示例值:123456789012345678</para>
+        /// </remarks>
         [JsonPropertyName("license_number")]
         [JsonPropertyName("license_number")]
         public string LicenseNumber { get; set; }
         public string LicenseNumber { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户名称
         /// 商户名称
+        /// </summary>
+        /// <remarks>
         /// 1、请填写营业执照上的商户名称,2~110个字符,支持括号。
         /// 1、请填写营业执照上的商户名称,2~110个字符,支持括号。
         /// 2、个体户,不能以“公司”结尾。
         /// 2、个体户,不能以“公司”结尾。
         /// 3、个体户,若营业执照上商户名称为“空“或“无”时,填写"个体户+经营者姓名",如“个体户张三”。
         /// 3、个体户,若营业执照上商户名称为“空“或“无”时,填写"个体户+经营者姓名",如“个体户张三”。
-        /// 示例值:腾讯科技有限公司
-        /// </summary>
+        /// <para>示例值:腾讯科技有限公司</para>
+        /// </remarks>
         [JsonPropertyName("merchant_name")]
         [JsonPropertyName("merchant_name")]
         public string MerchantName { get; set; }
         public string MerchantName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 个体户经营者/法人姓名
         /// 个体户经营者/法人姓名
-        /// 请填写营业执照的经营者/法定代表人姓名。
-        /// 示例值:张三
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写营业执照的经营者/法定代表人姓名。
+        /// <para>示例值:张三</para>
+        /// </remarks>
         [JsonPropertyName("legal_person")]
         [JsonPropertyName("legal_person")]
         public string LegalPerson { get; set; }
         public string LegalPerson { get; set; }
     }
     }

+ 0 - 12
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Certificate.cs

@@ -7,27 +7,15 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// </summary>
     /// </summary>
     public class Certificate : WeChatPayObject
     public class Certificate : WeChatPayObject
     {
     {
-        /// <summary>
-        /// 序列号
-        /// </summary>
         [JsonPropertyName("serial_no")]
         [JsonPropertyName("serial_no")]
         public string SerialNo { get; set; }
         public string SerialNo { get; set; }
 
 
-        /// <summary>
-        /// 生效时间
-        /// </summary>
         [JsonPropertyName("effective_time")]
         [JsonPropertyName("effective_time")]
         public string EffectiveTime { get; set; }
         public string EffectiveTime { get; set; }
 
 
-        /// <summary>
-        /// 失效时间
-        /// </summary>
         [JsonPropertyName("expire_time")]
         [JsonPropertyName("expire_time")]
         public string ExpireTime { get; set; }
         public string ExpireTime { get; set; }
 
 
-        /// <summary>
-        /// 加密证书信息
-        /// </summary>
         [JsonPropertyName("encrypt_certificate")]
         [JsonPropertyName("encrypt_certificate")]
         public EncryptCertificate EncryptCertificate { get; set; }
         public EncryptCertificate EncryptCertificate { get; set; }
     }
     }

+ 35 - 14
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CertificateInfo.cs

@@ -9,15 +9,19 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 登记证书照片
         /// 登记证书照片
+        /// </summary>
+        /// <remarks>
         /// 1、请填写通过《图片上传API》预先生成的MediaID,上传1张图片即可;
         /// 1、请填写通过《图片上传API》预先生成的MediaID,上传1张图片即可;
         /// 2、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水 印(如微信支付认证) 。
         /// 2、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水 印(如微信支付认证) 。
-        /// 示例值: 0P3ng6_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo
-        /// </summary>
+        /// <para>示例值: 0P3ng6_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo</para>
+        /// </remarks>
         [JsonPropertyName("cert_copy")]
         [JsonPropertyName("cert_copy")]
         public string CertCopy { get; set; }
         public string CertCopy { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 登记证书类型
         /// 登记证书类型
+        /// </summary>
+        /// <remarks>
         /// 登记证书的类型
         /// 登记证书的类型
         /// 枚举值:
         /// 枚举值:
         /// CERTIFICATE_TYPE_2388:事业单位法人证书
         /// CERTIFICATE_TYPE_2388:事业单位法人证书
@@ -33,56 +37,73 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// CERTIFICATE_TYPE_2398:农民专业合作社法人营业执照
         /// CERTIFICATE_TYPE_2398:农民专业合作社法人营业执照
         /// CERTIFICATE_TYPE_2399:宗教活动场所登记证
         /// CERTIFICATE_TYPE_2399:宗教活动场所登记证
         /// CERTIFICATE_TYPE_2400:其他证书/批文/证明
         /// CERTIFICATE_TYPE_2400:其他证书/批文/证明
-        /// 示例值:CERTIFICATE_TYPE_2388
-        /// </summary>
+        /// <para>示例值:CERTIFICATE_TYPE_2388</para>
+        /// </remarks>
         [JsonPropertyName("cert_type")]
         [JsonPropertyName("cert_type")]
         public string CertType { get; set; }
         public string CertType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证书号
         /// 证书号
-        /// 请填写登记证书上的证书编号。
-        /// 示例值:111111111111
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写登记证书上的证书编号。
+        /// <para>示例值:111111111111</para>
+        /// </remarks>
         [JsonPropertyName("cert_number")]
         [JsonPropertyName("cert_number")]
         public string CertNumber { get; set; }
         public string CertNumber { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户名称
         /// 商户名称
-        /// 请填写登记证书上的商户名称。
-        /// 示例值:xx公益团体
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写登记证书上的商户名称。
+        /// <para>示例值:xx公益团体</para>
+        /// </remarks>
         [JsonPropertyName("merchant_name")]
         [JsonPropertyName("merchant_name")]
         public string MerchantName { get; set; }
         public string MerchantName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 注册地址
         /// 注册地址
-        /// 请填写登记证书的注册地址。
-        /// 示例值:广东省深圳市南山区xx路xx号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写登记证书的注册地址。
+        /// <para>示例值:广东省深圳市南山区xx路xx号</para>
+        /// </remarks>
         [JsonPropertyName("company_address")]
         [JsonPropertyName("company_address")]
         public string CompanyAddress { get; set; }
         public string CompanyAddress { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 法人姓名
         /// 法人姓名
+        /// </summary>
+        /// <remarks>
         /// 1、只能由中文字符、英文字符、可见符号组成。
         /// 1、只能由中文字符、英文字符、可见符号组成。
         /// 2、请填写登记证书上的法定代表人姓名。
         /// 2、请填写登记证书上的法定代表人姓名。
-        /// 示例值:李四
-        /// </summary>
+        /// <para>示例值:李四</para>
+        /// </remarks>
         [JsonPropertyName("legal_person")]
         [JsonPropertyName("legal_person")]
         public string LegalPerson { get; set; }
         public string LegalPerson { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 有效期限开始日期
         /// 有效期限开始日期
+        /// </summary>
+        /// <remarks>
         /// 1、必填, 请参考示例值填写。
         /// 1、必填, 请参考示例值填写。
         /// 2、开始日期,开始日期需大于当前日期
         /// 2、开始日期,开始日期需大于当前日期
-        /// 示例值:2019-08-01
-        /// </summary>
+        /// <para>示例值:2019-08-01</para>
+        /// </remarks>
         [JsonPropertyName("period_begin")]
         [JsonPropertyName("period_begin")]
         public string PeriodBegin { get; set; }
         public string PeriodBegin { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 有效期限结束日期
         /// 有效期限结束日期
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、必填,请参考示例值填写。
+        /// 2、若证件有效期为长期,请填写:长期。
+        /// 3、结束日期大于开始日期。
+        /// 4、有效期必须大于60天。
+        /// <para>示例值:2029-08-01,长期</para>
+        /// </remarks>
         [JsonPropertyName("period_end")]
         [JsonPropertyName("period_end")]
         public string PeriodEnd { get; set; }
         public string PeriodEnd { get; set; }
     }
     }

+ 7 - 10
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Collection.cs

@@ -6,12 +6,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 收款信息
     /// 收款信息
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">修改订单金额API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class Collection : WeChatPayObject
     public class Collection : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
@@ -20,7 +14,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// USER_PAYING:待支付
         /// USER_PAYING:待支付
         /// USER_PAID:已支付
         /// USER_PAID:已支付
-        /// 示例值:USER_PAID
+        /// <para>示例值:USER_PAID</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("state")]
         [JsonPropertyName("state")]
         public string State { get; set; }
         public string State { get; set; }
@@ -31,7 +25,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额。
         /// 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额。
         /// 此参数需满足:总金额=付费项目金额之和-商户优惠项目金额之和,且小于等于订单风险金额 。未使用服务、取消订单时,该字段必须为0。
         /// 此参数需满足:总金额=付费项目金额之和-商户优惠项目金额之和,且小于等于订单风险金额 。未使用服务、取消订单时,该字段必须为0。
-        /// 示例值:50000
+        /// <para>示例值:50000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("total_amount")]
         [JsonPropertyName("total_amount")]
         public long? TotalAmount { get; set; }
         public long? TotalAmount { get; set; }
@@ -41,7 +35,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 等待用户付款金额,只能为整数,详见支付金额。
         /// 等待用户付款金额,只能为整数,详见支付金额。
-        /// 示例值:40000
+        /// <para>示例值:40000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("paying_amount")]
         [JsonPropertyName("paying_amount")]
         public long? PayingAmount { get; set; }
         public long? PayingAmount { get; set; }
@@ -51,7 +45,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 用户已付款的金额,只能为整数,详见支付金额。
         /// 用户已付款的金额,只能为整数,详见支付金额。
-        /// 示例值:10000
+        /// <para>示例值:10000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("paid_amount")]
         [JsonPropertyName("paid_amount")]
         public long? PaidAmount { get; set; }
         public long? PaidAmount { get; set; }
@@ -59,6 +53,9 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <summary>
         /// <summary>
         /// 收款明细列表
         /// 收款明细列表
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 收款明细列表
+        /// </remarks>
         [JsonPropertyName("details")]
         [JsonPropertyName("details")]
         public List<CollectionDetail> Details { get; set; }
         public List<CollectionDetail> Details { get; set; }
     }
     }

+ 5 - 11
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CollectionDetail.cs

@@ -5,12 +5,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 收款明细列表
     /// 收款明细列表
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">修改订单金额API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class CollectionDetail : WeChatPayObject
     public class CollectionDetail : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
@@ -18,7 +12,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 从1开始递增
         /// 从1开始递增
-        /// 示例值:1
+        /// <para>示例值:1</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("seq")]
         [JsonPropertyName("seq")]
         public ulong? Seq { get; set; }
         public ulong? Seq { get; set; }
@@ -28,7 +22,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 单笔收款动作的金额,只能为整数,详见支付金额。
         /// 单笔收款动作的金额,只能为整数,详见支付金额。
-        /// 示例值:10000
+        /// <para>示例值:10000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public long? Amount { get; set; }
         public long? Amount { get; set; }
@@ -39,7 +33,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// NEWTON:微信支付分
         /// NEWTON:微信支付分
         /// MCH:商户渠道
         /// MCH:商户渠道
-        /// 示例值:NEWTON
+        /// <para>示例值:NEWTON</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("paid_type")]
         [JsonPropertyName("paid_type")]
         public string PaidType { get; set; }
         public string PaidType { get; set; }
@@ -51,7 +45,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 支付成功时间,支持两种格式:yyyyMMddHHmmss和yyyyMMdd
         /// 支付成功时间,支持两种格式:yyyyMMddHHmmss和yyyyMMdd
         /// 1、传入20091225091010表示2009年12月25日9点10分10秒
         /// 1、传入20091225091010表示2009年12月25日9点10分10秒
         /// 2、传入20091225默认认为时间为2009年12月25日0点0分0秒
         /// 2、传入20091225默认认为时间为2009年12月25日0点0分0秒
-        /// 示例值:20091225091210
+        /// <para>示例值:20091225091210</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("paid_time")]
         [JsonPropertyName("paid_time")]
         public string PaidTime { get; set; }
         public string PaidTime { get; set; }
@@ -61,7 +55,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 结单交易单号,等于普通支付接口中的transaction_id,可以使用该订单号在APP支付->API列表->查询订单、申请退款。只有单据状态为USER_PAID,且收款成功渠道为支付分渠道,收款金额大于0,才会返回结单交易单号。
         /// 结单交易单号,等于普通支付接口中的transaction_id,可以使用该订单号在APP支付->API列表->查询订单、申请退款。只有单据状态为USER_PAID,且收款成功渠道为支付分渠道,收款金额大于0,才会返回结单交易单号。
-        /// 示例值:15646546545165651651
+        /// <para>示例值:15646546545165651651</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("transaction_id")]
         [JsonPropertyName("transaction_id")]
         public string TransactionId { get; set; }
         public string TransactionId { get; set; }

+ 19 - 11
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineAmount.cs

@@ -4,39 +4,47 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 合单下单订单金额信息
     /// 合单下单订单金额信息
-    /// </summary>    
+    /// </summary>
     public class CombineAmount : WeChatPayObject
     public class CombineAmount : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 标价金额
         /// 标价金额
+        /// </summary>
+        /// <remarks>
         /// 子单金额,单位为分
         /// 子单金额,单位为分
         /// 境外场景下,标价金额要超过商户结算币种的最小单位金额,例如结算币种为美元,则标价金额必须大于1美分
         /// 境外场景下,标价金额要超过商户结算币种的最小单位金额,例如结算币种为美元,则标价金额必须大于1美分
-        /// 示例值:100
-        /// </summary>
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("total_amount")]
         [JsonPropertyName("total_amount")]
         public int TotalAmount { get; set; }
         public int TotalAmount { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// 标价币种	
-        /// 符合ISO 4217标准的三位字母代码,人民币:CNY 。
-        /// 示例值:CNY
+        /// 标价币种
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 符合ISO 4217标准的三位字母代码,人民币:CNY 。
+        /// <para>示例值:CNY</para>
+        /// </remarks>
         [JsonPropertyName("currency")]
         [JsonPropertyName("currency")]
         public string Currency { get; set; }
         public string Currency { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 现金支付金额
         /// 现金支付金额
-        /// 订单现金支付金额。
-        /// 示例值: 10
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单现金支付金额。
+        /// <para>示例值:10</para>
+        /// </remarks>
         [JsonPropertyName("payer_amount")]
         [JsonPropertyName("payer_amount")]
         public int? PayerAmount { get; set; }
         public int? PayerAmount { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// 现金支付币种	
-        /// 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY。
-        /// 示例值: CNY
+        /// 现金支付币种
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 货币类型,符合ISO 4217标准的三位字母代码,默认人民币:CNY。
+        /// <para>示例值:CNY</para>
+        /// </remarks>
         [JsonPropertyName("payer_currency")]
         [JsonPropertyName("payer_currency")]
         public string PayerCurrency { get; set; }
         public string PayerCurrency { get; set; }
     }
     }

+ 12 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineCloseSubOrderInfo.cs

@@ -9,27 +9,33 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 子单商户号
         /// 子单商户号
-        /// 子单发起方商户号,必须与发起方appid有绑定关系。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子单发起方商户号,必须与发起方appid有绑定关系。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单商户订单号
         /// 子单商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
         /// 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:20150806125346
-        /// </summary>
+        /// <para>示例值:20150806125346</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 二级商户号
         /// 二级商户号
+        /// </summary>
+        /// <remarks>
         /// 二级商户商户号,由微信支付生成并下发。
         /// 二级商户商户号,由微信支付生成并下发。
         /// 注意:仅适用于电商平台 服务商
         /// 注意:仅适用于电商平台 服务商
-        /// 示例值:1900000109
-        /// </summary>
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
     }
     }

+ 12 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineH5SceneInfo.cs

@@ -9,25 +9,31 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 商户端设备号
         /// 商户端设备号
-        /// 终端设备号(门店号或收银设备ID) 。
-        /// 特殊规则:长度最小7个字节
-        /// 示例值:POS1:1
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 终端设备号(门店号或收银设备ID)。
+        /// 特殊规则:长度最小7个字节
+        /// <para>示例值:POS1:1</para>
+        /// </remarks>
         [JsonPropertyName("device_id")]
         [JsonPropertyName("device_id")]
         public string DeviceId { get; set; }
         public string DeviceId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 用户终端IP
         /// 用户终端IP
-        /// 格式: ip(ipv4+ipv6)
-        /// 示例值:14.17.22.32
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 格式: ip(ipv4+ipv6)
+        /// <para>示例值:14.17.22.32</para>
+        /// </remarks>
         [JsonPropertyName("payer_client_ip")]
         [JsonPropertyName("payer_client_ip")]
         public string PayerClientIp { get; set; }
         public string PayerClientIp { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// H5场景信息
         /// H5场景信息
-        /// H5场景信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// H5场景信息
+        /// </remarks>
         [JsonPropertyName("h5_info")]
         [JsonPropertyName("h5_info")]
         public H5Info H5Info { get; set; }
         public H5Info H5Info { get; set; }
     }
     }

+ 0 - 27
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineSceneInfo.cs

@@ -1,27 +0,0 @@
-using System.Text.Json.Serialization;
-
-namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
-{
-    /// <summary>
-    /// 合单下单支付场景描述
-    /// </summary>       
-    public class CombineSceneInfo : WeChatPayObject
-    {
-        /// <summary>
-        /// 商户端设备号
-        /// 终端设备号(门店号或收银设备ID) 。
-        /// 特殊规则:长度最小7个字节
-        /// 示例值:POS1:1
-        /// </summary>
-        [JsonPropertyName("device_id")]
-        public string DeviceId { get; set; }
-
-        /// <summary>
-        /// 用户终端IP
-        /// 格式: ip(ipv4+ipv6)
-        /// 示例值:14.17.22.32
-        /// </summary>
-        [JsonPropertyName("payer_client_ip")]
-        public string PayerClientIp { get; set; }
-    }
-}

+ 5 - 3
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineSceneInfoResponse.cs

@@ -9,10 +9,12 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 商户端设备号
         /// 商户端设备号
-        /// 终端设备号(门店号或收银设备ID) 。
-        /// 特殊规则:长度最小7个字节
-        /// 示例值:POS1:1
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 终端设备号(门店号或收银设备ID)。
+        /// 特殊规则:长度最小7个字节
+        /// <para>示例值:POS1:1</para>
+        /// </remarks>
         [JsonPropertyName("device_id")]
         [JsonPropertyName("device_id")]
         public string DeviceId { get; set; }
         public string DeviceId { get; set; }
     }
     }

+ 26 - 12
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineSubOrderInfo.cs

@@ -9,57 +9,71 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 子单商户号
         /// 子单商户号
-        /// 子单发起方商户号,必须与发起方appid有绑定关系。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子单发起方商户号,必须与发起方appid有绑定关系。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。
-        /// 示例值:深圳分店
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。
+        /// <para>示例值:深圳分店</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public CombineAmount Amount { get; set; }
         public CombineAmount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单商户订单号
         /// 子单商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
         /// 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:20150806125346
-        /// </summary>
+        /// <para>示例值:20150806125346</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 二级商户号
         /// 二级商户号
+        /// </summary>
+        /// <remarks>
         /// 二级商户商户号,由微信支付生成并下发。
         /// 二级商户商户号,由微信支付生成并下发。
         /// 注意:仅适用于电商平台 服务商
         /// 注意:仅适用于电商平台 服务商
-        /// 示例值:1900000109
-        /// </summary>
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品简单描述。需传入应用市场上的APP名字-实际商品名称,例如:天天爱消除-游戏充值。
-        /// 示例值:腾讯充值中心-QQ会员充值
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品简单描述。需传入应用市场上的APP名字-实际商品名称,例如:天天爱消除-游戏充值。
+        /// <para>示例值:腾讯充值中心-QQ会员充值</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 结算信息
         /// 结算信息
-        /// 结算信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
         [JsonPropertyName("settle_info")]
         [JsonPropertyName("settle_info")]
         public SettleInfo SettleInfo { get; set; }
         public SettleInfo SettleInfo { get; set; }
     }
     }

+ 39 - 19
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/CombineSubOrderInfoResponse.cs

@@ -9,26 +9,32 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 子单商户号
         /// 子单商户号
-        /// 子单发起方商户号,必须与发起方appid有绑定关系。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子单发起方商户号,必须与发起方appid有绑定关系。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易类型
         /// 交易类型
+        /// </summary>
+        /// <remarks>
         /// 枚举值:
         /// 枚举值:
         /// NATIVE:扫码支付
         /// NATIVE:扫码支付
         /// JSAPI:公众号支付
         /// JSAPI:公众号支付
         /// APP:APP支付
         /// APP:APP支付
         /// MWEB:H5支付
         /// MWEB:H5支付
-        /// 示例值: JSAPI
-        /// </summary>
+        /// <para>示例值:JSAPI</para>
+        /// </remarks>
         [JsonPropertyName("trade_type")]
         [JsonPropertyName("trade_type")]
         public string TradeType { get; set; }
         public string TradeType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易状态
         /// 交易状态
+        /// </summary>
+        /// <remarks>
         /// 枚举值:
         /// 枚举值:
         /// SUCCESS:支付成功
         /// SUCCESS:支付成功
         /// REFUND:转入退款
         /// REFUND:转入退款
@@ -36,65 +42,79 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// CLOSED:已关闭
         /// CLOSED:已关闭
         /// USERPAYING:用户支付中(付款码支付)
         /// USERPAYING:用户支付中(付款码支付)
         /// PAYERROR:支付失败(其他原因,如银行返回失败)
         /// PAYERROR:支付失败(其他原因,如银行返回失败)
-        /// 示例值:SUCCESS
-        /// </summary>
+        /// <para>示例值:SUCCESS</para>
+        /// </remarks>
         [JsonPropertyName("trade_state")]
         [JsonPropertyName("trade_state")]
         public string TradeState { get; set; }
         public string TradeState { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 付款银行
         /// 付款银行
-        /// 银行类型,采用字符串类型的银行标识。
-        /// 示例值:CMC
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 银行类型,采用字符串类型的银行标识。
+        /// <para>示例值:CMC</para>
+        /// </remarks>
         [JsonPropertyName("bank_type")]
         [JsonPropertyName("bank_type")]
         public string BankType { get; set; }
         public string BankType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。
-        /// 示例值:深圳分店
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用。
+        /// <para>示例值:深圳分店</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付完成时间
         /// 支付完成时间
-        /// 订单支付时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss:sss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss:sss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
-        /// 示例值: 2015-05-20T13:29:35.120+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单支付时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss:sss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss:sss表示时分秒毫秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
+        /// <para>示例值:2015-05-20T13:29:35.120+08:00</para>
+        /// </remarks>
         [JsonPropertyName("success_time")]
         [JsonPropertyName("success_time")]
         public string SuccessTime { get; set; }
         public string SuccessTime { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信支付订单号
         /// 微信支付订单号
-        /// 微信支付订单号。
-        /// 示例值:1009660380201506130728806387
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信支付订单号。
+        /// <para>示例值:1009660380201506130728806387</para>
+        /// </remarks>
         [JsonPropertyName("transaction_id")]
         [JsonPropertyName("transaction_id")]
         public string TransactionId { get; set; }
         public string TransactionId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单商户订单号
         /// 子单商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
         /// 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:20150806125346
-        /// </summary>
+        /// <para>示例值:20150806125346</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 二级商户号
         /// 二级商户号
+        /// </summary>
+        /// <remarks>
         /// 二级商户商户号,由微信支付生成并下发。
         /// 二级商户商户号,由微信支付生成并下发。
         /// 注意:仅适用于电商平台 服务商
         /// 注意:仅适用于电商平台 服务商
-        /// 示例值:1900000109
-        /// </summary>
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public CombineAmount Amount { get; set; }
         public CombineAmount Amount { get; set; }
     }
     }

+ 23 - 13
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/ContactInfo.cs

@@ -9,52 +9,62 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 超级管理员姓名
         /// 超级管理员姓名
-        /// 1、该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriuhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriuhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("contact_name")]
         [JsonPropertyName("contact_name")]
         public string ContactName { get; set; }
         public string ContactName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 超级管理员身份证件号码
         /// 超级管理员身份证件号码
+        /// </summary>
+        /// <remarks>
         /// 1、“超级管理员身份证号码”与“超级管理员微信openid”,二选一必填。
         /// 1、“超级管理员身份证号码”与“超级管理员微信openid”,二选一必填。
         /// 2、超级管理员签约时,校验微信号绑定的银行卡实名信息,是否与该证件号码一致。
         /// 2、超级管理员签约时,校验微信号绑定的银行卡实名信息,是否与该证件号码一致。
         /// 3、可传身份证、来往内地通行证、来往大陆通行证、护照等证件号码。
         /// 3、可传身份证、来往内地通行证、来往大陆通行证、护照等证件号码。
-        /// 4、该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:pVd1HJ6zyvPedzGaV+X3qtWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==
-        /// </summary>
+        /// 4、该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:pVd1HJ6zyvPedzGaV+X3qtWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("contact_id_number")]
         [JsonPropertyName("contact_id_number")]
         public string ContactIdNumber { get; set; }
         public string ContactIdNumber { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 超级管理员微信openid
         /// 超级管理员微信openid
+        /// </summary>
+        /// <remarks>
         /// 1、“超级管理员身份证件号码”与“超级管理员微信openid”,二选一必填。
         /// 1、“超级管理员身份证件号码”与“超级管理员微信openid”,二选一必填。
         /// 2、超级管理员签约时,校验微信号是否与该微信openid一致。
         /// 2、超级管理员签约时,校验微信号是否与该微信openid一致。
-        /// 示例值:pVd1HJ6zyvPedzGaV+X/2C+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bD2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==
-        /// </summary>
+        /// <para>示例值:pVd1HJ6zyvPedzGaV+X/2C+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bD2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("openid")]
         [JsonPropertyName("openid")]
         public string OpenId { get; set; }
         public string OpenId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 联系手机
         /// 联系手机
+        /// </summary>
+        /// <remarks>
         /// 1、11位数字。
         /// 1、11位数字。
         /// 2、用于接收微信支付的重要管理信息及日常操作验证码。
         /// 2、用于接收微信支付的重要管理信息及日常操作验证码。
-        /// 3、该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:pVd1HJ6zyvPedzGaV+Xv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==
-        /// </summary>
+        /// 3、该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:pVd1HJ6zyvPedzGaV+Xv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("mobile_phone")]
         [JsonPropertyName("mobile_phone")]
         public string MobilePhone { get; set; }
         public string MobilePhone { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 联系邮箱
         /// 联系邮箱
-        /// 1、用于接收微信支付的开户邮件及日常业务通知。
-        /// 2、需要带@,遵循邮箱格式校验,该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:pVd1HJ6zyvPedzGaV+P/2qIdGdONoDzZelrxCl/NWWKIjOv/69bDnuC4EL5Kz4jBHLiCyOa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、用于接收微信支付的开户邮件及日常业务通知。
+        /// 2、需要带@,遵循邮箱格式校验,该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:pVd1HJ6zyvPedzGaV+P/2qIdGdONoDzZelrxCl/NWWKIjOv/69bDnuC4EL5Kz4jBHLiCyOa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("contact_email")]
         [JsonPropertyName("contact_email")]
         public string ContactEmail { get; set; }
         public string ContactEmail { get; set; }

+ 13 - 7
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Detail.cs

@@ -5,32 +5,38 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 优惠功能
     /// 优惠功能
-    /// </summary>    
+    /// </summary>
     public class Detail : WeChatPayObject
     public class Detail : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 订单原价
         /// 订单原价
+        /// </summary>
+        /// <remarks>
         /// 1、商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。
         /// 1、商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。
         /// 2、当订单原价与支付金额不相等,则不享受优惠。
         /// 2、当订单原价与支付金额不相等,则不享受优惠。
         /// 3、该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。
         /// 3、该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。
-        /// 示例值:608800
-        /// </summary>
+        /// <para>示例值:608800</para>
+        /// </remarks>
         [JsonPropertyName("cost_price")]
         [JsonPropertyName("cost_price")]
-        public int CostPrice { get; set; }
+        public int? CostPrice { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品小票ID
         /// 商品小票ID
-        /// 商家小票ID
-        /// 示例值:微信123
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商家小票ID
+        /// <para>示例值:微信123</para>
+        /// </remarks>
         [JsonPropertyName("invoice_id")]
         [JsonPropertyName("invoice_id")]
         public string InvoiceId { get; set; }
         public string InvoiceId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 单品列表
         /// 单品列表
+        /// </summary>
+        /// <remarks>
         /// 单品列表信息
         /// 单品列表信息
         /// 条目个数限制:【1,undefined】
         /// 条目个数限制:【1,undefined】
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("goods_detail")]
         [JsonPropertyName("goods_detail")]
         public List<GoodsDetail> GoodsDetail { get; set; }
         public List<GoodsDetail> GoodsDetail { get; set; }
     }
     }

+ 6 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/DownloadBill.cs

@@ -12,7 +12,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户将多个文件按账单文件序号的顺序合并为完整的资金账单文件,起始值为1
         /// 商户将多个文件按账单文件序号的顺序合并为完整的资金账单文件,起始值为1
-        /// 示例值:1
+        /// <para>示例值:1</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("bill_sequence")]
         [JsonPropertyName("bill_sequence")]
         public int BillSequence { get; set; }
         public int BillSequence { get; set; }
@@ -23,7 +23,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 枚举值:
         /// 枚举值:
         /// SHA1:SHA1值
         /// SHA1:SHA1值
-        /// 示例值:SHA1
+        /// <para>示例值:SHA1</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("hash_type")]
         [JsonPropertyName("hash_type")]
         public string HashType { get; set; }
         public string HashType { get; set; }
@@ -33,7 +33,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 原始账单(gzip需要解压缩)的摘要值,用于校验文件的完整性
         /// 原始账单(gzip需要解压缩)的摘要值,用于校验文件的完整性
-        /// 示例值:79bb0f45fc4c42234a918000b2668d689e2bde04
+        /// <para>示例值:79bb0f45fc4c42234a918000b2668d689e2bde04</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("hash_value")]
         [JsonPropertyName("hash_value")]
         public string HashValue { get; set; }
         public string HashValue { get; set; }
@@ -43,7 +43,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 供下一步请求账单文件的下载地址,该地址5min内有效。
         /// 供下一步请求账单文件的下载地址,该地址5min内有效。
-        /// 示例值:https://api.mch.weixin.qq.com/v3/bill/downloadurl?token=xxx
+        /// <para>示例值:https://api.mch.weixin.qq.com/v3/bill/downloadurl?token=xxx</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("download_url")]
         [JsonPropertyName("download_url")]
         public string DownloadUrl { get; set; }
         public string DownloadUrl { get; set; }
@@ -53,7 +53,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 加密账单文件使用的加密密钥。密钥用商户证书的公钥进行加密,然后进行Base64编码
         /// 加密账单文件使用的加密密钥。密钥用商户证书的公钥进行加密,然后进行Base64编码
-        /// 示例值:YpkbxSne+mDwyXq//xYPmtr9eQ5LsH7zLMZSs+GSEcY4wjhlsfioS4n9X6q1ZBL0wM1v5qd7KhWuj0rFJ4N1FidP7Q8KDy25QDTt46wiKnsPKSCAXWRFNw1D2JmJBqZsc9y5g0DupONWKYB2GfRigRDEBVszj67uOIILPdxOKX1w3N4jvu0U9IFanJa7ldm70KVvYrMWVgQFDPbgjh1gVDbuTAjmPN88AobLdkiegnBUS2woDZW+PfhPo13kweOiR3h1gXIKRlnKnN3Jkkwpna/AFFijXrFphO3voSuiV0CfptfzTtcae4X3DYG3RSroKqmpa+5tuy2aU2VJUSIuFQ==
+        /// <para>示例值:YpkbxSne+mDwyXq//xYPmtr9eQ5LsH7zLMZSs+GSEcY4wjhlsfioS4n9X6q1ZBL0wM1v5qd7KhWuj0rFJ4N1FidP7Q8KDy25QDTt46wiKnsPKSCAXWRFNw1D2JmJBqZsc9y5g0DupONWKYB2GfRigRDEBVszj67uOIILPdxOKX1w3N4jvu0U9IFanJa7ldm70KVvYrMWVgQFDPbgjh1gVDbuTAjmPN88AobLdkiegnBUS2woDZW+PfhPo13kweOiR3h1gXIKRlnKnN3Jkkwpna/AFFijXrFphO3voSuiV0CfptfzTtcae4X3DYG3RSroKqmpa+5tuy2aU2VJUSIuFQ==</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("encrypt_key")]
         [JsonPropertyName("encrypt_key")]
         public string EncryptKey { get; set; }
         public string EncryptKey { get; set; }
@@ -63,7 +63,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 加密账单文件使用的随机字符串
         /// 加密账单文件使用的随机字符串
-        /// 示例值:a8607ef79034c49c
+        /// <para>示例值:a8607ef79034c49c</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("nonce")]
         [JsonPropertyName("nonce")]
         public string Nonce { get; set; }
         public string Nonce { get; set; }

+ 0 - 12
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/EncryptCertificate.cs

@@ -7,27 +7,15 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// </summary>
     /// </summary>
     public class EncryptCertificate : WeChatPayObject
     public class EncryptCertificate : WeChatPayObject
     {
     {
-        /// <summary>
-        /// 加密算法
-        /// </summary>
         [JsonPropertyName("algorithm")]
         [JsonPropertyName("algorithm")]
         public string Algorithm { get; set; }
         public string Algorithm { get; set; }
 
 
-        /// <summary>
-        /// 加密使用的随机串初始化向量
-        /// </summary>
         [JsonPropertyName("nonce")]
         [JsonPropertyName("nonce")]
         public string Nonce { get; set; }
         public string Nonce { get; set; }
 
 
-        /// <summary>
-        /// 附加数据包
-        /// </summary>
         [JsonPropertyName("associated_data")]
         [JsonPropertyName("associated_data")]
         public string AssociatedData { get; set; }
         public string AssociatedData { get; set; }
 
 
-        /// <summary>
-        /// Base64编码后的密文
-        /// </summary>
         [JsonPropertyName("ciphertext")]
         [JsonPropertyName("ciphertext")]
         public string Ciphertext { get; set; }
         public string Ciphertext { get; set; }
     }
     }

+ 1 - 1
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/ErrorDetail.cs

@@ -4,7 +4,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 错误详情
     /// 错误详情
-    /// </summary>    
+    /// </summary>
     public class ErrorDetail : WeChatPayObject
     public class ErrorDetail : WeChatPayObject
     {
     {
         [JsonPropertyName("location")]
         [JsonPropertyName("location")]

+ 20 - 10
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/GoodsDetail.cs

@@ -9,41 +9,51 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 商户侧商品编码
         /// 商户侧商品编码
-        /// 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。
-        /// 示例值:商品编码
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。
+        /// <para>示例值:商品编码</para>
+        /// </remarks>
         [JsonPropertyName("merchant_goods_id")]
         [JsonPropertyName("merchant_goods_id")]
         public string MerchantGoodsId { get; set; }
         public string MerchantGoodsId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信侧商品编码
         /// 微信侧商品编码
-        /// 微信支付定义的统一商品编号(没有可不传)
-        /// 示例值:1001
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信支付定义的统一商品编号(没有可不传)
+        /// <para>示例值:1001</para>
+        /// </remarks>
         [JsonPropertyName("wechatpay_goods_id")]
         [JsonPropertyName("wechatpay_goods_id")]
         public string WeChatPayGoodsId { get; set; }
         public string WeChatPayGoodsId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品名称
         /// 商品名称
-        /// 商品的实际名称
-        /// 示例值:iPhoneX 256G
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品的实际名称
+        /// <para>示例值:iPhoneX 256G</para>
+        /// </remarks>
         [JsonPropertyName("goods_name")]
         [JsonPropertyName("goods_name")]
         public string GoodsName { get; set; }
         public string GoodsName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品数量
         /// 商品数量
-        /// 用户购买的数量
-        /// 示例值:1
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户购买的数量
+        /// <para>示例值:1</para>
+        /// </remarks>
         [JsonPropertyName("quantity")]
         [JsonPropertyName("quantity")]
         public int Quantity { get; set; }
         public int Quantity { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品单价
         /// 商品单价
-        /// 商品单价,单位为分
-        /// 示例值:828800
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品单价,单位为分
+        /// <para>示例值:828800</para>
+        /// </remarks>
         [JsonPropertyName("unit_price")]
         [JsonPropertyName("unit_price")]
         public int UnitPrice { get; set; }
         public int UnitPrice { get; set; }
     }
     }

+ 22 - 11
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/H5Info.cs

@@ -4,48 +4,59 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// H5场景信息
     /// H5场景信息
-    /// </summary>    
+    /// </summary>
     public class H5Info : WeChatPayObject
     public class H5Info : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
+        /// 场景类型
+        /// </summary>
+        /// <remarks>
         /// 场景类型,枚举值:
         /// 场景类型,枚举值:
         /// iOS:IOS移动应用;
         /// iOS:IOS移动应用;
         /// Android:安卓移动应用;
         /// Android:安卓移动应用;
         /// Wap:WAP网站应用;
         /// Wap:WAP网站应用;
-        /// 示例值:iOS
-        /// </summary>
+        /// <para>示例值:iOS</para>
+        /// </remarks>
         [JsonPropertyName("type")]
         [JsonPropertyName("type")]
         public int Type { get; set; }
         public int Type { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// 应用名称	
         /// 应用名称
         /// 应用名称
-        /// 示例值:王者荣耀
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 应用名称
+        /// <para>示例值:王者荣耀</para>
+        /// </remarks>
         [JsonPropertyName("app_name")]
         [JsonPropertyName("app_name")]
         public string AppName { get; set; }
         public string AppName { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// 网站URL	
         /// 网站URL
         /// 网站URL
-        /// 示例值:https://pay.qq.com
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 网站URL
+        /// <para>示例值:https://pay.qq.com</para>
+        /// </remarks>
         [JsonPropertyName("app_url")]
         [JsonPropertyName("app_url")]
         public string AppUrl { get; set; }
         public string AppUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// iOS平台BundleID	
         /// iOS平台BundleID
         /// iOS平台BundleID
-        /// 示例值:com.tencent.wzryiOS
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// iOS平台BundleID
+        /// <para>示例值:com.tencent.wzryiOS</para>
+        /// </remarks>
         [JsonPropertyName("bundle_id")]
         [JsonPropertyName("bundle_id")]
         public string BundleId { get; set; }
         public string BundleId { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// Android平台PackageName	
         /// Android平台PackageName
         /// Android平台PackageName
-        /// 示例值:com.tencent.tmgp.sgame
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// Android平台PackageName
+        /// <para>示例值:com.tencent.tmgp.sgame</para>
+        /// </remarks>
         [JsonPropertyName("package_name")]
         [JsonPropertyName("package_name")]
         public string PackageName { get; set; }
         public string PackageName { get; set; }
     }
     }

+ 26 - 14
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/IdCardInfo.cs

@@ -9,59 +9,71 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 身份证人像面照片
         /// 身份证人像面照片
+        /// </summary>
+        /// <remarks>
         /// 1、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 1、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// 示例值:jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ
-        /// </summary>
+        /// <para>示例值:jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ</para>
+        /// </remarks>
         [JsonPropertyName("id_card_copy")]
         [JsonPropertyName("id_card_copy")]
         public string IdCardCopy { get; set; }
         public string IdCardCopy { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 身份证国徽面照片
         /// 身份证国徽面照片
+        /// </summary>
+        /// <remarks>
         /// 1、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 1、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// 示例值: 47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4
-        /// </summary>
+        /// <para>示例值:47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4</para>
+        /// </remarks>
         [JsonPropertyName("id_card_national")]
         [JsonPropertyName("id_card_national")]
         public string IdCardNational { get; set; }
         public string IdCardNational { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 身份证姓名
         /// 身份证姓名
-        /// 1、请填写个体户经营者/法定代表人对应身份证的姓名,2~30个中文字符、英文字符、符号。
-        /// 2、该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPRDm2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、请填写个体户经营者/法定代表人对应身份证的姓名,2~30个中文字符、英文字符、符号。
+        /// 2、该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPRDm2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("id_card_name")]
         [JsonPropertyName("id_card_name")]
         public string IdCardName { get; set; }
         public string IdCardName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 身份证号码
         /// 身份证号码
-        /// 1、请填写个体户经营者/法定代表人对应身份证的号码。
-        /// 2、15位数字或17位数字+1位数字|X,该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:AOZdYGISxo4y44/UgZ69bdagEcGe+vLYiKrzcrodtkRJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、请填写个体户经营者/法定代表人对应身份证的号码。
+        /// 2、15位数字或17位数字+1位数字|X,该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:AOZdYGISxo4y44/UgZ69bdagEcGe+vLYiKrzcrodtkRJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("id_card_number")]
         [JsonPropertyName("id_card_number")]
         public string IdCardNumber { get; set; }
         public string IdCardNumber { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 身份证有效期开始时间
         /// 身份证有效期开始时间
+        /// </summary>
+        /// <remarks>
         /// 1、必填,请按照示例值填写。
         /// 1、必填,请按照示例值填写。
         /// 2、结束时间大于开始时间。
         /// 2、结束时间大于开始时间。
-        /// 示例值:2026-06-06
-        /// </summary>
+        /// <para>示例值:2026-06-06</para>
+        /// </remarks>
         [JsonPropertyName("card_period_begin")]
         [JsonPropertyName("card_period_begin")]
         public string CardPeriodBegin { get; set; }
         public string CardPeriodBegin { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 身份证有效期结束时间
         /// 身份证有效期结束时间
+        /// </summary>
+        /// <remarks>
         /// 1、必填,请按照示例值填写。
         /// 1、必填,请按照示例值填写。
         /// 2、若证件有效期为长期,请填写:长期。
         /// 2、若证件有效期为长期,请填写:长期。
         /// 3、结束时间大于开始时间。
         /// 3、结束时间大于开始时间。
         /// 4、证件有效期需大于60天。
         /// 4、证件有效期需大于60天。
-        /// 示例值:2026-06-06
-        /// </summary>
+        /// <para>示例值:2026-06-06</para>
+        /// </remarks>
         [JsonPropertyName("card_period_end")]
         [JsonPropertyName("card_period_end")]
         public string CardPeriodEnd { get; set; }
         public string CardPeriodEnd { get; set; }
     }
     }

+ 22 - 12
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/IdDocInfo.cs

@@ -9,50 +9,60 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 证件照片
         /// 证件照片
+        /// </summary>
+        /// <remarks>
         /// 1、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 1、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// 示例值:jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ
-        /// </summary>
+        /// <para>示例值:jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ</para>
+        /// </remarks>
         [JsonPropertyName("id_doc_copy")]
         [JsonPropertyName("id_doc_copy")]
         public string IdDocCopy { get; set; }
         public string IdDocCopy { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证件姓名
         /// 证件姓名
-        /// 1、请填写经营者/法定代表人的证件姓名,2~30个中文字符、英文字符、符号。
-        /// 2、该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:pVd1HJ6NxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、请填写经营者/法定代表人的证件姓名,2~30个中文字符、英文字符、符号。
+        /// 2、该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:pVd1HJ6NxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("id_doc_name")]
         [JsonPropertyName("id_doc_name")]
         public string IdDocName { get; set; }
         public string IdDocName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证件号码
         /// 证件号码
-        /// 1、请填写经营者/法定代表人的证件号码。
-        /// 2、8-30位数字|字母|连字符,该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:AOZdYGISxo4V4oASq6ZFonjTtgjjgKsadIKHXtb3JZKGZjduGdtkRJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、请填写经营者/法定代表人的证件号码。
+        /// 2、8-30位数字|字母|连字符,该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:AOZdYGISxo4V4oASq6ZFonjTtgjjgKsadIKHXtb3JZKGZjduGdtkRJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("id_doc_number")]
         [JsonPropertyName("id_doc_number")]
         public string IdDocNumber { get; set; }
         public string IdDocNumber { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证件有效期开始时间
         /// 证件有效期开始时间
+        /// </summary>
+        /// <remarks>
         /// 1、选填,请按照示例值填写。
         /// 1、选填,请按照示例值填写。
         /// 2、结束时间大于开始时间。
         /// 2、结束时间大于开始时间。
-        /// 示例值:2019-06-06
-        /// </summary>
+        /// <para>示例值:2019-06-06</para>
+        /// </remarks>
         [JsonPropertyName("doc_period_begin")]
         [JsonPropertyName("doc_period_begin")]
         public string DocPeriodBegin { get; set; }
         public string DocPeriodBegin { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证件有效期结束时间
         /// 证件有效期结束时间
+        /// </summary>
+        /// <remarks>
         /// 1、必填,请按照示例值填写。
         /// 1、必填,请按照示例值填写。
         /// 2、若证件有效期为长期,请填写:长期。
         /// 2、若证件有效期为长期,请填写:长期。
         /// 3、结束时间大于开始时间。
         /// 3、结束时间大于开始时间。
         /// 4、证件有效期需大于60天。
         /// 4、证件有效期需大于60天。
-        /// 示例值:2026-06-06
-        /// </summary>
+        /// <para>示例值:2026-06-06</para>
+        /// </remarks>
         [JsonPropertyName("doc_period_end")]
         [JsonPropertyName("doc_period_end")]
         public string DocPeriodEnd { get; set; }
         public string DocPeriodEnd { get; set; }
     }
     }

+ 14 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/IdentityInfo.cs

@@ -9,6 +9,8 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 证件类型
         /// 证件类型
+        /// </summary>
+        /// <remarks>
         /// 个体户/企业/党政、机关及事业单位/其他组织:可选择任一证件类型。
         /// 个体户/企业/党政、机关及事业单位/其他组织:可选择任一证件类型。
         /// 枚举值:
         /// 枚举值:
         /// IDENTIFICATION_TYPE_IDCARD:中国大陆居民-身份证
         /// IDENTIFICATION_TYPE_IDCARD:中国大陆居民-身份证
@@ -16,31 +18,37 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// IDENTIFICATION_TYPE_HONGKONG_PASSPORT:中国香港居民-来往内地通行证
         /// IDENTIFICATION_TYPE_HONGKONG_PASSPORT:中国香港居民-来往内地通行证
         /// IDENTIFICATION_TYPE_MACAO_PASSPORT:中国澳门居民-来往内地通行证
         /// IDENTIFICATION_TYPE_MACAO_PASSPORT:中国澳门居民-来往内地通行证
         /// IDENTIFICATION_TYPE_TAIWAN_PASSPORT:中国台湾居民-来往大陆通行证
         /// IDENTIFICATION_TYPE_TAIWAN_PASSPORT:中国台湾居民-来往大陆通行证
-        /// 示例值:IDENTIFICATION_TYPE_IDCARD
-        /// </summary>
+        /// <para>示例值:IDENTIFICATION_TYPE_IDCARD</para>
+        /// </remarks>
         [JsonPropertyName("id_doc_type")]
         [JsonPropertyName("id_doc_type")]
         public string IdDocType { get; set; }
         public string IdDocType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 身份证信息
         /// 身份证信息
-        /// 证件类型为“身份证”时填写。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 证件类型为“身份证”时填写。
+        /// </remarks>
         [JsonPropertyName("id_card_info")]
         [JsonPropertyName("id_card_info")]
         public IdCardInfo IdCardInfo { get; set; }
         public IdCardInfo IdCardInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 其他类型证件信息
         /// 其他类型证件信息
-        /// 证件类型为“来往内地通行证、来往大陆通行证、护照”时填写。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 证件类型为“来往内地通行证、来往大陆通行证、护照”时填写。
+        /// </remarks>
         [JsonPropertyName("id_doc_info")]
         [JsonPropertyName("id_doc_info")]
         public IdDocInfo IdDocInfo { get; set; }
         public IdDocInfo IdDocInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 经营者/法人是否为受益人
         /// 经营者/法人是否为受益人
+        /// </summary>
+        /// <remarks>
         /// 1、若经营者/法人是最终受益人,则填写:true。
         /// 1、若经营者/法人是最终受益人,则填写:true。
         /// 2、若经营者/法人不是最终受益人,则填写:false。
         /// 2、若经营者/法人不是最终受益人,则填写:false。
-        /// 示例值:true
-        /// </summary>
+        /// <para>示例值:true</para>
+        /// </remarks>
         [JsonPropertyName("owner")]
         [JsonPropertyName("owner")]
         public bool Owner { get; set; }
         public bool Owner { get; set; }
     }
     }

+ 2 - 12
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Location.cs

@@ -5,16 +5,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 服务位置
     /// 服务位置
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_1.shtml">创单结单合并API</a> - 最新更新时间:2020.04.23</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml">创建支付分订单API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">修改订单金额API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_18.shtml">完结支付分订单API</a> - 最新更新时间:2020.06.02</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_21.shtml">确认订单回调通知API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class Location : WeChatPayObject
     public class Location : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
@@ -26,7 +16,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         ///  1、用户下单时【未确定】服务结束地点,不填写。
         ///  1、用户下单时【未确定】服务结束地点,不填写。
         ///  2、服务在同一地点开始和结束,不填写。
         ///  2、服务在同一地点开始和结束,不填写。
         ///  3、用户下单时【已确定】服务结束地点,填写。
         ///  3、用户下单时【已确定】服务结束地点,填写。
-        ///示例值:嗨客时尚主题展餐厅
+        /// <para>示例值:嗨客时尚主题展餐厅</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("start_location")]
         [JsonPropertyName("start_location")]
         public string StartLocation { get; set; }
         public string StartLocation { get; set; }
@@ -37,7 +27,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 1、结束使用服务的地点,不超过50个字符,超出报错处理 。
         /// 1、结束使用服务的地点,不超过50个字符,超出报错处理 。
         /// 2、填写了服务开始地点,才能填写服务结束地点。
         /// 2、填写了服务开始地点,才能填写服务结束地点。
-        /// 示例值:嗨客时尚主题展餐厅
+        /// <para>示例值:嗨客时尚主题展餐厅</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("end_location")]
         [JsonPropertyName("end_location")]
         public string EndLocation { get; set; }
         public string EndLocation { get; set; }

+ 22 - 10
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/NotifyCiphertext.cs

@@ -9,48 +9,60 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 通知ID
         /// 通知ID
-        /// 通知的唯一ID
-        /// 示例值:EV-2018022511223320873
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 通知的唯一ID
+        /// <para>示例值:EV-2018022511223320873</para>
+        /// </remarks>
         [JsonPropertyName("id")]
         [JsonPropertyName("id")]
         public string Id { get; set; }
         public string Id { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知创建时间
         /// 通知创建时间
-        /// 通知创建的时间,格式为yyyyMMddHHmmss
-        /// 示例值:20180225112233
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 通知创建的时间,格式为yyyyMMddHHmmss
+        /// <para>示例值:20180225112233</para>
+        /// </remarks>
         [JsonPropertyName("create_time")]
         [JsonPropertyName("create_time")]
         public string CreateTime { get; set; }
         public string CreateTime { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知类型
         /// 通知类型
-        /// 通知的类型,支付成功通知的类型为TRANSACTION.SUCCESS
-        /// 示例值:TRANSACTION.SUCCESS
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 通知的类型,支付成功通知的类型为TRANSACTION.SUCCESS
+        /// <para>示例值:TRANSACTION.SUCCESS</para>
+        /// </remarks>
         [JsonPropertyName("event_type")]
         [JsonPropertyName("event_type")]
         public string EventType { get; set; }
         public string EventType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 概要
         /// 概要
-        /// 示例值:支付成功
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// <para>示例值:支付成功</para>
+        /// </remarks>
         [JsonPropertyName("summary")]
         [JsonPropertyName("summary")]
         public string Summary { get; set; }
         public string Summary { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知数据类型
         /// 通知数据类型
-        /// 通知的资源数据类型,支付成功通知为encrypt-resource
-        /// 示例值:encrypt-resource
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 通知的资源数据类型,支付成功通知为encrypt-resource
+        /// <para>示例值:encrypt-resource</para>
+        /// </remarks>
         [JsonPropertyName("resource_type")]
         [JsonPropertyName("resource_type")]
         public string ResourceType { get; set; }
         public string ResourceType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知数据
         /// 通知数据
+        /// </summary>
+        /// <remarks>
         /// 通知资源数据
         /// 通知资源数据
         /// json格式,见示例
         /// json格式,见示例
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("resource")]
         [JsonPropertyName("resource")]
         public Resource Resource { get; set; }
         public Resource Resource { get; set; }
     }
     }

+ 16 - 8
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/OrganizationInfo.cs

@@ -9,38 +9,46 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 组织机构代码证照片
         /// 组织机构代码证照片
-        /// 可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// 示例值:47ZC6GCGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
+        /// <para>示例值:47ZC6GCGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4</para>
+        /// </remarks>
         [JsonPropertyName("organization_copy")]
         [JsonPropertyName("organization_copy")]
         public string OrganizationCopy { get; set; }
         public string OrganizationCopy { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 组织机构代码
         /// 组织机构代码
+        /// </summary>
+        /// <remarks>
         /// 1、请填写组织机构代码证上的组织机构代码。
         /// 1、请填写组织机构代码证上的组织机构代码。
         /// 2、可填写9或10位数字|字母|连字符。
         /// 2、可填写9或10位数字|字母|连字符。
-        /// 示例值:123456789-A
-        /// </summary>
+        /// <para>示例值:123456789-A</para>
+        /// </remarks>
         [JsonPropertyName("organization_code")]
         [JsonPropertyName("organization_code")]
         public string OrganizationCode { get; set; }
         public string OrganizationCode { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 组织机构代码证有效期开始日期
         /// 组织机构代码证有效期开始日期
+        /// </summary>
+        /// <remarks>
         /// 1、请按照示例值填写。
         /// 1、请按照示例值填写。
         /// 2、证件有效期需大于60天。
         /// 2、证件有效期需大于60天。
-        /// 示例值:2019-08-01
-        /// </summary>
+        /// <para>示例值:2019-08-01</para>
+        /// </remarks>
         [JsonPropertyName("org_period_begin")]
         [JsonPropertyName("org_period_begin")]
         public string OrgPeriodBegin { get; set; }
         public string OrgPeriodBegin { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 组织机构代码证有效期结束日期
         /// 组织机构代码证有效期结束日期
+        /// </summary>
+        /// <remarks>
         /// 1、请按照示例值填写。
         /// 1、请按照示例值填写。
         /// 2、若证件有效期为长期,请填写:长期。
         /// 2、若证件有效期为长期,请填写:长期。
         /// 3、结束日期大于开始日期。
         /// 3、结束日期大于开始日期。
         /// 4、证件有效期需大于60天。
         /// 4、证件有效期需大于60天。
-        /// 示例值:2019-08-01,长期
-        /// </summary>
+        /// <para>示例值:2019-08-01,长期</para>
+        /// </remarks>
         [JsonPropertyName("org_period_end")]
         [JsonPropertyName("org_period_end")]
         public string OrgPeriodEnd { get; set; }
         public string OrgPeriodEnd { get; set; }
     }
     }

+ 8 - 4
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PartnerPayerInfo.cs

@@ -9,17 +9,21 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 用户服务标识
         /// 用户服务标识
-        /// 用户在服务商appid下的唯一标识。
-        /// 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户在服务商appid下的唯一标识。
+        /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
+        /// </remarks>
         [JsonPropertyName("sp_openid")]
         [JsonPropertyName("sp_openid")]
         public string SpOpenId { get; set; }
         public string SpOpenId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 用户子标识
         /// 用户子标识
-        /// 用户在子商户appid下的唯一标识。
-        /// 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户在子商户appid下的唯一标识。
+        /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
+        /// </remarks>
         [JsonPropertyName("sub_openid")]
         [JsonPropertyName("sub_openid")]
         public string SubOpenId { get; set; }
         public string SubOpenId { get; set; }
     }
     }

+ 4 - 2
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PayerInfo.cs

@@ -9,9 +9,11 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 用户标识
         /// 用户标识
-        /// 用户在直连商户appid下的唯一标识。
-        /// 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户在直连商户appid下的唯一标识。
+        /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
+        /// </remarks>
         [JsonPropertyName("openid")]
         [JsonPropertyName("openid")]
         public string OpenId { get; set; }
         public string OpenId { get; set; }
     }
     }

+ 4 - 14
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PostDiscount.cs

@@ -5,16 +5,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 商户优惠
     /// 商户优惠
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_1.shtml">创单结单合并API</a> - 最新更新时间:2020.04.23</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml">创建支付分订单API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">修改订单金额API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_18.shtml">完结支付分订单API</a> - 最新更新时间:2020.06.02</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_21.shtml">确认订单回调通知API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class PostDiscount : WeChatPayObject
     public class PostDiscount : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
@@ -23,7 +13,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 1、商户优惠项目名称,不超过20个字符。
         /// 1、商户优惠项目名称,不超过20个字符。
         /// 2、优惠项目名称不可重复。
         /// 2、优惠项目名称不可重复。
-        /// 示例值:满20减1元 
+        /// <para>示例值:满20减1元 </para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("name")]
         [JsonPropertyName("name")]
         public string Name { get; set; }
         public string Name { get; set; }
@@ -33,7 +23,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 1、优惠使用条件说明,不超过30个字符。
         /// 1、优惠使用条件说明,不超过30个字符。
-        /// 示例值:不与其他优惠叠加
+        /// <para>示例值:不与其他优惠叠加</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
@@ -43,7 +33,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 1、商户优惠项目金额,大于等于0,单位为分。
         /// 1、商户优惠项目金额,大于等于0,单位为分。
-        /// 示例值:100
+        /// <para>示例值:100</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public long? Amount { get; set; }
         public long? Amount { get; set; }
@@ -54,7 +44,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 优惠的数量,不填时默认为1个。
         /// 优惠的数量,不填时默认为1个。
         /// 特殊规则:数量限制100,不填时默认1
         /// 特殊规则:数量限制100,不填时默认1
-        /// 示例值:2
+        /// <para>示例值:2</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("count")]
         [JsonPropertyName("count")]
         public uint? Count { get; set; }
         public uint? Count { get; set; }

+ 4 - 14
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PostPayment.cs

@@ -5,16 +5,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 付款项目
     /// 付款项目
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_1.shtml">创单结单合并API</a> - 最新更新时间:2020.04.23</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml">创建支付分订单API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">修改订单金额API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_18.shtml">完结支付分订单API</a> - 最新更新时间:2020.06.02</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_21.shtml">确认订单回调通知API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class PostPayment : WeChatPayObject
     public class PostPayment : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
@@ -22,7 +12,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 相同订单号下不能出现相同的付费项目名称,当参数长度超过20个字符时,报错处理。
         /// 相同订单号下不能出现相同的付费项目名称,当参数长度超过20个字符时,报错处理。
-        /// 示例值:就餐费用, 服务费
+        /// <para>示例值:就餐费用, 服务费</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("name")]
         [JsonPropertyName("name")]
         public string Name { get; set; }
         public string Name { get; set; }
@@ -32,7 +22,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 此付费项目总金额,大于等于0,单位为分,等于0时代表不需要扣费,只能为整数,详见支付金额。
         /// 此付费项目总金额,大于等于0,单位为分,等于0时代表不需要扣费,只能为整数,详见支付金额。
-        /// 示例值:40000       
+        /// <para>示例值:40000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public long? Amount { get; set; }
         public long? Amount { get; set; }
@@ -42,7 +32,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 描述计费规则,不超过30个字符,超出报错处理
         /// 描述计费规则,不超过30个字符,超出报错处理
-        /// 示例值:就餐人均100元,服务费:100/小时 
+        /// <para>示例值:就餐人均100元,服务费:100/小时 </para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
@@ -53,7 +43,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 付费项目的数量。
         /// 付费项目的数量。
         /// 特殊规则:数量限制100,不填时默认1。
         /// 特殊规则:数量限制100,不填时默认1。
-        /// 示例值:4    
+        /// <para>示例值:4</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("count")]
         [JsonPropertyName("count")]
         public uint? Count { get; set; }
         public uint? Count { get; set; }

+ 44 - 25
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PromotionDetail.cs

@@ -6,91 +6,107 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 优惠功能
     /// 优惠功能
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class PromotionDetail : WeChatPayObject
     public class PromotionDetail : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 券ID
         /// 券ID
-        /// 券ID
-        /// 示例值:109519
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 券ID
+        /// <para>示例值:109519</para>
+        /// </remarks>
         [JsonPropertyName("coupon_id")]
         [JsonPropertyName("coupon_id")]
         public string CouponId { get; set; }
         public string CouponId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠名称
         /// 优惠名称
-        /// 优惠名称
-        /// 示例值:单品惠-6
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠名称
+        /// <para>示例值:单品惠-6</para>
+        /// </remarks>
         [JsonPropertyName("name")]
         [JsonPropertyName("name")]
         public string Name { get; set; }
         public string Name { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠范围
         /// 优惠范围
+        /// </summary>
+        /// <remarks>
         /// GLOBAL:全场代金券
         /// GLOBAL:全场代金券
         /// SINGLE:单品优惠
         /// SINGLE:单品优惠
-        /// 示例值:GLOBAL
-        /// </summary>
+        /// <para>示例值:GLOBAL</para>
+        /// </remarks>
         [JsonPropertyName("scope")]
         [JsonPropertyName("scope")]
         public string Scope { get; set; }
         public string Scope { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠类型
         /// 优惠类型
+        /// </summary>
+        /// <remarks>
         /// CASH:充值
         /// CASH:充值
         /// NOCASH:预充值
         /// NOCASH:预充值
-        /// 示例值:CASH
-        /// </summary>
+        /// <para>示例值:CASH</para>
+        /// </remarks>
         [JsonPropertyName("type")]
         [JsonPropertyName("type")]
         public string Type { get; set; }
         public string Type { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠券面额
         /// 优惠券面额
-        /// 优惠券面额
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠券面额
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public int Amount { get; set; }
         public int Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 活动ID
         /// 活动ID
-        /// 活动ID
-        /// 示例值:931386
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 活动ID
+        /// <para>示例值:931386</para>
+        /// </remarks>
         [JsonPropertyName("stock_id")]
         [JsonPropertyName("stock_id")]
         public string StockId { get; set; }
         public string StockId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信出资
         /// 微信出资
-        /// 微信出资,单位为分
-        /// 示例值:0
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信出资,单位为分
+        /// <para>示例值:0</para>
+        /// </remarks>
         [JsonPropertyName("wechatpay_contribute")]
         [JsonPropertyName("wechatpay_contribute")]
         public int? WeChatPayContribute { get; set; }
         public int? WeChatPayContribute { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// 商户出资	
-        /// 商户出资,单位为分
-        /// 示例值:0
+        /// 商户出资
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商户出资,单位为分
+        /// <para>示例值:0</para>
+        /// </remarks>
         [JsonPropertyName("merchant_contribute")]
         [JsonPropertyName("merchant_contribute")]
         public long? MerchantContribute { get; set; }
         public long? MerchantContribute { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 其他出资
         /// 其他出资
-        /// 其他出资,单位为分
-        /// 示例值:0
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 其他出资,单位为分
+        /// <para>示例值:0</para>
+        /// </remarks>
         [JsonPropertyName("other_contribute")]
         [JsonPropertyName("other_contribute")]
         public long? OtherContribute { get; set; }
         public long? OtherContribute { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠币种
         /// 优惠币种
-        /// CNY:人民币,境内商户号仅支持人民币。
-        /// 示例值:CNY
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// CNY:人民币,境内商户号仅支持人民币。
+        /// <para>示例值:CNY</para>
+        /// </remarks>
         [JsonPropertyName("currency")]
         [JsonPropertyName("currency")]
         public string Currency { get; set; }
         public string Currency { get; set; }
 
 
@@ -98,6 +114,9 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 单品列表
         /// 单品列表
         /// 单品列表信息
         /// 单品列表信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 单品列表信息
+        /// </remarks>
         [JsonPropertyName("goods_detail")]
         [JsonPropertyName("goods_detail")]
         public List<PromotionGoodsDetail> GoodsDetail { get; set; }
         public List<PromotionGoodsDetail> GoodsDetail { get; set; }
     }
     }

+ 20 - 14
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/PromotionGoodsDetail.cs

@@ -5,49 +5,55 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 单品列表信息
     /// 单品列表信息
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class PromotionGoodsDetail : WeChatPayObject
     public class PromotionGoodsDetail : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 商品编码
         /// 商品编码
-        /// 商品编码
-        /// 示例值:M1006
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品编码
+        /// <para>示例值:M1006</para>
+        /// </remarks>
         [JsonPropertyName("goods_id")]
         [JsonPropertyName("goods_id")]
         public string GoodsId { get; set; }
         public string GoodsId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品数量
         /// 商品数量
-        /// 用户购买的数量
-        /// 示例值:1
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户购买的数量
+        /// <para>示例值:1</para>
+        /// </remarks>
         [JsonPropertyName("quantity")]
         [JsonPropertyName("quantity")]
         public int? Quantity { get; set; }
         public int? Quantity { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品单价
         /// 商品单价
-        /// 商品单价,单位为分
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品单价,单位为分
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("unit_price")]
         [JsonPropertyName("unit_price")]
         public long? UnitPrice { get; set; }
         public long? UnitPrice { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品优惠金额
         /// 商品优惠金额
-        /// 商品优惠金额
-        /// 示例值:0  
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品优惠金额
+        /// <para>示例值:0  </para>
+        /// </remarks>
         [JsonPropertyName("discount_amount")]
         [JsonPropertyName("discount_amount")]
         public long? DiscountAmount { get; set; }
         public long? DiscountAmount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品备注
         /// 商品备注
-        /// 商品备注信息
-        /// 示例值:商品备注信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品备注信息
+        /// <para>示例值:商品备注信息</para>
+        /// </remarks>
         [JsonPropertyName("goods_remark")]
         [JsonPropertyName("goods_remark")]
         public string GoodsRemark { get; set; }
         public string GoodsRemark { get; set; }
     }
     }

+ 16 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Receiver.cs

@@ -4,41 +4,51 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 分账接收方对象
     /// 分账接收方对象
-    /// </summary>    
+    /// </summary>
     public class Receiver : WeChatPayObject
     public class Receiver : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 分账接收方类型
         /// 分账接收方类型
-        /// MERCHANT_ID:商户ID
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// MERCHANT_ID:商户ID
+        /// </remarks>
         [JsonPropertyName("type")]
         [JsonPropertyName("type")]
         public int Type { get; set; }
         public int Type { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 分账接收方帐号
         /// 分账接收方帐号
-        /// 申请本功能商户号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 申请本功能商户号
+        /// </remarks>
         [JsonPropertyName("account")]
         [JsonPropertyName("account")]
         public string Account { get; set; }
         public string Account { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 分账动账金额
         /// 分账动账金额
-        /// 分账动账金额,单位为分,只能为整数
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 分账动账金额,单位为分,只能为整数
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public int Amount { get; set; }
         public int Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 分账/回退描述
         /// 分账/回退描述
-        /// 分账/回退描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 分账/回退描述
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 成功时间
         /// 成功时间
-        /// 成功时间,Rfc3339标准
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 成功时间,Rfc3339标准
+        /// </remarks>
         [JsonPropertyName("success_time")]
         [JsonPropertyName("success_time")]
         public string SuccessTime { get; set; }
         public string SuccessTime { get; set; }
     }
     }

+ 12 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundAmount.cs

@@ -9,25 +9,31 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 退款金额
         /// 退款金额
-        /// 退款金额,币种的最小单位,只能为整数,不能超过原订单支付金额。
-        /// 示例值:888
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 退款金额,币种的最小单位,只能为整数,不能超过原订单支付金额。
+        /// <para>示例值:888</para>
+        /// </remarks>
         [JsonPropertyName("refund")]
         [JsonPropertyName("refund")]
         public int Refund { get; set; }
         public int Refund { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 原订单金额
         /// 原订单金额
-        /// 原支付交易的订单总金额,币种的最小单位,只能为整数。
-        /// 示例值:888
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 原支付交易的订单总金额,币种的最小单位,只能为整数。
+        /// <para>示例值:888</para>
+        /// </remarks>
         [JsonPropertyName("total")]
         [JsonPropertyName("total")]
         public int Total { get; set; }
         public int Total { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款币种
         /// 退款币种
-        /// 符合ISO 4217标准的三位字母代码,目前只支持人民币:CNY。
-        /// 示例值:CNY
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 符合ISO 4217标准的三位字母代码,目前只支持人民币:CNY。
+        /// <para>示例值:CNY</para>
+        /// </remarks>
         [JsonPropertyName("currency")]
         [JsonPropertyName("currency")]
         public string Currency { get; set; }
         public string Currency { get; set; }
     }
     }

+ 32 - 16
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundAmountResponse.cs

@@ -9,65 +9,81 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单总金额,单位为分。
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单总金额,单位为分。
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("total")]
         [JsonPropertyName("total")]
         public int Total { get; set; }
         public int Total { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款金额
         /// 退款金额
-        /// 退款标价金额,单位为分,可以做部分退款。
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 退款标价金额,单位为分,可以做部分退款。
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("refund")]
         [JsonPropertyName("refund")]
         public int Refund { get; set; }
         public int Refund { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 用户支付金额
         /// 用户支付金额
-        /// 现金支付金额,单位为分,只能为整数。
-        /// 示例值:90
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 现金支付金额,单位为分,只能为整数。
+        /// <para>示例值:90</para>
+        /// </remarks>
         [JsonPropertyName("payer_total")]
         [JsonPropertyName("payer_total")]
         public int PayerTotal { get; set; }
         public int PayerTotal { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 用户退款金额
         /// 用户退款金额
-        /// 退款给用户的金额,不包含所有优惠券金额。
-        /// 示例值:90
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 退款给用户的金额,不包含所有优惠券金额。
+        /// <para>示例值:90</para>
+        /// </remarks>
         [JsonPropertyName("payer_refund")]
         [JsonPropertyName("payer_refund")]
         public int PayerRefund { get; set; }
         public int PayerRefund { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 应结退款金额
         /// 应结退款金额
-        /// 去掉非充值代金券退款金额后的退款金额,单位为分,退款金额=申请退款金额-非充值代金券退款金额,退款金额<=申请退款金额。
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 去掉非充值代金券退款金额后的退款金额,单位为分,退款金额=申请退款金额-非充值代金券退款金额,退款金额<=申请退款金额。
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("settlement_refund")]
         [JsonPropertyName("settlement_refund")]
         public int SettlementRefund { get; set; }
         public int SettlementRefund { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 应结订单金额
         /// 应结订单金额
-        /// 应结订单金额=订单金额-免充值代金券金额,应结订单金额<=订单金额,单位为分。
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 应结订单金额=订单金额-免充值代金券金额,应结订单金额<=订单金额,单位为分。
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("settlement_total")]
         [JsonPropertyName("settlement_total")]
         public int SettlementTotal { get; set; }
         public int SettlementTotal { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠退款金额
         /// 优惠退款金额
-        /// 优惠退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠,单位为分。
-        /// 示例值:10
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为现金,说明详见代金券或立减优惠,单位为分。
+        /// <para>示例值:10</para>
+        /// </remarks>
         [JsonPropertyName("discount_refund")]
         [JsonPropertyName("discount_refund")]
         public int DiscountRefund { get; set; }
         public int DiscountRefund { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款币种
         /// 退款币种
-        /// 符合ISO 4217标准的三位字母代码,目前只支持人民币:CNY。
-        /// 示例值:CNY
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 符合ISO 4217标准的三位字母代码,目前只支持人民币:CNY。
+        /// <para>示例值:CNY</para>
+        /// </remarks>
         [JsonPropertyName("currency")]
         [JsonPropertyName("currency")]
         public string Currency { get; set; }
         public string Currency { get; set; }
     }
     }

+ 24 - 12
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundGoodsDetail.cs

@@ -9,49 +9,61 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 商户侧商品编码
         /// 商户侧商品编码
-        /// 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。
-        /// 示例值:1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("merchant_goods_id")]
         [JsonPropertyName("merchant_goods_id")]
         public string MerchantGoodsId { get; set; }
         public string MerchantGoodsId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信侧商品编码
         /// 微信侧商品编码
-        /// 微信支付定义的统一商品编号(没有可不传)
-        /// 示例值:1001
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信支付定义的统一商品编号(没有可不传)
+        /// <para>示例值:1001</para>
+        /// </remarks>
         [JsonPropertyName("wechatpay_goods_id")]
         [JsonPropertyName("wechatpay_goods_id")]
         public string WeChatPayGoodsId { get; set; }
         public string WeChatPayGoodsId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品名称
         /// 商品名称
-        /// 商品的实际名称
-        /// 示例值:iPhone6s 16G
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品的实际名称
+        /// <para>示例值:iPhone6s 16G</para>
+        /// </remarks>
         [JsonPropertyName("goods_name")]
         [JsonPropertyName("goods_name")]
         public string GoodsName { get; set; }
         public string GoodsName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品单价
         /// 商品单价
-        /// 商品单价金额,单位为分
-        /// 示例值:528800
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品单价金额,单位为分
+        /// <para>示例值:528800</para>
+        /// </remarks>
         [JsonPropertyName("unit_price")]
         [JsonPropertyName("unit_price")]
         public int UnitPrice { get; set; }
         public int UnitPrice { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品退款金额
         /// 商品退款金额
-        /// 商品退款金额,单位为分。
-        /// 示例值:528800
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品退款金额,单位为分。
+        /// <para>示例值:528800</para>
+        /// </remarks>
         [JsonPropertyName("refund_amount")]
         [JsonPropertyName("refund_amount")]
         public int RefundAmount { get; set; }
         public int RefundAmount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品退货数量
         /// 商品退货数量
-        /// 单品的退款数量,单位为分。
-        /// 示例值:1
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 单品的退款数量,单位为分。
+        /// <para>示例值:1</para>
+        /// </remarks>
         [JsonPropertyName("refund_quantity")]
         [JsonPropertyName("refund_quantity")]
         public int RefundQuantity { get; set; }
         public int RefundQuantity { get; set; }
     }
     }

+ 16 - 8
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundNotifyAmount.cs

@@ -9,33 +9,41 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单总金额,单位为分,只能为整数,详见支付金额
-        /// 示例值:999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单总金额,单位为分,只能为整数,详见支付金额
+        /// <para>示例值:999</para>
+        /// </remarks>
         [JsonPropertyName("total")]
         [JsonPropertyName("total")]
         public int Total { get; set; }
         public int Total { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款金额
         /// 退款金额
-        /// 退款金额,币种的最小单位,只能为整数,不能超过原订单支付金额,如果有使用券,后台会按比例退。
-        /// 示例值:999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 退款金额,币种的最小单位,只能为整数,不能超过原订单支付金额,如果有使用券,后台会按比例退。
+        /// <para>示例值:999</para>
+        /// </remarks>
         [JsonPropertyName("refund")]
         [JsonPropertyName("refund")]
         public int Refund { get; set; }
         public int Refund { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 用户支付金额
         /// 用户支付金额
-        /// 用户实际支付金额,单位为分,只能为整数,详见支付金额
-        /// 示例值:999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户实际支付金额,单位为分,只能为整数,详见支付金额
+        /// <para>示例值:999</para>
+        /// </remarks>
         [JsonPropertyName("payer_total")]
         [JsonPropertyName("payer_total")]
         public int PayerTotal { get; set; }
         public int PayerTotal { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 用户退款金额
         /// 用户退款金额
-        /// 退款给用户的金额,不包含所有优惠券金额
-        /// 示例值:999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 退款给用户的金额,不包含所有优惠券金额
+        /// <para>示例值:999</para>
+        /// </remarks>
         [JsonPropertyName("payer_refund")]
         [JsonPropertyName("payer_refund")]
         public int PayerRefund { get; set; }
         public int PayerRefund { get; set; }
     }
     }

+ 23 - 11
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RefundPromotionDetail.cs

@@ -10,52 +10,64 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 券ID
         /// 券ID
-        /// 券或者立减优惠id。
-        /// 示例值:109519
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 券或者立减优惠id。
+        /// <para>示例值:109519</para>
+        /// </remarks>
         [JsonPropertyName("promotion_id")]
         [JsonPropertyName("promotion_id")]
         public string PromotionId { get; set; }
         public string PromotionId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠范围
         /// 优惠范围
+        /// </summary>
+        /// <remarks>
         /// GLOBAL:全场代金券
         /// GLOBAL:全场代金券
         /// SINGLE:单品优惠
         /// SINGLE:单品优惠
-        /// 示例值:SINGLE
-        /// </summary>
+        /// <para>示例值:SINGLE</para>
+        /// </remarks>
         [JsonPropertyName("scope")]
         [JsonPropertyName("scope")]
         public string Scope { get; set; }
         public string Scope { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠类型
         /// 优惠类型
+        /// </summary>
+        /// <remarks>
         /// 枚举值:
         /// 枚举值:
         /// COUPON:代金券,需要走结算资金的充值型代金券
         /// COUPON:代金券,需要走结算资金的充值型代金券
         /// DISCOUNT:优惠券,不走结算资金的免充值型优惠券
         /// DISCOUNT:优惠券,不走结算资金的免充值型优惠券
-        /// 示例值:DISCOUNT
-        /// </summary>
+        /// <para>示例值:DISCOUNT</para>
+        /// </remarks>
         [JsonPropertyName("type")]
         [JsonPropertyName("type")]
 
 
         public string Type { get; set; }
         public string Type { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠券面额
         /// 优惠券面额
-        /// 用户享受优惠的金额(优惠券面额=微信出资金额+商家出资金额+其他出资方金额 ),单位为分。
-        /// 示例值:5
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 用户享受优惠的金额(优惠券面额=微信出资金额+商家出资金额+其他出资方金额 ),单位为分。
+        /// <para>示例值:5</para>
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public int Amount { get; set; }
         public int Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠退款金额
         /// 优惠退款金额
-        /// 优惠退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为用户支付的现金,说明详见代金券或立减优惠,单位为分。
-        /// 示例值:100
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠退款金额<=退款金额,退款金额-代金券或立减优惠退款金额为用户支付的现金,说明详见代金券或立减优惠,单位为分。
+        /// <para>示例值:100</para>
+        /// </remarks>
         [JsonPropertyName("refund_amount")]
         [JsonPropertyName("refund_amount")]
         public int RefundAmount { get; set; }
         public int RefundAmount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品列表
         /// 商品列表
-        /// 优惠商品发生退款时返回商品信息。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠商品发生退款时返回商品信息。
+        /// </remarks>
         [JsonPropertyName("goods_detail")]
         [JsonPropertyName("goods_detail")]
         public List<RefundGoodsDetail> GoodsDetail { get; set; }
         public List<RefundGoodsDetail> GoodsDetail { get; set; }
     }
     }

+ 19 - 9
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/Resource.cs

@@ -9,40 +9,50 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 原始类型
         /// 原始类型
-        /// 示例值:transaction
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// <para>示例值:transaction</para>
+        /// </remarks>
         [JsonPropertyName("original_type")]
         [JsonPropertyName("original_type")]
         public string OriginalType { get; set; }
         public string OriginalType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 加密算法类型
         /// 加密算法类型
-        /// 对开启结果数据进行加密的加密算法,目前只支持AEAD_AES_256_GCM
-        /// 示例值:AEAD_AES_256_GCM
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 对开启结果数据进行加密的加密算法,目前只支持AEAD_AES_256_GCM
+        /// <para>示例值:AEAD_AES_256_GCM</para>
+        /// </remarks>
         [JsonPropertyName("algorithm")]
         [JsonPropertyName("algorithm")]
         public string Algorithm { get; set; }
         public string Algorithm { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 数据密文
         /// 数据密文
-        /// Base64编码后的开启/停用结果数据密文
-        /// 示例值:sadsadsadsad
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// Base64编码后的开启/停用结果数据密文
+        /// <para>示例值:sadsadsadsad</para>
+        /// </remarks>
         [JsonPropertyName("ciphertext")]
         [JsonPropertyName("ciphertext")]
         public string Ciphertext { get; set; }
         public string Ciphertext { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据
-        /// 示例值:fdasfwqewlkja484w
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据
+        /// <para>示例值:fdasfwqewlkja484w</para>
+        /// </remarks>
         [JsonPropertyName("associated_data")]
         [JsonPropertyName("associated_data")]
         public string AssociatedData { get; set; }
         public string AssociatedData { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 随机串
         /// 随机串
-        /// 加密使用的随机串
-        /// 示例值:fdasflkja484w
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 加密使用的随机串
+        /// <para>示例值:fdasflkja484w</para>
+        /// </remarks>
         [JsonPropertyName("nonce")]
         [JsonPropertyName("nonce")]
         public string Nonce { get; set; }
         public string Nonce { get; set; }
     }
     }

+ 3 - 13
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/RiskFund.cs

@@ -5,16 +5,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 订单风险金
     /// 订单风险金
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml">创建支付分订单API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml">创建支付分订单API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">修改订单金额API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_18.shtml">完结支付分订单API</a> - 最新更新时间:2020.06.02</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_21.shtml">确认订单回调通知API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class RiskFund : WeChatPayObject
     public class RiskFund : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
@@ -28,7 +18,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// CASH_DEPOSIT:保证金
         /// CASH_DEPOSIT:保证金
         ///【先享模式】(评估不通过不可使用服务)可填名称为
         ///【先享模式】(评估不通过不可使用服务)可填名称为
         /// ESTIMATE_ORDER_COST:预估订单费用
         /// ESTIMATE_ORDER_COST:预估订单费用
-        /// 示例值:DEPOSIT
+        /// <para>示例值:DEPOSIT</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("name")]
         [JsonPropertyName("name")]
         public string Name { get; set; }
         public string Name { get; set; }
@@ -41,7 +31,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 2、风险金额≤每个服务ID的风险金额上限。
         /// 2、风险金额≤每个服务ID的风险金额上限。
         /// 3、当商户优惠字段为空时,付费项目总金额≤服务ID的风险金额上限 (未填写金额的付费项目,视为该付费项目金额为0)。
         /// 3、当商户优惠字段为空时,付费项目总金额≤服务ID的风险金额上限 (未填写金额的付费项目,视为该付费项目金额为0)。
         /// 4、完结金额可大于、小于或等于风险金额。
         /// 4、完结金额可大于、小于或等于风险金额。
-        /// 示例值:10000     
+        /// <para>示例值:10000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public long Amount { get; set; }
         public long Amount { get; set; }
@@ -51,7 +41,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 文字,不超过30个字。
         /// 文字,不超过30个字。
-        /// 示例值:就餐的预估费用
+        /// <para>示例值:就餐的预估费用</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }

+ 12 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SceneInfo.cs

@@ -3,30 +3,36 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 支付场景描述
+    /// 场景信息
     /// </summary>       
     /// </summary>       
     public class SceneInfo : WeChatPayObject
     public class SceneInfo : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 用户终端IP
         /// 用户终端IP
-        /// 调用微信支付API的机器IP,支持IPv4和IPv6两种格式的IP地址。
-        /// 示例值:14.23.150.211
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 调用微信支付API的机器IP,支持IPv4和IPv6两种格式的IP地址。
+        /// <para>示例值:14.23.150.211</para>
+        /// </remarks>
         [JsonPropertyName("payer_client_ip")]
         [JsonPropertyName("payer_client_ip")]
         public string PayerClientIp { get; set; }
         public string PayerClientIp { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户端设备号
         /// 商户端设备号
-        /// 商户端设备号(门店号或收银设备ID)。
-        /// 示例值:013467007045764
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商户端设备号(门店号或收银设备ID)。
+        /// <para>示例值:013467007045764</para>
+        /// </remarks>
         [JsonPropertyName("device_id")]
         [JsonPropertyName("device_id")]
         public string DeviceId { get; set; }
         public string DeviceId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户门店信息
         /// 商户门店信息
-        /// 商户门店信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商户门店信息
+        /// </remarks>
         [JsonPropertyName("store_info")]
         [JsonPropertyName("store_info")]
         public StoreInfo StoreInfo { get; set; }
         public StoreInfo StoreInfo { get; set; }
     }
     }

+ 17 - 5
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SettleInfo.cs

@@ -4,17 +4,29 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 结算信息
     /// 结算信息
-    /// </summary>    
+    /// </summary>
     public class SettleInfo : WeChatPayObject
     public class SettleInfo : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 是否指定分账
         /// 是否指定分账
-        /// 是否指定分账,枚举值
+        /// </summary>
+        /// <remarks>
         /// true:是
         /// true:是
         /// false:否
         /// false:否
-        /// 示例值:true
-        /// </summary>
+        /// <para>示例值:true</para>
+        /// </remarks>
         [JsonPropertyName("profit_sharing")]
         [JsonPropertyName("profit_sharing")]
-        public bool ProfitSharing { get; set; }
+        public bool? ProfitSharing { get; set; }
+
+        /// <summary>
+        /// 补差金额
+        /// </summary>
+        /// <remarks>
+        /// SettleInfo.profit_sharing为true时,该金额才生效。
+        /// 注意:单笔订单最高补差金额为5000元
+        /// <para>示例值:10</para>
+        /// </remarks>
+        [JsonPropertyName("subsidy_amount")]
+        public long? SubsidyAmount { get; set; }
     }
     }
 }
 }

+ 23 - 11
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SettlementInfo.cs

@@ -10,51 +10,63 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 入驻结算规则ID
         /// 入驻结算规则ID
-        /// 请选择结算规则ID,详细参见《费率结算规则对照表》。
-        /// 示例值:719
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请选择结算规则ID,详细参见《费率结算规则对照表》。
+        /// <para>示例值:719</para>
+        /// </remarks>
         [JsonPropertyName("settlement_id")]
         [JsonPropertyName("settlement_id")]
         public string SettlementId { get; set; }
         public string SettlementId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 所属行业
         /// 所属行业
-        /// 请填写所属行业名称,详细参见《费率结算规则对照表》。
-        /// 示例值:餐饮
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写所属行业名称,详细参见《费率结算规则对照表》。
+        /// <para>示例值:餐饮</para>
+        /// </remarks>
         [JsonPropertyName("qualification_type")]
         [JsonPropertyName("qualification_type")]
         public string QualificationType { get; set; }
         public string QualificationType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 特殊资质图片
         /// 特殊资质图片
+        /// </summary>
+        /// <remarks>
         /// 1、根据所属行业的特殊资质要求提供,详情查看《费率结算规则对照表》。
         /// 1、根据所属行业的特殊资质要求提供,详情查看《费率结算规则对照表》。
         /// 2、请提供为“申请商家主体”所属的特殊资质,可授权使用总公司/分公司的特殊资 质;
         /// 2、请提供为“申请商家主体”所属的特殊资质,可授权使用总公司/分公司的特殊资 质;
         /// 3、最多可上传5张照片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 3、最多可上传5张照片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// 示例值:0P3ng6KTIW4-Q_l2FjmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo
-        /// </summary>
+        /// <para>示例值:0P3ng6KTIW4-Q_l2FjmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo</para>
+        /// </remarks>
         [JsonPropertyName("qualifications")]
         [JsonPropertyName("qualifications")]
         public List<string> Qualifications { get; set; }
         public List<string> Qualifications { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠费率活动ID
         /// 优惠费率活动ID
-        /// 选择指定活动ID,如果商户有意向报名优惠费率活动,该字段必填。详细参见《优惠费率活动对照表》。
-        /// 示例值:20191030111cff5b5e
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 选择指定活动ID,如果商户有意向报名优惠费率活动,该字段必填。详细参见《优惠费率活动对照表》。
+        /// <para>示例值:20191030111cff5b5e</para>
+        /// </remarks>
         [JsonPropertyName("activities_id")]
         [JsonPropertyName("activities_id")]
         public string ActivitiesId { get; set; }
         public string ActivitiesId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠费率活动值
         /// 优惠费率活动值
-        /// 根据优惠费率活动规则,若填写“优惠费率活动ID”,则该字段必填。由服务商自定义填写,支持两个小数点,需在优惠费率活动ID指定费率范围内,如0.6%(接口无需传%,只需传数字)。
-        /// 示例值:0.6
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 根据优惠费率活动规则,若填写“优惠费率活动ID”,则该字段必填。由服务商自定义填写,支持两个小数点,需在优惠费率活动ID指定费率范围内,如0.6%(接口无需传%,只需传数字)。
+        /// <para>示例值:0.6</para>
+        /// </remarks>
         [JsonPropertyName("activities_rate")]
         [JsonPropertyName("activities_rate")]
         public string ActivitiesRate { get; set; }
         public string ActivitiesRate { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠费率活动补充材料
         /// 优惠费率活动补充材料
+        /// </summary>
+        /// <remarks>
         /// 1、根据所选优惠费率活动,提供相关材料,详细参见《优惠费率活动对照表》。
         /// 1、根据所选优惠费率活动,提供相关材料,详细参见《优惠费率活动对照表》。
         /// 2、最多可上传5张照片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、最多可上传5张照片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("activities_additions")]
         [JsonPropertyName("activities_additions")]
         public List<string> ActivitiesAdditions { get; set; }
         public List<string> ActivitiesAdditions { get; set; }
     }
     }

+ 17 - 9
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/StoreInfo.cs

@@ -4,38 +4,46 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 商户门店信息
     /// 商户门店信息
-    /// </summary>  
+    /// </summary>
     public class StoreInfo : WeChatPayObject
     public class StoreInfo : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 门店编号
         /// 门店编号
-        /// 商户侧门店编号
-        /// 示例值:0001
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商户侧门店编号
+        /// <para>示例值:0001</para>
+        /// </remarks>
         [JsonPropertyName("id")]
         [JsonPropertyName("id")]
         public string Id { get; set; }
         public string Id { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 门店名称
         /// 门店名称
-        /// 商户侧门店名称
-        /// 示例值:腾讯大厦分店
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商户侧门店名称
+        /// <para>示例值:腾讯大厦分店</para>
+        /// </remarks>
         [JsonPropertyName("name")]
         [JsonPropertyName("name")]
         public string Name { get; set; }
         public string Name { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 地区编码
         /// 地区编码
-        /// 地区编码,详细请见省市区编号对照表。
-        /// 示例值:440305
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 地区编码,详细请见省市区编号对照表。
+        /// <para>示例值:440305</para>
+        /// </remarks>
         [JsonPropertyName("area_code")]
         [JsonPropertyName("area_code")]
         public string AreaCode { get; set; }
         public string AreaCode { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 详细地址
         /// 详细地址
-        /// 详细的商户门店地址
-        /// 示例值:广东省深圳市南山区科技中一道10000号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 详细的商户门店地址
+        /// <para>示例值:广东省深圳市南山区科技中一道10000号</para>
+        /// </remarks>
         [JsonPropertyName("address")]
         [JsonPropertyName("address")]
         public string Address { get; set; }
         public string Address { get; set; }
     }
     }

+ 23 - 9
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SubjectInfo.cs

@@ -9,69 +9,83 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 主体类型
         /// 主体类型
+        /// </summary>
+        /// <remarks>
         /// 主体类型需与营业执照/登记证书上一致,可参考《选择主体指引》
         /// 主体类型需与营业执照/登记证书上一致,可参考《选择主体指引》
         /// SUBJECT_TYPE_INDIVIDUAL(个体户):营业执照上的主体类型一般为个体户、个体工商户、个体经营;
         /// SUBJECT_TYPE_INDIVIDUAL(个体户):营业执照上的主体类型一般为个体户、个体工商户、个体经营;
         /// SUBJECT_TYPE_ENTERPRISE(企业):营业执照上的主体类型一般为有限公司、有限责任公司;
         /// SUBJECT_TYPE_ENTERPRISE(企业):营业执照上的主体类型一般为有限公司、有限责任公司;
         /// SUBJECT_TYPE_INSTITUTIONS(党政、机关及事业单位):包括国内各级、各类政府机构、事业单位等(如:公安、党团、司法、交通、旅游、工商税务、市政、医疗、教育、学校等机构);
         /// SUBJECT_TYPE_INSTITUTIONS(党政、机关及事业单位):包括国内各级、各类政府机构、事业单位等(如:公安、党团、司法、交通、旅游、工商税务、市政、医疗、教育、学校等机构);
         /// SUBJECT_TYPE_OTHERS(其他组织):不属于企业、政府/事业单位的组织机构(如社会团体、民办非企业、基金会),要求机构已办理组织机构代码证。
         /// SUBJECT_TYPE_OTHERS(其他组织):不属于企业、政府/事业单位的组织机构(如社会团体、民办非企业、基金会),要求机构已办理组织机构代码证。
-        /// 示例值:SUBJECT_TYPE_ENTERPRISE
-        /// </summary>
+        /// <para>示例值:SUBJECT_TYPE_ENTERPRISE</para>
+        /// </remarks>
         [JsonPropertyName("subject_type")]
         [JsonPropertyName("subject_type")]
         public string SubjectType { get; set; }
         public string SubjectType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 营业执照
         /// 营业执照
+        /// </summary>
+        /// <remarks>
         /// 1、主体为个体户/企业,必填。
         /// 1、主体为个体户/企业,必填。
         /// 2、请上传“营业执照”,需年检章齐全,当年注册除外。
         /// 2、请上传“营业执照”,需年检章齐全,当年注册除外。
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("business_license_info")]
         [JsonPropertyName("business_license_info")]
         public BusinessLicenseInfo BusinessLicenseInfo { get; set; }
         public BusinessLicenseInfo BusinessLicenseInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 登记证书
         /// 登记证书
+        /// </summary>
+        /// <remarks>
         /// 主体为党政、机关及事业单位/其他组织,必填。
         /// 主体为党政、机关及事业单位/其他组织,必填。
         /// 1、党政、机关及事业单位:请上传相关部门颁发的证书,如:事业单位法人证书、统一社会信用代码证书。
         /// 1、党政、机关及事业单位:请上传相关部门颁发的证书,如:事业单位法人证书、统一社会信用代码证书。
         /// 2、其他组织:请上传相关部门颁发的证书,如:社会团体法人登记证书、民办非企业单位登记证书、基金会法人登记证书。
         /// 2、其他组织:请上传相关部门颁发的证书,如:社会团体法人登记证书、民办非企业单位登记证书、基金会法人登记证书。
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("certificate_info")]
         [JsonPropertyName("certificate_info")]
         public CertificateInfo CertificateInfo { get; set; }
         public CertificateInfo CertificateInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 组织机构代码证
         /// 组织机构代码证
-        /// 主体为企业/党政、机关及事业单位/其他组织,且证件号码不是18位时必填。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 主体为企业/党政、机关及事业单位/其他组织,且证件号码不是18位时必填。
+        /// </remarks>
         [JsonPropertyName("organization_info")]
         [JsonPropertyName("organization_info")]
         public OrganizationInfo OrganizationInfo { get; set; }
         public OrganizationInfo OrganizationInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 单位证明函照片
         /// 单位证明函照片
+        /// </summary>
+        /// <remarks>
         /// 1、主体类型为党政、机关及事业单位选传;
         /// 1、主体类型为党政、机关及事业单位选传;
         /// (1)若上传,则审核通过后即可签约,无需汇款验证。
         /// (1)若上传,则审核通过后即可签约,无需汇款验证。
         /// (2)若未上传,则审核通过后,需汇款验证。
         /// (2)若未上传,则审核通过后,需汇款验证。
         /// 2、主体为个体户、企业、其他组织等,不需要上传本字段。
         /// 2、主体为个体户、企业、其他组织等,不需要上传本字段。
         /// 3、请参照示例图打印单位证明函,全部信息需打印,不支持手写商户信息,并加盖公章。
         /// 3、请参照示例图打印单位证明函,全部信息需打印,不支持手写商户信息,并加盖公章。
         /// 4、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 4、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
-        /// 示例值: 47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KEIUv0OF4wFNIO4kqg05InE4d2I6_H7I4
-        /// </summary>
+        /// <para>示例值:47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KEIUv0OF4wFNIO4kqg05InE4d2I6_H7I4</para>
+        /// </remarks>
         [JsonPropertyName("certificate_letter_copy")]
         [JsonPropertyName("certificate_letter_copy")]
         public string CertificateLetterCopy { get; set; }
         public string CertificateLetterCopy { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 经营者/法人身份证件
         /// 经营者/法人身份证件
+        /// </summary>
+        /// <remarks>
         /// 1、个体户:请上传经营者的身份证件。
         /// 1、个体户:请上传经营者的身份证件。
         /// 2、企业/党政、机关及事业单位/其他组织:请上传法人的身份证件。
         /// 2、企业/党政、机关及事业单位/其他组织:请上传法人的身份证件。
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("identity_info")]
         [JsonPropertyName("identity_info")]
         public IdentityInfo IdentityInfo { get; set; }
         public IdentityInfo IdentityInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 最终受益人信息(UBO]
         /// 最终受益人信息(UBO]
+        /// </summary>
+        /// <remarks>
         /// 若经营者/法人不是最终受益所有人,则需提填写受益所有人信息。
         /// 若经营者/法人不是最终受益所有人,则需提填写受益所有人信息。
         /// 根据国家相关法律法规,需要提供公司受益所有人信息,受益所有人需符合至少以下条件之一:
         /// 根据国家相关法律法规,需要提供公司受益所有人信息,受益所有人需符合至少以下条件之一:
         /// 1、直接或者间接拥有超过25%公司股权或者表决权的自然人。
         /// 1、直接或者间接拥有超过25%公司股权或者表决权的自然人。
         /// 2、通过人事、财务等其他方式对公司进行控制的自然人。
         /// 2、通过人事、财务等其他方式对公司进行控制的自然人。
         /// 3、公司的高级管理人员,包括公司的经理、副经理、财务负责人、上市公司董事会秘书和公司章程规定的其他人员。
         /// 3、公司的高级管理人员,包括公司的经理、副经理、财务负责人、上市公司董事会秘书和公司章程规定的其他人员。
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("ubo_info")]
         [JsonPropertyName("ubo_info")]
         public UboInfo UboInfo { get; set; }
         public UboInfo UboInfo { get; set; }
     }
     }

+ 1 - 4
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/SyncDetail.cs

@@ -5,9 +5,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 内容信息详情
     /// 内容信息详情
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
-    /// </remarks
     public class SyncDetail : WeChatPayObject
     public class SyncDetail : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
@@ -26,7 +23,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// ● 传入20091225091010表示2009年12月25日9点10分10秒。
         /// ● 传入20091225091010表示2009年12月25日9点10分10秒。
         /// ● 传入20091225表示时间为2009年12月25日23点59分59秒。
         /// ● 传入20091225表示时间为2009年12月25日23点59分59秒。
         /// 注意:微信支付分会根据此时间更新用户侧的守约记录、负面记录信息;因此请务必如实填写用户实际付款成功时间,以免造成不必要的客诉。
         /// 注意:微信支付分会根据此时间更新用户侧的守约记录、负面记录信息;因此请务必如实填写用户实际付款成功时间,以免造成不必要的客诉。
-        /// 示例值:20091225091210
+        /// <para>示例值:20091225091210</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("paid_time")]
         [JsonPropertyName("paid_time")]
         public string PaidTime { get; set; }
         public string PaidTime { get; set; }

+ 4 - 14
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/TimeRange.cs

@@ -5,16 +5,6 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 服务时间段
     /// 服务时间段
     /// </summary>
     /// </summary>
-    /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_1.shtml">创单结单合并API</a> - 最新更新时间:2020.04.23</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml">创建支付分订单API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a> - 最新更新时间:2020.05.25</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">修改订单金额API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_18.shtml">完结支付分订单API</a> - 最新更新时间:2020.06.02</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_21.shtml">确认订单回调通知API</a> - 最新更新时间:2020.03.05</para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
-    /// </remarks>
     public class TimeRange : WeChatPayObject
     public class TimeRange : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
@@ -34,7 +24,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 【服务开始时间】不能早于调用接口时间。
         /// 【服务开始时间】不能早于调用接口时间。
         /// 【建议】
         /// 【建议】
         ///   实际服务开始时间与创建订单填写的“服务开始时间”一致时,不填写
         ///   实际服务开始时间与创建订单填写的“服务开始时间”一致时,不填写
-        /// 示例值:20091225091010
+        /// <para>示例值:20091225091010</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("start_time")]
         [JsonPropertyName("start_time")]
         public string StartTime { get; set; }
         public string StartTime { get; set; }
@@ -46,7 +36,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 服务开始时间备注说明。
         /// 服务开始时间备注说明。
         /// 1、服务开始时间有填时,可填写服务开始时间备注
         /// 1、服务开始时间有填时,可填写服务开始时间备注
         /// 2、若与【服务开始时间备注】不一致,则以【实际服务开始时间备注】为准,不超过20个字符,超出报错处理。
         /// 2、若与【服务开始时间备注】不一致,则以【实际服务开始时间备注】为准,不超过20个字符,超出报错处理。
-        /// 示例值:出账日
+        /// <para>示例值:出账日</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("start_time_remark")]
         [JsonPropertyName("start_time_remark")]
         public string StartTimeRemark { get; set; }
         public string StartTimeRemark { get; set; }
@@ -65,7 +55,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// ● 传入20091225默认认为时间为2009年12月25日
         /// ● 传入20091225默认认为时间为2009年12月25日
         /// 【建议】
         /// 【建议】
         ///   实际服务结束实际和预计服务结束时间一致时,不填写
         ///   实际服务结束实际和预计服务结束时间一致时,不填写
-        /// 示例值:20091225121010
+        /// <para>示例值:20091225121010</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("end_time")]
         [JsonPropertyName("end_time")]
         public string EndTime { get; set; }
         public string EndTime { get; set; }
@@ -77,7 +67,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 服务结束时间备注说明。
         /// 服务结束时间备注说明。
         /// 1、服务结束时间有填时,可填写服务结束时间备注
         /// 1、服务结束时间有填时,可填写服务结束时间备注
         /// 2、若与【服务结束时间备注】不一致,则以【实际服务结束时间备注】为准,不超过20个字符,超出报错处理。
         /// 2、若与【服务结束时间备注】不一致,则以【实际服务结束时间备注】为准,不超过20个字符,超出报错处理。
-        /// 示例值:结束租借时间
+        /// <para>示例值:结束租借时间</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("end_time_remark")]
         [JsonPropertyName("end_time_remark")]
         public string EndTimeRemark { get; set; }
         public string EndTimeRemark { get; set; }

+ 32 - 16
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/UboInfo.cs

@@ -9,6 +9,8 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     {
     {
         /// <summary>
         /// <summary>
         /// 证件类型
         /// 证件类型
+        /// </summary>
+        /// <remarks>
         /// 填写受益人的证件类型。
         /// 填写受益人的证件类型。
         /// 枚举值:
         /// 枚举值:
         /// IDENTIFICATION_TYPE_IDCARD:中国大陆居民-身份证
         /// IDENTIFICATION_TYPE_IDCARD:中国大陆居民-身份证
@@ -16,75 +18,89 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// IDENTIFICATION_TYPE_HONGKONG_PASSPORT:中国香港居民-来往内地通行证
         /// IDENTIFICATION_TYPE_HONGKONG_PASSPORT:中国香港居民-来往内地通行证
         /// IDENTIFICATION_TYPE_MACAO_PASSPORT:中国澳门居民-来往内地通行证
         /// IDENTIFICATION_TYPE_MACAO_PASSPORT:中国澳门居民-来往内地通行证
         /// IDENTIFICATION_TYPE_TAIWAN_PASSPORT:中国台湾居民-来往大陆通行证
         /// IDENTIFICATION_TYPE_TAIWAN_PASSPORT:中国台湾居民-来往大陆通行证
-        /// 示例值:IDENTIFICATION_TYPE_IDCARD
-        /// </summary>
+        /// <para>示例值:IDENTIFICATION_TYPE_IDCARD</para>
+        /// </remarks>
         [JsonPropertyName("id_type")]
         [JsonPropertyName("id_type")]
         public string IdType { get; set; }
         public string IdType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 身份证人像面照片
         /// 身份证人像面照片
+        /// </summary>
+        /// <remarks>
         /// 1、受益人的证件类型为“身份证”时,上传身份证人像面照片。
         /// 1、受益人的证件类型为“身份证”时,上传身份证人像面照片。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 3、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 3、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
-        /// 示例值:jTpGmxUX3FBWeFxikqJ5YW6zFQ
-        /// </summary>
+        /// <para>示例值:jTpGmxUX3FBWeFxikqJ5YW6zFQ</para>
+        /// </remarks>
         [JsonPropertyName("id_card_copy")]
         [JsonPropertyName("id_card_copy")]
         public string IdCardCopy { get; set; }
         public string IdCardCopy { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 身份证国徽面照片
         /// 身份证国徽面照片
+        /// </summary>
+        /// <remarks>
         /// 1、受益人的证件类型为“身份证”时,上传身份证国徽面照片。
         /// 1、受益人的证件类型为“身份证”时,上传身份证国徽面照片。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 3、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 3、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
-        /// 示例值:jTpGmxUXqRTvDujqhThn4ReFxikqJ5YW6zFQ
-        /// </summary>
+        /// <para>示例值:jTpGmxUXqRTvDujqhThn4ReFxikqJ5YW6zFQ</para>
+        /// </remarks>
         [JsonPropertyName("id_card_national")]
         [JsonPropertyName("id_card_national")]
         public string IdCardNational { get; set; }
         public string IdCardNational { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证件照片
         /// 证件照片
+        /// </summary>
+        /// <remarks>
         /// 1、受益人的证件类型为“来往内地通行证、来往大陆通行证、护照”时,上传证件照片。
         /// 1、受益人的证件类型为“来往内地通行证、来往大陆通行证、护照”时,上传证件照片。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 2、可上传1张图片,请填写通过《图片上传API》预先上传图片生成好的MediaID。
         /// 3、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
         /// 3、请上传彩色照片or彩色扫描件or复印件(需加盖公章鲜章),可添加“微信支付”相关水印(如微信支付认证)。
-        /// 示例值:jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ
-        /// </summary>
+        /// <para>示例值:jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ</para>
+        /// </remarks>
         [JsonPropertyName("id_doc_copy")]
         [JsonPropertyName("id_doc_copy")]
         public string IdDocCopy { get; set; }
         public string IdDocCopy { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 受益人姓名
         /// 受益人姓名
-        /// 该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:李四
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:李四</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("name")]
         [JsonPropertyName("name")]
         public string Name { get; set; }
         public string Name { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证件号码
         /// 证件号码
-        /// 该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("id_number")]
         [JsonPropertyName("id_number")]
         public string IdNumber { get; set; }
         public string IdNumber { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证件有效期开始时间
         /// 证件有效期开始时间
+        /// </summary>
+        /// <remarks>
         /// 1、请按照示例值填写。
         /// 1、请按照示例值填写。
         /// 2、结束时间大于开始时间。
         /// 2、结束时间大于开始时间。
-        /// 示例值:2019-06-06
-        /// </summary>
+        /// <para>示例值:2019-06-06</para>
+        /// </remarks>
         [JsonPropertyName("id_period_begin")]
         [JsonPropertyName("id_period_begin")]
         public string IdPeriodBegin { get; set; }
         public string IdPeriodBegin { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 证件有效期结束时间
         /// 证件有效期结束时间
+        /// </summary>
+        /// <remarks>
         /// 1、请按照示例值填写,若证件有效期为长期,请填写:长期。
         /// 1、请按照示例值填写,若证件有效期为长期,请填写:长期。
         /// 2、结束时间大于开始时间。
         /// 2、结束时间大于开始时间。
         /// 3、证件有效期需大于60天。
         /// 3、证件有效期需大于60天。
-        /// 示例值:2026-06-06
-        /// </summary>
+        /// <para>示例值:2026-06-06</para>
+        /// </remarks>
         [JsonPropertyName("id_period_end")]
         [JsonPropertyName("id_period_end")]
         public string IdPeriodEnd { get; set; }
         public string IdPeriodEnd { get; set; }
     }
     }

+ 31 - 18
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayApply4SubSubMerchantsSubMchIdModifySettlementBodyModel.cs

@@ -3,14 +3,17 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 商户进件(普通服务商)- 修改结算帐号API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/applyment4sub/chapter3_3.shtml">商户进件(普通服务商)- 修改结算帐号API</a></para>
-    /// 最新更新时间:2019.09.09
+    /// 特约商户进件 - 修改结算帐号 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/applyment4sub/chapter3_3.shtml">特约商户进件 - 修改结算帐号API</a> - 最新更新时间:2019.09.09</para>
+    /// </remarks>
     public class WeChatPayApply4SubSubMerchantsSubMchIdModifySettlementBodyModel : WeChatPayObject
     public class WeChatPayApply4SubSubMerchantsSubMchIdModifySettlementBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 账户类型
         /// 账户类型
+        /// </summary>
+        /// <remarks>
         /// 根据特约商户号的主体类型,可选择的账户类型如下:
         /// 根据特约商户号的主体类型,可选择的账户类型如下:
         /// 1、小微主体:经营者个人银行卡
         /// 1、小微主体:经营者个人银行卡
         /// 2、个体工商户主体:经营者个人银行卡/ 对公银行账户
         /// 2、个体工商户主体:经营者个人银行卡/ 对公银行账户
@@ -20,51 +23,61 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 枚举值:
         /// 枚举值:
         /// ACCOUNT_TYPE_BUSINESS:对公银行账户
         /// ACCOUNT_TYPE_BUSINESS:对公银行账户
         /// ACCOUNT_TYPE_PRIVATE:经营者个人银行卡
         /// ACCOUNT_TYPE_PRIVATE:经营者个人银行卡
-        /// 示例值:ACCOUNT_TYPE_BUSINESS
-        /// </summary>
+        /// <para>示例值:ACCOUNT_TYPE_BUSINESS</para>
+        /// </remarks>
         [JsonPropertyName("account_type")]
         [JsonPropertyName("account_type")]
         public string AccountType { get; set; }
         public string AccountType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户银行
         /// 开户银行
-        /// 请填写开户银行名称,详细参见《开户银行对照表》。
-        /// 示例值:工商银行
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写开户银行名称,详细参见<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">《开户银行对照表》</a>。
+        /// <para>示例值:工商银行</para>
+        /// </remarks>
         [JsonPropertyName("account_bank")]
         [JsonPropertyName("account_bank")]
         public string AccountBank { get; set; }
         public string AccountBank { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户银行省市编码
         /// 开户银行省市编码
-        /// 需至少精确到市,详细参见《省市区编号对照表》。
-        /// 示例值:110000
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 需至少精确到市,详细参见<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">《省市区编号对照表》</a>。
+        /// <para>示例值:110000</para>
+        /// </remarks>
         [JsonPropertyName("bank_address_code")]
         [JsonPropertyName("bank_address_code")]
         public string BankAddressCode { get; set; }
         public string BankAddressCode { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户银行全称(含支行)
         /// 开户银行全称(含支行)
-        /// 若开户银行为“其他银行”,则需二选一填写“开户银行全称(含支行)”或“开户银行联行号”。
-        /// 填写银行全称,如"深圳农村商业银行XXX支行" ,详细参见开户银行全称(含支行)对照表。
-        /// 示例值:施秉县农村信用合作联社城关信用社
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 若开户银行为“其他银行”,则需二选一填写“开户银行全称(含支行)”或“开户银行联行号”。
+        /// 填写银行全称,如"深圳农村商业银行XXX支行" ,详细参见<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">开户银行全称(含支行)对照表</a>。
+        /// <para>示例值:施秉县农村信用合作联社城关信用社</para>
+        /// </remarks>
         [JsonPropertyName("bank_name")]
         [JsonPropertyName("bank_name")]
         public string BankName { get; set; }
         public string BankName { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 开户银行联行号
         /// 开户银行联行号
-        /// 若开户银行为“其他银行”,则需二选一填写“开户银行全称(含支行)”或“开户银行联行号”。
-        /// 填写银行联行号,详细参见《开户银行全称(含支行)对照表》。
-        /// 示例值:402713354941
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 若开户银行为“其他银行”,则需二选一填写“开户银行全称(含支行)”或“开户银行联行号”。
+        /// 填写银行联行号,详细参见<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">《开户银行全称(含支行)对照表》</a>。
+        /// <para>示例值:402713354941</para>
+        /// </remarks>
         [JsonPropertyName("bank_branch_id")]
         [JsonPropertyName("bank_branch_id")]
         public string BankBranchId { get; set; }
         public string BankBranchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 银行账号
         /// 银行账号
-        /// 1、数字,长度遵循系统支持的对公/对私卡号长度要求
-        /// 2、该字段需进行加密处理,加密方法详见《敏感信息加密说明》。(提醒:必须在HTTP头中上送Wechatpay-Serial)
-        /// 示例值:d+xT+MQCvrLHUVDWv/8MR/dB7TkXM2YYZlokmXzFsWs35NXUot7C0NcxIrUF5FnxqCJHkNgKtxa6RxEYyba1+VBRLnqKG2fSy/Y5qDN08Ej9zHCwJjq52Wg1VG8MRugli9YMI1fI83KGBxhuXyemgS/hqFKsfYGiOkJqjTUpgY5VqjtL2N4l4z11T0ECB/aSyVXUysOFGLVfSrUxMPZy6jWWYGvT1+4P633f+R+ki1gT4WF/2KxZOYmli385ZgVhcR30mr4/G3HBcxi13zp7FnEeOsLlvBmI1PHN4C7Rsu3WL8sPndjXTd75kPkyjqnoMRrEEaYQE8ZRGYoeorwC+w==
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 1、数字,长度遵循系统支持的<a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/ecommerce/applyments/chapter4_1.shtml">对公/对私卡号长度要求</a>
+        /// 2、该字段需进行加密处理,加密方法详见<a href="https://wechatpay-api.gitbook.io/wechatpay-api-v3/qian-ming-zhi-nan-1/min-gan-xin-xi-jia-mi">《敏感信息加密说明》</a>。(提醒:必须在HTTP头中上送Wechatpay-Serial)
+        /// <para>示例值:d+xT+MQCvrLHUVDWv/8MR/dB7TkXM2YYZlokmXzFsWs35NXUot7C0NcxIrUF5FnxqCJHkNgKtxa6RxEYyba1+VBRLnqKG2fSy/Y5qDN08Ej9zHCwJjq52Wg1VG8MRugli9YMI1fI83KGBxhuXyemgS/hqFKsfYGiOkJqjTUpgY5VqjtL2N4l4z11T0ECB/aSyVXUysOFGLVfSrUxMPZy6jWWYGvT1+4P633f+R+ki1gT4WF/2KxZOYmli385ZgVhcR30mr4/G3HBcxi13zp7FnEeOsLlvBmI1PHN4C7Rsu3WL8sPndjXTd75kPkyjqnoMRrEEaYQE8ZRGYoeorwC+w==</para>
+        /// </remarks>
         [WeChatPayPrivacyProperty]
         [WeChatPayPrivacyProperty]
         [JsonPropertyName("account_number")]
         [JsonPropertyName("account_number")]
         public string AccountNumber { get; set; }
         public string AccountNumber { get; set; }

+ 26 - 11
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayApplyment4SubApplymentBodyModel.cs

@@ -3,62 +3,77 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 商户进件(普通服务商)- 提交申请单API(普通服务商) - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/applyment4sub/chapter3_1.shtml">商户进件(普通服务商)- 提交申请单API</a></para>
-    /// 最新更新时间:2019.04.10
+    /// 特约商户进件 - 提交申请单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/tool/applyment4sub/chapter3_1.shtml">特约商户进件 - 提交申请单API</a> - 最新更新时间:2019.04.10</para>
+    /// </remarks>
     public class WeChatPayApplyment4SubApplymentBodyModel : WeChatPayObject
     public class WeChatPayApplyment4SubApplymentBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 业务申请编号
         /// 业务申请编号
+        /// </summary>
+        /// <remarks>
         /// 1、服务商自定义的唯一编号。
         /// 1、服务商自定义的唯一编号。
         /// 2、每个编号对应一个申请单,每个申请单审核通过后会生成一个微信支付商户号。
         /// 2、每个编号对应一个申请单,每个申请单审核通过后会生成一个微信支付商户号。
         /// 3、若申请单被驳回,可填写相同的“业务申请编号”,即可覆盖修改原申请单信息。
         /// 3、若申请单被驳回,可填写相同的“业务申请编号”,即可覆盖修改原申请单信息。
-        /// 示例值:APPLYMENT_00000000001
-        /// </summary>
+        /// <para>示例值:APPLYMENT_00000000001</para>
+        /// </remarks>
         [JsonPropertyName("business_code")]
         [JsonPropertyName("business_code")]
         public string BusinessCode { get; set; }
         public string BusinessCode { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 超级管理员信息
         /// 超级管理员信息
-        /// 超级管理员需在开户后进行签约,并接收日常重要管理信息和进行资金操作,请确定其为商户法定代表人或负责人。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 超级管理员需在开户后进行签约,并接收日常重要管理信息和进行资金操作,请确定其为商户法定代表人或负责人。
+        /// </remarks>
         [JsonPropertyName("contact_info")]
         [JsonPropertyName("contact_info")]
         public ContactInfo ContactInfo { get; set; }
         public ContactInfo ContactInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 主体资料
         /// 主体资料
-        /// 请填写商家的营业执照/登记证书、经营者/法人的证件等信息。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写商家的营业执照/登记证书、经营者/法人的证件等信息。
+        /// </remarks>
         [JsonPropertyName("subject_info")]
         [JsonPropertyName("subject_info")]
         public SubjectInfo SubjectInfo { get; set; }
         public SubjectInfo SubjectInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 经营资料
         /// 经营资料
-        /// 请填写商家的经营业务信息、售卖商品/提供服务场景信息。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写商家的经营业务信息、售卖商品/提供服务场景信息。
+        /// </remarks>
         [JsonPropertyName("business_info")]
         [JsonPropertyName("business_info")]
         public BusinessInfo BusinessInfo { get; set; }
         public BusinessInfo BusinessInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 结算规则
         /// 结算规则
-        /// 请填写商家的结算费率规则、特殊资质等信息。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 请填写商家的结算费率规则、特殊资质等信息。
+        /// </remarks>
         [JsonPropertyName("settlement_info")]
         [JsonPropertyName("settlement_info")]
         public SettlementInfo SettlementInfo { get; set; }
         public SettlementInfo SettlementInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 结算银行账户
         /// 结算银行账户
+        /// </summary>
+        /// <remarks>
         ///  1、请填写商家提现收款的银行账户信息。
         ///  1、请填写商家提现收款的银行账户信息。
         ///  2、若结算规则id为“719、721、716、717、730、739、727、738、726”,可选填结算账户。
         ///  2、若结算规则id为“719、721、716、717、730、739、727、738、726”,可选填结算账户。
-        /// </summary>
+        /// </remarks>
         [JsonPropertyName("bank_account_info")]
         [JsonPropertyName("bank_account_info")]
         public BankAccountInfo BankAccountInfo { get; set; }
         public BankAccountInfo BankAccountInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 补充材料
         /// 补充材料
-        /// 根据实际审核情况,额外要求商家提供指定的补充资料。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 根据实际审核情况,额外要求商家提供指定的补充资料。
+        /// </remarks>
         [JsonPropertyName("addition_info")]
         [JsonPropertyName("addition_info")]
         public AdditionInfo AdditionInfo { get; set; }
         public AdditionInfo AdditionInfo { get; set; }
     }
     }

+ 20 - 13
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayBillFundflowBillQueryModel.cs

@@ -3,44 +3,51 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 申请资金账单API(电商平台、服务商、直连商户)- 请求URL参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_7.shtml">JSAPI支付 - 申请资金账单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_7.shtml">APP支付 - 申请资金账单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_7.shtml">H5支付 - 申请资金账单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_7.shtml">Native支付 - 申请资金账单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_7.shtml">小程序支付 - 申请资金账单API</a></para>
-    /// 最新更新时间:2019.09.16
+    /// 基础支付 - JSAPI支付、APP支付、H5支付、Native支付、小程序支付 - 申请资金账单 - 请求URL参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_7.shtml">JSAPI支付 - 申请资金账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_7.shtml">APP支付 - 申请资金账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_7.shtml">H5支付 - 申请资金账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_7.shtml">Native支付 - 申请资金账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_7.shtml">小程序支付 - 申请资金账单API</a> - 最新更新时间:2019.09.16</para>
+    /// </remarks>
     public class WeChatPayBillFundflowBillQueryModel : WeChatPayObject
     public class WeChatPayBillFundflowBillQueryModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 账单日期
         /// 账单日期
+        /// </summary>
+        /// <remarks>
         /// 格式YYYY-MM-DD
         /// 格式YYYY-MM-DD
         /// 仅支持三个月内的账单下载申请。
         /// 仅支持三个月内的账单下载申请。
-        /// 示例值:2019-06-11
-        /// </summary>
+        /// <para>示例值:2019-06-11</para>
+        /// </remarks>
         [JsonPropertyName("bill_date")]
         [JsonPropertyName("bill_date")]
         public string BillDate { get; set; }
         public string BillDate { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 资金账户类型
         /// 资金账户类型
+        /// </summary>
+        /// <remarks>
         /// 不填则默认是BASIC
         /// 不填则默认是BASIC
         /// 枚举值:
         /// 枚举值:
         /// BASIC:基本账户
         /// BASIC:基本账户
         /// OPERATION:运营账户
         /// OPERATION:运营账户
         /// FEES:手续费账户
         /// FEES:手续费账户
-        /// 示例值:BASIC
-        /// </summary>
+        /// <para>示例值:BASIC</para>
+        /// </remarks>
         [JsonPropertyName("account_type")]
         [JsonPropertyName("account_type")]
         public string AccountType { get; set; }
         public string AccountType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 压缩类型
         /// 压缩类型
+        /// </summary>
+        /// <remarks>
         /// 不填则默认是数据流
         /// 不填则默认是数据流
         /// 枚举值:
         /// 枚举值:
         /// GZIP:返回格式为.gzip的压缩包账单
         /// GZIP:返回格式为.gzip的压缩包账单
-        /// 示例值:GZIP
-        /// </summary>
+        /// <para>示例值:GZIP</para>
+        /// </remarks>
         [JsonPropertyName("tar_type")]
         [JsonPropertyName("tar_type")]
         public string TarType { get; set; }
         public string TarType { get; set; }
     }
     }

+ 25 - 15
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayBillTradeBillQueryModel.cs

@@ -3,57 +3,67 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 申请交易账单API(电商平台、服务商、直连商户)- 请求URL参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_6.shtml">JSAPI支付 - 申请交易账单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_6.shtml">APP支付 - 申请交易账单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_6.shtml">H5支付 - 申请交易账单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_6.shtml">Native支付 - 申请交易账单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_6.shtml">小程序支付 - 申请交易账单API</a></para>
-    /// 最新更新时间:2019.09.16
+    /// 基础支付 - JSAPI支付、APP支付、H5支付、Native支付、小程序支付 - 申请交易账单 - 请求URL参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_6.shtml">JSAPI支付 - 申请交易账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_6.shtml">APP支付 - 申请交易账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_6.shtml">H5支付 - 申请交易账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_6.shtml">Native支付 - 申请交易账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_6.shtml">小程序支付 - 申请交易账单API</a> - 最新更新时间:2019.09.16</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/bill/chapter3_1.shtml">账单 - 申请交易账单API</a> - 最新更新时间:2019.09.16</para>
+    /// </remarks>
     public class WeChatPayBillTradeBillQueryModel : WeChatPayObject
     public class WeChatPayBillTradeBillQueryModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 账单日期
         /// 账单日期
+        /// </summary>
+        /// <remarks>
         /// 格式YYYY-MM-DD
         /// 格式YYYY-MM-DD
         /// 仅支持三个月内的账单下载申请。
         /// 仅支持三个月内的账单下载申请。
-        /// 示例值:2019-06-11
-        /// </summary>
+        /// <para>示例值:2019-06-11</para>
+        /// </remarks>
         [JsonPropertyName("bill_date")]
         [JsonPropertyName("bill_date")]
         public string BillDate { get; set; }
         public string BillDate { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 二级商户号
         /// 二级商户号
+        /// </summary>
+        /// <remarks>
         /// 1、若商户是直连商户:无需填写该字段。
         /// 1、若商户是直连商户:无需填写该字段。
         /// 2、若商户是服务商:
         /// 2、若商户是服务商:
         /// ● 不填则默认返回服务商下的交易或退款数据。
         /// ● 不填则默认返回服务商下的交易或退款数据。
         /// ● 如需下载某个子商户下的交易或退款数据,则该字段必填。
         /// ● 如需下载某个子商户下的交易或退款数据,则该字段必填。
         /// 特殊规则:最小字符长度为8
         /// 特殊规则:最小字符长度为8
         /// 注意:仅适用于电商平台 服务商
         /// 注意:仅适用于电商平台 服务商
-        /// 示例值:1900000001
-        /// </summary>
+        /// <para>示例值:1900000001</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 账单类型
         /// 账单类型
+        /// </summary>
+        /// <remarks>
         /// 不填则默认是ALL
         /// 不填则默认是ALL
         /// 枚举值:
         /// 枚举值:
         /// ALL:返回当日所有订单信息(不含充值退款订单)
         /// ALL:返回当日所有订单信息(不含充值退款订单)
         /// SUCCESS:返回当日成功支付的订单(不含充值退款订单)
         /// SUCCESS:返回当日成功支付的订单(不含充值退款订单)
         /// REFUND:返回当日退款订单(不含充值退款订单)
         /// REFUND:返回当日退款订单(不含充值退款订单)
-        /// 示例值:ALL
-        /// </summary>
+        /// <para>示例值:ALL</para>
+        /// </remarks>
         [JsonPropertyName("bill_type")]
         [JsonPropertyName("bill_type")]
         public string BillType { get; set; }
         public string BillType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 压缩类型
         /// 压缩类型
+        /// </summary>
+        /// <remarks>
         /// 不填则默认是数据流
         /// 不填则默认是数据流
         /// 枚举值:
         /// 枚举值:
         /// GZIP:返回格式为.gzip的压缩包账单
         /// GZIP:返回格式为.gzip的压缩包账单
-        /// 示例值:GZIP
-        /// </summary>
+        /// <para>示例值:GZIP</para>
+        /// </remarks>
         [JsonPropertyName("tar_type")]
         [JsonPropertyName("tar_type")]
         public string TarType { get; set; }
         public string TarType { get; set; }
     }
     }

+ 39 - 19
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsAppBodyModel.cs

@@ -4,79 +4,99 @@ using System.Text.Json.Serialization;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 合单支付 - 合单APP下单API(电商平台、服务商、直连商户)- 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_1.shtml">合单支付 - 合单APP下单API</a></para>
-    /// 最新更新时间:2020.05.21
+    /// 基础支付 - 合单支付 - 合单APP下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_1.shtml">合单支付 - 合单APP下单API</a> - 最新更新时间:2020.05.21</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_1.shtml">合单下单 - APP支付API</a> - 最新更新时间:2020.05.21</para>
+    /// </remarks>
     public class WeChatPayCombineTransactionsAppBodyModel : WeChatPayObject
     public class WeChatPayCombineTransactionsAppBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 合单商户appid
         /// 合单商户appid
-        /// 合单发起方的appid。
-        /// 示例值:wxd678efh567hg6787
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方的appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("combine_appid")]
         [JsonPropertyName("combine_appid")]
         public string CombineAppId { get; set; }
         public string CombineAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户号
         /// 合单商户号
-        /// 合单发起方商户号。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方商户号。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("combine_mchid")]
         [JsonPropertyName("combine_mchid")]
         public string CombineMchId { get; set; }
         public string CombineMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户订单号
         /// 合单商户订单号
-        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
-        /// 示例值:P20150806125346
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
+        /// <para>示例值:P20150806125346</para>
+        /// </remarks>
         [JsonPropertyName("combine_out_trade_no")]
         [JsonPropertyName("combine_out_trade_no")]
         public string CombineOutTradeNo { get; set; }
         public string CombineOutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
-        public CombineSceneInfo SceneInfo { get; set; }
+        public SceneInfo SceneInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单信息
         /// 子单信息
-        /// 最多支持子单条数:50
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 最多支持子单条数:50
+        /// </remarks>
         [JsonPropertyName("sub_orders")]
         [JsonPropertyName("sub_orders")]
         public List<CombineSubOrderInfo> SubOrders { get; set; }
         public List<CombineSubOrderInfo> SubOrders { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付者
         /// 支付者
-        /// 支付者信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付者信息
+        /// </remarks>
         [JsonPropertyName("combine_payer_info")]
         [JsonPropertyName("combine_payer_info")]
         public PayerInfo CombinePayerInfo { get; set; }
         public PayerInfo CombinePayerInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易起始时间
         /// 交易起始时间
-        /// 订单生成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2019-12-31T15:59:60+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单生成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2019-12-31T15:59:60+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_start")]
         [JsonPropertyName("time_start")]
         public string TimeStart { get; set; }
         public string TimeStart { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2019-12-31T15:59:60+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2019-12-31T15:59:60+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
         /// 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
         /// 格式: URL
         /// 格式: URL
-        /// 示例值:https://yourapp.com/notify
-        /// </summary>
+        /// <para>示例值:https://yourapp.com/notify</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
     }
     }

+ 35 - 17
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsH5BodyModel.cs

@@ -4,72 +4,90 @@ using System.Text.Json.Serialization;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 合单支付 - 合单H5下单API(电商平台、服务商、直连商户)- 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_2.shtml">合单支付 - 合单H5下单API</a></para>
-    /// 最新更新时间:2020.06.09
+    /// 基础支付 - 合单支付 - 合单H5支付 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_2.shtml">合单支付 - 合单H5下单API</a> - 最新更新时间:2020.06.09</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_9.shtml">合单下单 - H5支付API</a> - 最新更新时间:2020.06.09</para>
+    /// </remarks>
     public class WeChatPayCombineTransactionsH5BodyModel : WeChatPayObject
     public class WeChatPayCombineTransactionsH5BodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 合单商户appid
         /// 合单商户appid
-        /// 合单发起方的appid。
-        /// 示例值:wxd678efh567hg6787
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方的appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("combine_appid")]
         [JsonPropertyName("combine_appid")]
         public string CombineAppId { get; set; }
         public string CombineAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户号
         /// 合单商户号
-        /// 合单发起方商户号。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方商户号。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("combine_mchid")]
         [JsonPropertyName("combine_mchid")]
         public string CombineMchId { get; set; }
         public string CombineMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户订单号
         /// 合单商户订单号
-        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
-        /// 示例值:P20150806125346
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
+        /// <para>示例值:P20150806125346</para>
+        /// </remarks>
         [JsonPropertyName("combine_out_trade_no")]
         [JsonPropertyName("combine_out_trade_no")]
         public string CombineOutTradeNo { get; set; }
         public string CombineOutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public CombineH5SceneInfo SceneInfo { get; set; }
         public CombineH5SceneInfo SceneInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单信息
         /// 子单信息
-        /// 最多支持子单条数:50
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 最多支持子单条数:50
+        /// </remarks>
         [JsonPropertyName("sub_orders")]
         [JsonPropertyName("sub_orders")]
         public List<CombineSubOrderInfo> SubOrders { get; set; }
         public List<CombineSubOrderInfo> SubOrders { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易起始时间
         /// 交易起始时间
-        /// 订单生成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2019-12-31T15:59:60+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单生成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2019-12-31T15:59:60+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_start")]
         [JsonPropertyName("time_start")]
         public string TimeStart { get; set; }
         public string TimeStart { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2019-12-31T15:59:60+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2019-12-31T15:59:60+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
         /// 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
         /// 格式: URL
         /// 格式: URL
-        /// 示例值:https://yourapp.com/notify
-        /// </summary>
+        /// <para>示例值:https://yourapp.com/notify</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
     }
     }

+ 40 - 20
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsJsApiBodyModel.cs

@@ -4,80 +4,100 @@ using System.Text.Json.Serialization;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 合单支付 - JSAPI下单API、小程序下单API(电商平台、服务商、直连商户)- 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_3.shtml">合单支付 - 合单JSAPI下单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_4.shtml">合单支付 - 合单小程序下单API</a></para>
-    /// 最新更新时间:2020.05.21
+    /// 基础支付 - 合单支付 - JSAPI下单API、小程序下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_3.shtml">合单支付 - 合单JSAPI下单API</a> - 最新更新时间:2020.05.21</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_4.shtml">合单支付 - 合单小程序下单API</a> - 最新更新时间:2020.05.21</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_2.shtml">合单下单 - JSAPI支付/小程序支付API</a> - 最新更新时间:2020.05.21</para>
+    /// </remarks>
     public class WeChatPayCombineTransactionsJsApiBodyModel : WeChatPayObject
     public class WeChatPayCombineTransactionsJsApiBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 合单商户appid
         /// 合单商户appid
-        /// 合单发起方的appid。
-        /// 示例值:wxd678efh567hg6787
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方的appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("combine_appid")]
         [JsonPropertyName("combine_appid")]
         public string CombineAppId { get; set; }
         public string CombineAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户号
         /// 合单商户号
-        /// 合单发起方商户号。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方商户号。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("combine_mchid")]
         [JsonPropertyName("combine_mchid")]
         public string CombineMchId { get; set; }
         public string CombineMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户订单号
         /// 合单商户订单号
-        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
-        /// 示例值:P20150806125346
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
+        /// <para>示例值:P20150806125346</para>
+        /// </remarks>
         [JsonPropertyName("combine_out_trade_no")]
         [JsonPropertyName("combine_out_trade_no")]
         public string CombineOutTradeNo { get; set; }
         public string CombineOutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
-        public CombineSceneInfo SceneInfo { get; set; }
+        public SceneInfo SceneInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单信息
         /// 子单信息
-        /// 最多支持子单条数:50
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 最多支持子单条数:50
+        /// </remarks>
         [JsonPropertyName("sub_orders")]
         [JsonPropertyName("sub_orders")]
         public List<CombineSubOrderInfo> SubOrders { get; set; }
         public List<CombineSubOrderInfo> SubOrders { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付者
         /// 支付者
-        /// 支付者信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付者信息
+        /// </remarks>
         [JsonPropertyName("combine_payer_info")]
         [JsonPropertyName("combine_payer_info")]
         public PayerInfo CombinePayerInfo { get; set; }
         public PayerInfo CombinePayerInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易起始时间
         /// 交易起始时间
-        /// 订单生成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2019-12-31T15:59:60+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单生成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2019-12-31T15:59:60+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_start")]
         [JsonPropertyName("time_start")]
         public string TimeStart { get; set; }
         public string TimeStart { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2019-12-31T15:59:60+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2019-12-31T15:59:60+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
         /// 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
         /// 格式: URL
         /// 格式: URL
-        /// 示例值:https://yourapp.com/notify
-        /// </summary>
+        /// <para>示例值:https://yourapp.com/notify</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
     }
     }

+ 36 - 18
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsNativeBodyModel.cs

@@ -4,72 +4,90 @@ using System.Text.Json.Serialization;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 合单支付 - 合单Native下单API(电商平台、服务商、直连商户)- 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_5.shtml">合单支付 - 合单Native下单API</a></para>
-    /// 最新更新时间:2020.05.14
+    /// 基础支付 - 合单支付 - 合单Native下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_5.shtml">合单支付 - 合单Native下单API</a> - 最新更新时间:2020.05.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_10.shtml">合单下单 - Native支付API</a> - 最新更新时间:2020.05.14</para>
+    /// </remarks>
     public class WeChatPayCombineTransactionsNativeBodyModel : WeChatPayObject
     public class WeChatPayCombineTransactionsNativeBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 合单商户appid
         /// 合单商户appid
-        /// 合单发起方的appid。
-        /// 示例值:wxd678efh567hg6787
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方的appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("combine_appid")]
         [JsonPropertyName("combine_appid")]
         public string CombineAppId { get; set; }
         public string CombineAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户号
         /// 合单商户号
-        /// 合单发起方商户号。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方商户号。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("combine_mchid")]
         [JsonPropertyName("combine_mchid")]
         public string CombineMchId { get; set; }
         public string CombineMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户订单号
         /// 合单商户订单号
-        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
-        /// 示例值:P20150806125346
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
+        /// <para>示例值:P20150806125346</para>
+        /// </remarks>
         [JsonPropertyName("combine_out_trade_no")]
         [JsonPropertyName("combine_out_trade_no")]
         public string CombineOutTradeNo { get; set; }
         public string CombineOutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
-        public CombineSceneInfo SceneInfo { get; set; }
+        public SceneInfo SceneInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单信息
         /// 子单信息
-        /// 最多支持子单条数:50
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 最多支持子单条数:50
+        /// </remarks>
         [JsonPropertyName("sub_orders")]
         [JsonPropertyName("sub_orders")]
         public List<CombineSubOrderInfo> SubOrders { get; set; }
         public List<CombineSubOrderInfo> SubOrders { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易起始时间
         /// 交易起始时间
-        /// 订单生成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2019-12-31T15:59:60+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单生成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2019-12-31T15:59:60+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_start")]
         [JsonPropertyName("time_start")]
         public string TimeStart { get; set; }
         public string TimeStart { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2019-12-31T15:59:60+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2019-12-31T15:59:60+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
         /// 接收微信支付异步通知回调地址,通知url必须为直接可访问的URL,不能携带参数。
         /// 格式: URL
         /// 格式: URL
-        /// 示例值:https://yourapp.com/notify
-        /// </summary>
+        /// <para>示例值:https://yourapp.com/notify</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
     }
     }

+ 12 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayCombineTransactionsOutTradeNoCloseBodyModel.cs

@@ -4,24 +4,30 @@ using System.Text.Json.Serialization;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 合单支付 - 合单关闭订单API(电商平台、服务商、直连商户)- 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_12.shtml">合单支付 - 合单关闭订单API</a></para>
-    /// 最新更新时间:2020.03.31
+    /// 基础支付 - 合单支付 - 合单关闭订单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter5_1_12.shtml">合单支付 - 合单关闭订单API</a> - 最新更新时间:2020.03.31</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_4.shtml">合单支付 - 合单关闭订单API</a> - 最新更新时间:2020.03.31</para>
+    /// </remarks>
     public class WeChatPayCombineTransactionsOutTradeNoCloseBodyModel : WeChatPayObject
     public class WeChatPayCombineTransactionsOutTradeNoCloseBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 合单商户appid
         /// 合单商户appid
-        /// 合单发起方的appid。
-        /// 示例值:wxd678efh567hg6787
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方的appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("combine_appid")]
         [JsonPropertyName("combine_appid")]
         public string CombineAppId { get; set; }
         public string CombineAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单信息
         /// 子单信息
-        /// 最多支持子单条数:50
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 最多支持子单条数:50
+        /// </remarks>
         [JsonPropertyName("sub_orders")]
         [JsonPropertyName("sub_orders")]
         public List<CombineCloseSubOrderInfo> SubOrders { get; set; }
         public List<CombineCloseSubOrderInfo> SubOrders { get; set; }
     }
     }

+ 4 - 4
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayEcommerceBillFundflowBillQueryModel.cs

@@ -16,7 +16,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 格式YYYY-MM-DD
         /// 格式YYYY-MM-DD
         /// 仅支持三个月内的账单下载申请。
         /// 仅支持三个月内的账单下载申请。
-        /// 示例值:2019-06-11
+        /// <para>示例值:2019-06-11</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("bill_date")]
         [JsonPropertyName("bill_date")]
         public string BillDate { get; set; }
         public string BillDate { get; set; }
@@ -27,7 +27,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 枚举值:
         /// 枚举值:
         /// ALL:所有账户
         /// ALL:所有账户
-        /// 示例值:ALL
+        /// <para>示例值:ALL</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("account_type")]
         [JsonPropertyName("account_type")]
         public string AccountType { get; set; }
         public string AccountType { get; set; }
@@ -38,7 +38,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 不填则以不压缩的方式返回数据流,枚举值:
         /// 不填则以不压缩的方式返回数据流,枚举值:
         /// GZIP:GZIP格式压缩
         /// GZIP:GZIP格式压缩
-        /// 示例值:GZIP
+        /// <para>示例值:GZIP</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("tar_type")]
         [JsonPropertyName("tar_type")]
         public string TarType { get; set; }
         public string TarType { get; set; }
@@ -49,7 +49,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 枚举值:
         /// 枚举值:
         /// AEAD_AES_256_GCM:AEAD_AES_256_GCM加密算法
         /// AEAD_AES_256_GCM:AEAD_AES_256_GCM加密算法
-        /// 示例值:AEAD_AES_256_GCM
+        /// <para>示例值:AEAD_AES_256_GCM</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("algorithm")]
         [JsonPropertyName("algorithm")]
         public string Algorithm { get; set; }
         public string Algorithm { get; set; }

+ 56 - 27
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsAppBodyModel.cs

@@ -3,119 +3,148 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付(服务商)- APP下单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_1.shtml">APP下单API</a></para>
-    /// 最新更新时间:2020.11.12
+    /// 基础支付(服务商)- APP下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_1.shtml">APP下单API</a> - 最新更新时间:2020.11.12</para>
+    /// </remarks>
     public class WeChatPayPartnerTransactionsAppBodyModel : WeChatPayObject
     public class WeChatPayPartnerTransactionsAppBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商公众号ID
         /// 服务商公众号ID
-        /// 服务商申请的公众号或移动应用appid。
-        /// 示例值:wx8888888888888888
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商申请的公众号或移动应用appid。
+        /// <para>示例值:wx8888888888888888</para>
+        /// </remarks>
         [JsonPropertyName("sp_appid")]
         [JsonPropertyName("sp_appid")]
         public string SpAppId { get; set; }
         public string SpAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 服务商户号
         /// 服务商户号
-        /// 服务商户号,由微信支付生成并下发
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商户号,由微信支付生成并下发
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户公众号ID
         /// 子商户公众号ID
-        /// 子商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6999</para>
+        /// </remarks>
         [JsonPropertyName("sub_appid")]
         [JsonPropertyName("sub_appid")]
         public string SubAppId { get; set; }
         public string SubAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 子商户的商户号,有微信支付生成并下发。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户的商户号,有微信支付生成并下发。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品描述
-        /// 示例值:Image形象店-深圳腾大-QQ公仔
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品描述
+        /// <para>示例值:Image形象店-深圳腾大-QQ公仔</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 格式:URL
         /// 格式:URL
-        /// 示例值:https://www.weixin.qq.com/wxpay/pay.php
-        /// </summary>
+        /// <para>示例值:https://www.weixin.qq.com/wxpay/pay.php</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单优惠标记
         /// 订单优惠标记
-        /// 订单优惠标记
-        /// 示例值:WXG
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单优惠标记
+        /// <para>示例值:WXG</para>
+        /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 结算信息
         /// 结算信息
-        /// 结算信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
         [JsonPropertyName("settle_info")]
         [JsonPropertyName("settle_info")]
         public SettleInfo SettleInfo { get; set; }
         public SettleInfo SettleInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
-        /// 优惠功能
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能
+        /// </remarks>
         [JsonPropertyName("detail")]
         [JsonPropertyName("detail")]
         public Detail Detail { get; set; }
         public Detail Detail { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
     }
     }

+ 56 - 27
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsH5BodyModel.cs

@@ -3,119 +3,148 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付(服务商)- H5下单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_4.shtml">H5下单API</a></para>
-    /// 最新更新时间:2020.11.12
+    /// 基础支付(服务商)- H5下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_4.shtml">H5下单API</a> - 最新更新时间:2020.11.12</para>
+    /// </remarks>
     public class WeChatPayPartnerTransactionsH5BodyModel : WeChatPayObject
     public class WeChatPayPartnerTransactionsH5BodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商公众号ID
         /// 服务商公众号ID
-        /// 服务商申请的公众号或移动应用appid。
-        /// 示例值:wx8888888888888888
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商申请的公众号或移动应用appid。
+        /// <para>示例值:wx8888888888888888</para>
+        /// </remarks>
         [JsonPropertyName("sp_appid")]
         [JsonPropertyName("sp_appid")]
         public string SpAppId { get; set; }
         public string SpAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 服务商户号
         /// 服务商户号
-        /// 服务商户号,由微信支付生成并下发
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商户号,由微信支付生成并下发
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户公众号ID
         /// 子商户公众号ID
-        /// 子商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6999</para>
+        /// </remarks>
         [JsonPropertyName("sub_appid")]
         [JsonPropertyName("sub_appid")]
         public string SubAppId { get; set; }
         public string SubAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 子商户的商户号,有微信支付生成并下发。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户的商户号,有微信支付生成并下发。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品描述
-        /// 示例值:Image形象店-深圳腾大-QQ公仔
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品描述
+        /// <para>示例值:Image形象店-深圳腾大-QQ公仔</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 格式:URL
         /// 格式:URL
-        /// 示例值:https://www.weixin.qq.com/wxpay/pay.php
-        /// </summary>
+        /// <para>示例值:https://www.weixin.qq.com/wxpay/pay.php</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单优惠标记
         /// 订单优惠标记
-        /// 订单优惠标记
-        /// 示例值:WXG
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单优惠标记
+        /// <para>示例值:WXG</para>
+        /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 结算信息
         /// 结算信息
-        /// 结算信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
         [JsonPropertyName("settle_info")]
         [JsonPropertyName("settle_info")]
         public SettleInfo SettleInfo { get; set; }
         public SettleInfo SettleInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
-        /// 优惠功能
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能
+        /// </remarks>
         [JsonPropertyName("detail")]
         [JsonPropertyName("detail")]
         public Detail Detail { get; set; }
         public Detail Detail { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
     }
     }

+ 11 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsIdQueryModel.cs

@@ -4,24 +4,29 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 基础支付(服务商)- 查询订单API - 微信支付订单号查询 - 请求URL参数
     /// 基础支付(服务商)- 查询订单API - 微信支付订单号查询 - 请求URL参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_5.shtml">微信支付订单号查询</a></para>
-    /// 最新更新时间:2020.05.26
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_5.shtml">查询订单API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayPartnerTransactionsIdQueryModel : WeChatPayObject
     public class WeChatPayPartnerTransactionsIdQueryModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商户号
         /// 服务商户号
-        /// 服务商户号,由微信支付生成并下发
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商户号,由微信支付生成并下发
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 子商户的商户号,有微信支付生成并下发。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户的商户号,有微信支付生成并下发。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
     }
     }

+ 59 - 24
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsJsApiBodyModel.cs

@@ -3,122 +3,157 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付(服务商)- JSAPI下单API/小程序下单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_2.shtml">JSAPI下单API/小程序下单API</a></para>
-    /// 最新更新时间:2020.11.12
+    /// 基础支付(服务商)- JSAPI下单API/小程序下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_2.shtml">JSAPI下单API/小程序下单API</a> - 最新更新时间:2020.11.12</para>
+    /// </remarks>
     public class WeChatPayPartnerTransactionsJsApiBodyModel : WeChatPayObject
     public class WeChatPayPartnerTransactionsJsApiBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商公众号ID
         /// 服务商公众号ID
-        /// 服务商申请的公众号或移动应用appid。
-        /// 示例值:wx8888888888888888
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商申请的公众号或移动应用appid。
+        /// <para>示例值:wx8888888888888888</para>
+        /// </remarks>
         [JsonPropertyName("sp_appid")]
         [JsonPropertyName("sp_appid")]
         public string SpAppId { get; set; }
         public string SpAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 服务商户号
         /// 服务商户号
-        /// 服务商户号,由微信支付生成并下发
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商户号,由微信支付生成并下发
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户公众号ID
         /// 子商户公众号ID
-        /// 子商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6999</para>
+        /// </remarks>
         [JsonPropertyName("sub_appid")]
         [JsonPropertyName("sub_appid")]
         public string SubAppId { get; set; }
         public string SubAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 子商户的商户号,有微信支付生成并下发。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户的商户号,有微信支付生成并下发。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品描述
-        /// 示例值:Image形象店-深圳腾大-QQ公仔
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品描述
+        /// <para>示例值:Image形象店-深圳腾大-QQ公仔</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 格式:URL
         /// 格式:URL
-        /// 示例值:https://www.weixin.qq.com/wxpay/pay.php
-        /// </summary>
+        /// <para>示例值:https://www.weixin.qq.com/wxpay/pay.php</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单优惠标记
         /// 订单优惠标记
-        /// 订单优惠标记
-        /// 示例值:WXG
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单优惠标记
+        /// <para>示例值:WXG</para>
+        /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 结算信息
         /// 结算信息
-        /// 结算信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
         [JsonPropertyName("settle_info")]
         [JsonPropertyName("settle_info")]
         public SettleInfo SettleInfo { get; set; }
         public SettleInfo SettleInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付者
         /// 支付者
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付者信息
+        /// </remarks>
         [JsonPropertyName("payer")]
         [JsonPropertyName("payer")]
         public PartnerPayerInfo Payer { get; set; }
         public PartnerPayerInfo Payer { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能
+        /// </remarks>
         [JsonPropertyName("detail")]
         [JsonPropertyName("detail")]
         public Detail Detail { get; set; }
         public Detail Detail { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
     }
     }

+ 56 - 27
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsNativeBodyModel.cs

@@ -3,119 +3,148 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付(服务商)- Native下单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_3.shtml">Native下单API</a></para>
-    /// 最新更新时间:2020.11.12
+    /// 基础支付(服务商)- Native下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_3.shtml">Native下单API</a> - 最新更新时间:2020.11.12</para>
+    /// </remarks>
     public class WeChatPayPartnerTransactionsNativeBodyModel : WeChatPayObject
     public class WeChatPayPartnerTransactionsNativeBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商公众号ID
         /// 服务商公众号ID
-        /// 服务商申请的公众号或移动应用appid。
-        /// 示例值:wx8888888888888888
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商申请的公众号或移动应用appid。
+        /// <para>示例值:wx8888888888888888</para>
+        /// </remarks>
         [JsonPropertyName("sp_appid")]
         [JsonPropertyName("sp_appid")]
         public string SpAppId { get; set; }
         public string SpAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 服务商户号
         /// 服务商户号
-        /// 服务商户号,由微信支付生成并下发
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商户号,由微信支付生成并下发
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户公众号ID
         /// 子商户公众号ID
-        /// 子商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6999</para>
+        /// </remarks>
         [JsonPropertyName("sub_appid")]
         [JsonPropertyName("sub_appid")]
         public string SubAppId { get; set; }
         public string SubAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 子商户的商户号,有微信支付生成并下发。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户的商户号,有微信支付生成并下发。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品描述
-        /// 示例值:Image形象店-深圳腾大-QQ公仔
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品描述
+        /// <para>示例值:Image形象店-深圳腾大-QQ公仔</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 格式:URL
         /// 格式:URL
-        /// 示例值:https://www.weixin.qq.com/wxpay/pay.php
-        /// </summary>
+        /// <para>示例值:https://www.weixin.qq.com/wxpay/pay.php</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单优惠标记
         /// 订单优惠标记
-        /// 订单优惠标记
-        /// 示例值:WXG
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单优惠标记
+        /// <para>示例值:WXG</para>
+        /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 结算信息
         /// 结算信息
-        /// 结算信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
         [JsonPropertyName("settle_info")]
         [JsonPropertyName("settle_info")]
         public SettleInfo SettleInfo { get; set; }
         public SettleInfo SettleInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
-        /// 优惠功能
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能
+        /// </remarks>
         [JsonPropertyName("detail")]
         [JsonPropertyName("detail")]
         public Detail Detail { get; set; }
         public Detail Detail { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
     }
     }

+ 12 - 7
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsOutTradeNoCloseBodyModel.cs

@@ -3,25 +3,30 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付(服务商)- 关闭订单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_6.shtml">Native下单API</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付(服务商)- 关闭订单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_6.shtml">关单API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayPartnerTransactionsOutTradeNoCloseBodyModel : WeChatPayObject
     public class WeChatPayPartnerTransactionsOutTradeNoCloseBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商户号
         /// 服务商户号
-        /// 服务商户号,由微信支付生成并下发
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商户号,由微信支付生成并下发
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 子商户的商户号,有微信支付生成并下发。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户的商户号,有微信支付生成并下发。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
     }
     }

+ 12 - 7
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayPartnerTransactionsOutTradeNoQueryModel.cs

@@ -3,25 +3,30 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付(服务商)- 查询订单API - 商户订单号查询 - 请求URL参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_5.shtml">商户订单号查询</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付(服务商)- 查询订单 - 商户订单号查询 - 请求URL参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_5.shtml">查询订单API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayPartnerTransactionsOutTradeNoQueryModel : WeChatPayObject
     public class WeChatPayPartnerTransactionsOutTradeNoQueryModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商户号
         /// 服务商户号
-        /// 服务商户号,由微信支付生成并下发
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商户号,由微信支付生成并下发
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 子商户的商户号,有微信支付生成并下发。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户的商户号,有微信支付生成并下发。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
     }
     }

+ 38 - 21
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayRefundDomesticRefundsBodyModel.cs

@@ -4,77 +4,94 @@ using System.Text.Json.Serialization;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 退款申请 - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_9.shtml">JSAPI支付 - 退款申请</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_9.shtml">APP支付 - 退款申请</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_9.shtml">H5支付 - 退款申请</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_9.shtml">Native支付 - 退款申请</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_9.shtml">小程序支付 - 退款申请</a></para>
-    /// 最新更新时间:2021.01.15
+    /// 基础支付 - JSAPI支付、APP支付、H5支付、Native支付、小程序支付 - 申请退款 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_9.shtml">JSAPI支付 - 申请退款API</a> - 最新更新时间:2021.01.15</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_9.shtml">APP支付 - 申请退款API</a> - 最新更新时间:2021.01.15</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_9.shtml">H5支付 - 申请退款API</a> - 最新更新时间:2021.01.15</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_9.shtml">Native支付 - 申请退款API</a> - 最新更新时间:2021.01.15</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_9.shtml">小程序支付 - 申请退款API</a> - 最新更新时间:2021.01.15</para>
+    /// </remarks>
     public class WeChatPayRefundDomesticRefundsBodyModel : WeChatPayObject
     public class WeChatPayRefundDomesticRefundsBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 微信支付订单号
         /// 微信支付订单号
-        /// 原支付交易对应的微信订单号。
-        /// 示例值:1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 原支付交易对应的微信订单号。
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("transaction_id")]
         [JsonPropertyName("transaction_id")]
         public string TransactionId { get; set; }
         public string TransactionId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
-        /// 原支付交易对应的商户订单号。
-        /// 示例值:1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 原支付交易对应的商户订单号。
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户退款单号
         /// 商户退款单号
-        /// 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔。
-        /// 示例值:1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一退款单号多次请求只退一笔。
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_refund_no")]
         [JsonPropertyName("out_refund_no")]
         public string OutRefundNo { get; set; }
         public string OutRefundNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款原因
         /// 退款原因
-        /// 若商户传入,会在下发给用户的退款消息中体现退款原因。
-        /// 示例值:商品已售完
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 若商户传入,会在下发给用户的退款消息中体现退款原因。
+        /// <para>示例值:商品已售完</para>
+        /// </remarks>
         [JsonPropertyName("reason")]
         [JsonPropertyName("reason")]
         public string Reason { get; set; }
         public string Reason { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款结果回调url
         /// 退款结果回调url
-        /// 异步接收微信支付退款结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 如果参数中传了notify_url,则商户平台上配置的回调地址将不会生效,优先回调当前传的这个地址。
-        /// 示例值:https://weixin.qq.com
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 异步接收微信支付退款结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 如果参数中传了notify_url,则商户平台上配置的回调地址将不会生效,优先回调当前传的这个地址。
+        /// <para>示例值:https://weixin.qq.com</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款资金来源
         /// 退款资金来源
+        /// </summary>
+        /// <remarks>
         /// 若传递此参数则使用对应的资金账户退款,否则默认使用未结算资金退款(仅对老资金流商户适用)。
         /// 若传递此参数则使用对应的资金账户退款,否则默认使用未结算资金退款(仅对老资金流商户适用)。
         /// 枚举值:
         /// 枚举值:
         /// AVAILABLE:可用余额账户
         /// AVAILABLE:可用余额账户
-        /// 示例值:AVAILABLE
-        /// </summary>
+        /// <para>示例值:AVAILABLE</para>
+        /// </remarks>
         [JsonPropertyName("funds_account")]
         [JsonPropertyName("funds_account")]
         public string FundsAccount { get; set; }
         public string FundsAccount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 金额信息
         /// 金额信息
-        /// 订单金额信息。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息。
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public RefundAmount Amount { get; set; }
         public RefundAmount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款商品
         /// 退款商品
-        /// 指定商品退款需要传此参数,其他场景无需传递。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 指定商品退款需要传此参数,其他场景无需传递。
+        /// </remarks>
         [JsonPropertyName("goods_detail")]
         [JsonPropertyName("goods_detail")]
         public List<RefundGoodsDetail> GoodsDetail { get; set; }
         public List<RefundGoodsDetail> GoodsDetail { get; set; }
     }
     }

+ 5 - 5
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsBodyModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 商户预授权 - 请求JSON参数
     /// 微信支付分 - 商户预授权 - 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_2.shtml">商户预授权API</a> - 最新更新时间:2020.07.20</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_2.shtml">微信支付分 - 商户预授权API</a> - 最新更新时间:2020.07.20</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScorePermissionsBodyModel : WeChatPayObject
     public class WeChatPayScorePermissionsBodyModel : WeChatPayObject
     {
     {
@@ -15,7 +15,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限.
         /// 该服务ID有本接口对应产品的权限.
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -25,7 +25,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 服务商申请的公众号或移动应用APPID
         /// 服务商申请的公众号或移动应用APPID
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -35,7 +35,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 预授权成功时的授权协议号,要求此参数只能由数字、大小写字母_-*组成,且在同一个商户号下唯一。详见[商户订单号]。 
         /// 预授权成功时的授权协议号,要求此参数只能由数字、大小写字母_-*组成,且在同一个商户号下唯一。详见[商户订单号]。 
-        /// 示例值:1234323JKHDFE1243252
+        /// <para>示例值:1234323JKHDFE1243252</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("authorization_code")]
         [JsonPropertyName("authorization_code")]
         public string AuthorizationCode { get; set; }
         public string AuthorizationCode { get; set; }
@@ -45,7 +45,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户接收授权回调通知的地址 
         /// 商户接收授权回调通知的地址 
-        /// 示例值:http://www.qq.com
+        /// <para>示例值:http://www.qq.com</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }

+ 2 - 2
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsQueryForAuthCodeQueryModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 查询用户授权记录(授权协议号)- 请求URL参数
     /// 微信支付分 - 查询用户授权记录(授权协议号)- 请求URL参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_3.shtml">查询用户授权记录(授权协议号)API</a> - 最新更新时间:2020.09.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_3.shtml">微信支付分 - 查询用户授权记录(授权协议号)API</a> - 最新更新时间:2020.09.14</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScorePermissionsQueryForAuthCodeQueryModel : WeChatPayObject
     public class WeChatPayScorePermissionsQueryForAuthCodeQueryModel : WeChatPayObject
     {
     {
@@ -15,7 +15,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限。 
         /// 该服务ID有本接口对应产品的权限。 
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }

+ 3 - 3
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsQueryForOpenIdQueryModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 查询用户授权记录(openid)- 请求URL参数
     /// 微信支付分 - 查询用户授权记录(openid)- 请求URL参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_5.shtml">查询用户授权记录(openid)API</a> - 最新更新时间:2020.09.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_5.shtml">微信支付分 - 查询用户授权记录(openid)API</a> - 最新更新时间:2020.09.14</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScorePermissionsQueryForOpenIdQueryModel : WeChatPayObject
     public class WeChatPayScorePermissionsQueryForOpenIdQueryModel : WeChatPayObject
     {
     {
@@ -15,7 +15,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限. 
         /// 该服务ID有本接口对应产品的权限. 
-        /// 示例值:2002000000000558128851361561536
+        /// <para>示例值:2002000000000558128851361561536</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -25,7 +25,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。 
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。 
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }

+ 3 - 3
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsTerminateForAuthCodeBodyModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 解除用户授权关系(授权协议号)- 请求JSON参数
     /// 微信支付分 - 解除用户授权关系(授权协议号)- 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_4.shtml">解除用户授权关系(授权协议号)API</a> - 最新更新时间:2020.07.20</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_4.shtml">微信支付分 - 解除用户授权关系(授权协议号)API</a> - 最新更新时间:2020.07.20</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScorePermissionsTerminateForAuthCodeBodyModel : WeChatPayObject
     public class WeChatPayScorePermissionsTerminateForAuthCodeBodyModel : WeChatPayObject
     {
     {
@@ -15,7 +15,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限. 
         /// 该服务ID有本接口对应产品的权限. 
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -25,7 +25,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 解除授权原因 
         /// 解除授权原因 
-        /// 示例值:撤销原因
+        /// <para>示例值:撤销原因</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("reason")]
         [JsonPropertyName("reason")]
         public string Reason { get; set; }
         public string Reason { get; set; }

+ 4 - 4
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScorePermissionsTerminateForOpenIdBodyModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 解除用户授权关系(openid)- 请求JSON参数
     /// 微信支付分 - 解除用户授权关系(openid)- 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_6.shtml">解除用户授权关系(openid)API</a> - 最新更新时间:2020.07.20</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_6.shtml">微信支付分 - 解除用户授权关系(openid)API</a> - 最新更新时间:2020.07.20</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScorePermissionsTerminateForOpenIdBodyModel : WeChatPayObject
     public class WeChatPayScorePermissionsTerminateForOpenIdBodyModel : WeChatPayObject
     {
     {
@@ -15,7 +15,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限.
         /// 该服务ID有本接口对应产品的权限.
-        /// 示例值:2002000000000558128851361561536
+        /// <para>示例值:2002000000000558128851361561536</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -25,7 +25,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系.需要在本系统先进行配置.
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系.需要在本系统先进行配置.
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -35,7 +35,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 撤销原因
         /// 撤销原因
-        /// 示例值:reason
+        /// <para>示例值:reason</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("reason")]
         [JsonPropertyName("reason")]
         public string Reason { get; set; }
         public string Reason { get; set; }

+ 9 - 9
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderBodyModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// <summary>
     /// <summary>
     /// 微信支付分 - 创建支付分订单 - 请求JSON参数
     /// 微信支付分 - 创建支付分订单 - 请求JSON参数
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml">创建支付分订单API</a> - 最新更新时间:2020.03.05</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_14.shtml">微信支付分 - 创建支付分订单API</a> - 最新更新时间:2020.03.05</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreServiceOrderBodyModel : WeChatPayObject
     public class WeChatPayScoreServiceOrderBodyModel : WeChatPayObject
     {
     {
@@ -16,7 +16,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 商户系统内部服务订单号(不是交易单号),要求此参数只能由数字、大小写字母_-|*组成,且在同一个商户号下唯一。
         /// 商户系统内部服务订单号(不是交易单号),要求此参数只能由数字、大小写字母_-|*组成,且在同一个商户号下唯一。
         /// 详见[商户订单号]。
         /// 详见[商户订单号]。
-        /// 示例值:1234323JKHDFE1243252
+        /// <para>示例值:1234323JKHDFE1243252</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("out_order_no")]
         [JsonPropertyName("out_order_no")]
         public string OutOrderNo { get; set; }
         public string OutOrderNo { get; set; }
@@ -27,7 +27,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -37,7 +37,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限。
         /// 该服务ID有本接口对应产品的权限。
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -47,7 +47,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 服务信息,用于介绍本订单所提供的服务 ,当参数长度超过20个字符时,报错处理。
         /// 服务信息,用于介绍本订单所提供的服务 ,当参数长度超过20个字符时,报错处理。
-        /// 示例值:某某酒店
+        /// <para>示例值:某某酒店</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_introduction")]
         [JsonPropertyName("service_introduction")]
         public string ServiceIntroduction { get; set; }
         public string ServiceIntroduction { get; set; }
@@ -105,7 +105,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。 当商户数据包总长度超出256字符时,报错处理。
         /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。 当商户数据包总长度超出256字符时,报错处理。
-        /// 示例值:Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald
+        /// <para>示例值:Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
@@ -115,7 +115,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户接收用户确认订单和付款成功回调通知的地址。
         /// 商户接收用户确认订单和付款成功回调通知的地址。
-        /// 示例值:https://api.test.com
+        /// <para>示例值:https://api.test.com</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
@@ -127,7 +127,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 微信用户在商户对应appid下的唯一标识。
         /// 微信用户在商户对应appid下的唯一标识。
         /// 免确认订单:必填
         /// 免确认订单:必填
         /// 需确认订单:不填
         /// 需确认订单:不填
-        /// 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
+        /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("openid")]
         [JsonPropertyName("openid")]
         public string OpenId { get; set; }
         public string OpenId { get; set; }
@@ -140,7 +140,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// false:免确认订单
         /// false:免确认订单
         /// true:需确认订单
         /// true:需确认订单
         /// 默认值true
         /// 默认值true
-        /// 示例值:true
+        /// <para>示例值:true</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("need_user_confirm")]
         [JsonPropertyName("need_user_confirm")]
         public bool NeedUserConfirm { get; set; }
         public bool NeedUserConfirm { get; set; }

+ 12 - 11
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderDirectCompleteBodyModel.cs

@@ -7,7 +7,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 创单结单合并 - 请求JSON参数
     /// 微信支付分 - 创单结单合并 - 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_1.shtml">创单结单合并API</a> - 最新更新时间:2020.04.23</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_1.shtml">微信支付分 - 创单结单合并API</a> - 最新更新时间:2020.04.23</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreServiceOrderDirectCompleteBodyModel : WeChatPayObject
     public class WeChatPayScoreServiceOrderDirectCompleteBodyModel : WeChatPayObject
     {
     {
@@ -16,7 +16,8 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户系统内部服务订单号(不是交易单号),要求此参数只能由数字、大小写字母_-|*组成,且在同一个商户号下唯一。
         /// 商户系统内部服务订单号(不是交易单号),要求此参数只能由数字、大小写字母_-|*组成,且在同一个商户号下唯一。
-        /// 详见[商户订单号]。示例值:1234323JKHDFE1243252
+        /// 详见[商户订单号]。
+        /// <para>示例值:1234323JKHDFE1243252</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("out_order_no")]
         [JsonPropertyName("out_order_no")]
         public string OutOrderNo { get; set; }
         public string OutOrderNo { get; set; }
@@ -27,7 +28,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -37,7 +38,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信用户在商户对应appid下的唯一标识。
         /// 微信用户在商户对应appid下的唯一标识。
-        /// 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
+        /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("openid")]
         [JsonPropertyName("openid")]
         public string OpenId { get; set; }
         public string OpenId { get; set; }
@@ -47,7 +48,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限。
         /// 该服务ID有本接口对应产品的权限。
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -57,7 +58,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 服务信息,用于介绍本订单所提供的服务 ,当参数长度超过20个字符时,报错处理。
         /// 服务信息,用于介绍本订单所提供的服务 ,当参数长度超过20个字符时,报错处理。
-        /// 示例值:某某酒店
+        /// <para>示例值:某某酒店</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_introduction")]
         [JsonPropertyName("service_introduction")]
         public string ServiceIntroduction { get; set; }
         public string ServiceIntroduction { get; set; }
@@ -106,7 +107,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 1、金额:数字,必须≥0(单位:分)
         /// 1、金额:数字,必须≥0(单位:分)
         /// 2、总金额 =(完结付费项目1…+完结付费项目n)-(完结商户优惠项目1…+完结商户优惠项目n)
         /// 2、总金额 =(完结付费项目1…+完结付费项目n)-(完结商户优惠项目1…+完结商户优惠项目n)
         /// 3、总金额上限:总金额≤“服务风险金额”
         /// 3、总金额上限:总金额≤“服务风险金额”
-        /// 示例值:50000
+        /// <para>示例值:50000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("total_amount")]
         [JsonPropertyName("total_amount")]
         public long TotalAmount { get; set; }
         public long TotalAmount { get; set; }
@@ -118,7 +119,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 完结订单分账接口标记。分账开通流程,详见
         /// 完结订单分账接口标记。分账开通流程,详见
         /// false:不分账,默认:false
         /// false:不分账,默认:false
         /// true:分账。
         /// true:分账。
-        /// 示例值:false
+        /// <para>示例值:false</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("profit_sharing")]
         [JsonPropertyName("profit_sharing")]
         public bool ProfitSharing { get; set; }
         public bool ProfitSharing { get; set; }
@@ -128,7 +129,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 订单优惠标记,代金券或立减金优惠的参数,说明详见代金券或立减金优惠
         /// 订单优惠标记,代金券或立减金优惠的参数,说明详见代金券或立减金优惠
-        /// 示例值:goods_tag
+        /// <para>示例值:goods_tag</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
@@ -138,7 +139,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。 当商户数据包总长度超出256字符时,报错处理。
         /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。 当商户数据包总长度超出256字符时,报错处理。
-        /// 示例值:Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald
+        /// <para>示例值:Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
@@ -148,7 +149,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户接收用户确认订单和付款成功回调通知的地址。
         /// 商户接收用户确认订单和付款成功回调通知的地址。
-        /// 示例值:https://api.test.com
+        /// <para>示例值:https://api.test.com</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }

+ 4 - 4
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderOutOrderNoCancelBodyModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 取消支付分订单 - 请求JSON参数
     /// 微信支付分 - 取消支付分订单 - 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_16.shtml">取消支付分订单API</a> - 最新更新时间:2020.04.23</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_16.shtml">微信支付分 - 取消支付分订单API</a> - 最新更新时间:2020.04.23</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreServiceOrderOutOrderNoCancelBodyModel : WeChatPayObject
     public class WeChatPayScoreServiceOrderOutOrderNoCancelBodyModel : WeChatPayObject
     {
     {
@@ -16,7 +16,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -26,7 +26,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限。
         /// 该服务ID有本接口对应产品的权限。
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -36,7 +36,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 最多30个字符,每个汉字/数字/英语都按1个字符计算超过长度报错处理。
         /// 最多30个字符,每个汉字/数字/英语都按1个字符计算超过长度报错处理。
-        /// 示例值:用户投诉
+        /// <para>示例值:用户投诉</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("reason")]
         [JsonPropertyName("reason")]
         public string Reason { get; set; }
         public string Reason { get; set; }

+ 6 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderOutOrderNoCompleteBodyModel.cs

@@ -7,7 +7,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 完结支付分订单 - 请求JSON参数
     /// 微信支付分 - 完结支付分订单 - 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_18.shtml">完结支付分订单API</a> - 最新更新时间:2020.06.02</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_18.shtml">微信支付分 - 完结支付分订单API</a> - 最新更新时间:2020.06.02</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreServiceOrderOutOrderNoCompleteBodyModel : WeChatPayObject
     public class WeChatPayScoreServiceOrderOutOrderNoCompleteBodyModel : WeChatPayObject
     {
     {
@@ -16,7 +16,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -26,7 +26,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 服务订单的主键,唯一定义此资源的标识
         /// 服务订单的主键,唯一定义此资源的标识
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -59,7 +59,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 3、总金额上限
         /// 3、总金额上限
         ///   1)【评估不通过:交押金】模式:总金额≤创单时填写的“订单风险金额”
         ///   1)【评估不通过:交押金】模式:总金额≤创单时填写的“订单风险金额”
         ///   2)【评估不通过:拒绝】模式:总金额≤“每个服务ID的风险金额上限”
         ///   2)【评估不通过:拒绝】模式:总金额≤“每个服务ID的风险金额上限”
-        /// 示例值:50000
+        /// <para>示例值:50000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("total_amount")]
         [JsonPropertyName("total_amount")]
         public long TotalAmount { get; set; }
         public long TotalAmount { get; set; }
@@ -91,7 +91,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// 完结订单分账接口标记。分账开通流程,详见
         /// 完结订单分账接口标记。分账开通流程,详见
         /// false:不分账,默认:false
         /// false:不分账,默认:false
         /// true:分账。
         /// true:分账。
-        /// 示例值:false
+        /// <para>示例值:false</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("profit_sharing")]
         [JsonPropertyName("profit_sharing")]
         public bool ProfitSharing { get; set; }
         public bool ProfitSharing { get; set; }
@@ -101,7 +101,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 订单优惠标记,代金券或立减金优惠的参数,说明详见代金券或立减金优惠
         /// 订单优惠标记,代金券或立减金优惠的参数,说明详见代金券或立减金优惠
-        /// 示例值:goods_tag
+        /// <para>示例值:goods_tag</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }

+ 5 - 5
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderOutOrderNoModifyBodyModel.cs

@@ -7,7 +7,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 修改订单金额 - 请求JSON参数
     /// 微信支付分 - 修改订单金额 - 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">修改订单金额API</a> - 最新更新时间:2020.03.05</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_17.shtml">微信支付分 - 修改订单金额API</a> - 最新更新时间:2020.03.05</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreServiceOrderOutOrderNoModifyBodyModel : WeChatPayObject
     public class WeChatPayScoreServiceOrderOutOrderNoModifyBodyModel : WeChatPayObject
     {
     {
@@ -17,7 +17,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -27,7 +27,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限,需要与创建订单时保持一致。
         /// 该服务ID有本接口对应产品的权限,需要与创建订单时保持一致。
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -57,7 +57,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 总金额,单位为分,不能超过完结订单时候的总金额,只能为整数,详见支付金额。此参数需满足:总金额 =(修改后付费项目1…+修改后完结付费项目n)-(修改 后付费商户优惠项目1…+修改后付费商户优惠项目n)
         /// 总金额,单位为分,不能超过完结订单时候的总金额,只能为整数,详见支付金额。此参数需满足:总金额 =(修改后付费项目1…+修改后完结付费项目n)-(修改 后付费商户优惠项目1…+修改后付费商户优惠项目n)
-        /// 示例值:50000
+        /// <para>示例值:50000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("total_amount")]
         [JsonPropertyName("total_amount")]
         public long TotalAmount { get; set; }
         public long TotalAmount { get; set; }
@@ -67,7 +67,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 按照字符计算,超过长度报错处理。
         /// 按照字符计算,超过长度报错处理。
-        /// 示例值:用户投诉
+        /// <para>示例值:用户投诉</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("reason")]
         [JsonPropertyName("reason")]
         public string Reason { get; set; }
         public string Reason { get; set; }

+ 3 - 3
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderPayBodyModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 商户发起催收扣款 - 请求JSON参数
     /// 微信支付分 - 商户发起催收扣款 - 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_19.shtml">商户发起催收扣款API</a> - 最新更新时间:2020.03.05</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_19.shtml">微信支付分 - 商户发起催收扣款API</a> - 最新更新时间:2020.03.05</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreServiceOrderPayBodyModel : WeChatPayObject
     public class WeChatPayScoreServiceOrderPayBodyModel : WeChatPayObject
     {
     {
@@ -15,7 +15,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -25,7 +25,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限。
         /// 该服务ID有本接口对应产品的权限。
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }

+ 5 - 5
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderQueryModel.cs

@@ -4,7 +4,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
     /// 微信支付分 - 查询支付分订单 - 请求URL参数
     /// 微信支付分 - 查询支付分订单 - 请求URL参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">查询支付分订单API</a></para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_15.shtml">微信支付分 - 查询支付分订单API</a></para>
     /// </summary>
     /// </summary>
     public class WeChatPayScoreServiceOrderQueryModel : WeChatPayObject
     public class WeChatPayScoreServiceOrderQueryModel : WeChatPayObject
     {
     {
@@ -13,7 +13,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户系统内部服务订单号(不是交易单号),与创建订单时一致
         /// 商户系统内部服务订单号(不是交易单号),与创建订单时一致
-        /// 示例值:1234323JKHDFE1243252
+        /// <para>示例值:1234323JKHDFE1243252</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("out_order_no")]
         [JsonPropertyName("out_order_no")]
         public string OutOrderNo { get; set; }
         public string OutOrderNo { get; set; }
@@ -24,7 +24,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 微信侧回跳到商户前端时用于查单的单据查询id。详见章节“小程序跳转接口,回跳商户接口”。
         /// 微信侧回跳到商户前端时用于查单的单据查询id。详见章节“小程序跳转接口,回跳商户接口”。
         /// 商户单号与回跳查询id必填其中一个.不允许都填写或都不填写。
         /// 商户单号与回跳查询id必填其中一个.不允许都填写或都不填写。
-        /// 示例值:15646546545165651651
+        /// <para>示例值:15646546545165651651</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("query_id")]
         [JsonPropertyName("query_id")]
         public string QueryId { get; set; }
         public string QueryId { get; set; }
@@ -34,7 +34,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限
         /// 该服务ID有本接口对应产品的权限
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -44,7 +44,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系,此参数需在本系统先进行配置。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }

+ 4 - 4
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayScoreServiceOrderSyncBodyModel.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
     /// 微信支付分 - 同步服务订单信息 - 请求JSON参数
     /// 微信支付分 - 同步服务订单信息 - 请求JSON参数
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_20.shtml">微信支付分 - 同步服务订单信息API</a> - 最新更新时间:2020.03.05</para>
     /// </remarks
     /// </remarks
     public class WeChatPayScoreServiceOrderSyncBodyModel : WeChatPayObject
     public class WeChatPayScoreServiceOrderSyncBodyModel : WeChatPayObject
     {
     {
@@ -16,7 +16,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// <remarks>
         /// <remarks>
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
         /// 此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
 
 
@@ -27,7 +27,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 该服务ID有本接口对应产品的权限,需要与创建订单时保持一致。
         /// 该服务ID有本接口对应产品的权限,需要与创建订单时保持一致。
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -37,7 +37,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 场景类型为“Order_Paid”,字符串表示“订单收款成功” 。
         /// 场景类型为“Order_Paid”,字符串表示“订单收款成功” 。
-        /// 示例值:Order_Paid
+        /// <para>示例值:Order_Paid</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("type")]
         [JsonPropertyName("type")]
         public string Type { get; set; }
         public string Type { get; set; }

+ 55 - 23
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsAppBodyModel.cs

@@ -3,97 +3,129 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - APP支付 - 统一下单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_1.shtml">统一下单API</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付 - APP支付 - 统一下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_1.shtml">APP支付 - 统一下单API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayTransactionsAppBodyModel : WeChatPayObject
     public class WeChatPayTransactionsAppBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
-        /// 公众号ID
-        /// 直连商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6787
+        /// 应用ID
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品描述
-        /// 示例值:Image形象店-深圳腾大-QQ公仔
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品描述
+        /// <para>示例值:Image形象店-深圳腾大-QQ公仔</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 格式:URL
         /// 格式:URL
-        /// 示例值:https://www.weixin.qq.com/wxpay/pay.php
-        /// </summary>
+        /// <para>示例值:https://www.weixin.qq.com/wxpay/pay.php</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单优惠标记
         /// 订单优惠标记
-        /// 订单优惠标记
-        /// 示例值:WXG
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单优惠标记
+        /// <para>示例值:WXG</para>
+        /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
-        /// 优惠功能
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能
+        /// </remarks>
         [JsonPropertyName("detail")]
         [JsonPropertyName("detail")]
         public Detail Detail { get; set; }
         public Detail Detail { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
+
+        /// <summary>
+        /// 结算信息
+        /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
+        [JsonPropertyName("settle_info")]
+        public SettleInfo SettleInfo { get; set; }
     }
     }
 }
 }

+ 55 - 23
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsH5BodyModel.cs

@@ -3,97 +3,129 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - H5支付 - 统一下单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_1.shtml">统一下单API</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付 - H5支付 - 统一下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_1.shtml">H5支付 - 统一下单API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayTransactionsH5BodyModel : WeChatPayObject
     public class WeChatPayTransactionsH5BodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
-        /// 公众号ID
-        /// 直连商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6787
+        /// 应用ID
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品描述
-        /// 示例值:Image形象店-深圳腾大-QQ公仔
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品描述
+        /// <para>示例值:Image形象店-深圳腾大-QQ公仔</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 格式:URL
         /// 格式:URL
-        /// 示例值:https://www.weixin.qq.com/wxpay/pay.php
-        /// </summary>
+        /// <para>示例值:https://www.weixin.qq.com/wxpay/pay.php</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单优惠标记
         /// 订单优惠标记
-        /// 订单优惠标记
-        /// 示例值:WXG
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单优惠标记
+        /// <para>示例值:WXG</para>
+        /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
-        /// 优惠功能
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能
+        /// </remarks>
         [JsonPropertyName("detail")]
         [JsonPropertyName("detail")]
         public Detail Detail { get; set; }
         public Detail Detail { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
+
+        /// <summary>
+        /// 结算信息
+        /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
+        [JsonPropertyName("settle_info")]
+        public SettleInfo SettleInfo { get; set; }
     }
     }
 }
 }

+ 12 - 9
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsIdQueryModel.cs

@@ -3,21 +3,24 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 微信支付订单号查询 - 请求URL参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_2.shtml">JSAPI支付 - 查询订单API - 微信支付订单号查询</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_2.shtml">APP支付 - 查询订单API - 微信支付订单号查询</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_2.shtml">H5支付 - 查询订单API - 微信支付订单号查询</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_2.shtml">Native支付 - 查询订单API - 微信支付订单号查询</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_2.shtml">小程序支付 - 查询订单API - 微信支付订单号查询</a></para>
-    /// 最新更新时间:2021.1.14
+    /// 基础支付 - JSAPI支付、APP支付、H5支付、Native支付、小程序支付 - 查询订单 - 微信支付订单号查询 - 请求URL参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_2.shtml">JSAPI支付 - 查询订单API - 微信支付订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_2.shtml">APP支付 - 查询订单API - 微信支付订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_2.shtml">H5支付 - 查询订单API - 微信支付订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_2.shtml">Native支付 - 查询订单API - 微信支付订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_2.shtml">小程序支付 - 查询订单API - 微信支付订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// </remarks>
     public class WeChatPayTransactionsIdQueryModel : WeChatPayObject
     public class WeChatPayTransactionsIdQueryModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
     }
     }

+ 59 - 21
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsJsApiBodyModel.cs

@@ -3,101 +3,139 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - JSAPI支付、小程序支付 - 统一下单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_1.shtml">JSAPI支付 - 统一下单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_1.shtml">小程序支付 - 统一下单API</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付 - JSAPI支付、小程序支付 - 统一下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_1.shtml">JSAPI支付 - 统一下单API</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_1.shtml">小程序支付 - 统一下单API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayTransactionsJsApiBodyModel : WeChatPayObject
     public class WeChatPayTransactionsJsApiBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
-        /// 公众号ID
-        /// 直连商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6787
+        /// 应用ID
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品描述
-        /// 示例值:Image形象店-深圳腾大-QQ公仔
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品描述
+        /// <para>示例值:Image形象店-深圳腾大-QQ公仔</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 格式:URL
         /// 格式:URL
-        /// 示例值:https://www.weixin.qq.com/wxpay/pay.php
-        /// </summary>
+        /// <para>示例值:https://www.weixin.qq.com/wxpay/pay.php</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单优惠标记
         /// 订单优惠标记
-        /// 订单优惠标记
-        /// 示例值:WXG
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单优惠标记
+        /// <para>示例值:WXG</para>
+        /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付者
         /// 支付者
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付者信息
+        /// </remarks>
         [JsonPropertyName("payer")]
         [JsonPropertyName("payer")]
         public PayerInfo Payer { get; set; }
         public PayerInfo Payer { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能
+        /// </remarks>
         [JsonPropertyName("detail")]
         [JsonPropertyName("detail")]
         public Detail Detail { get; set; }
         public Detail Detail { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
+
+        /// <summary>
+        /// 结算信息
+        /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
+        [JsonPropertyName("settle_info")]
+        public SettleInfo SettleInfo { get; set; }
     }
     }
 }
 }

+ 55 - 23
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsNativeBodyModel.cs

@@ -3,97 +3,129 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - Native支付 - 统一下单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_1.shtml">Native支付 - 统一下单API</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付 - Native支付 - 统一下单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_1.shtml">Native支付 - 统一下单API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayTransactionsNativeBodyModel : WeChatPayObject
     public class WeChatPayTransactionsNativeBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
-        /// 公众号ID
-        /// 直连商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6787
+        /// 应用ID
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商品描述
         /// 商品描述
-        /// 商品描述
-        /// 示例值:Image形象店-深圳腾大-QQ公仔
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商品描述
+        /// <para>示例值:Image形象店-深圳腾大-QQ公仔</para>
+        /// </remarks>
         [JsonPropertyName("description")]
         [JsonPropertyName("description")]
         public string Description { get; set; }
         public string Description { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易结束时间
         /// 交易结束时间
-        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单失效时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("time_expire")]
         [JsonPropertyName("time_expire")]
         public string TimeExpire { get; set; }
         public string TimeExpire { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 通知地址
         /// 通知地址
+        /// </summary>
+        /// <remarks>
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 通知URL必须为直接可访问的URL,不允许携带查询串。
         /// 格式:URL
         /// 格式:URL
-        /// 示例值:https://www.weixin.qq.com/wxpay/pay.php
-        /// </summary>
+        /// <para>示例值:https://www.weixin.qq.com/wxpay/pay.php</para>
+        /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单优惠标记
         /// 订单优惠标记
-        /// 订单优惠标记
-        /// 示例值:WXG
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单优惠标记
+        /// <para>示例值:WXG</para>
+        /// </remarks>
         [JsonPropertyName("goods_tag")]
         [JsonPropertyName("goods_tag")]
         public string GoodsTag { get; set; }
         public string GoodsTag { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
-        /// 优惠功能
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能
+        /// </remarks>
         [JsonPropertyName("detail")]
         [JsonPropertyName("detail")]
         public Detail Detail { get; set; }
         public Detail Detail { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
+
+        /// <summary>
+        /// 结算信息
+        /// </summary>
+        /// <remarks>
+        /// 结算信息
+        /// </remarks>
+        [JsonPropertyName("settle_info")]
+        public SettleInfo SettleInfo { get; set; }
     }
     }
 }
 }

+ 12 - 9
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsOutTradeNoCloseBodyModel.cs

@@ -3,21 +3,24 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 关单API - 请求JSON参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_3.shtml">JSAPI支付 - 关单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_3.shtml">APP支付 - 关单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_3.shtml">H5支付 - 关单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_3.shtml">Native支付 - 关单API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_3.shtml">小程序 - 关单API</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付 - JSAPI支付、APP支付、H5支付、Native支付、小程序支付 - 关闭订单 - 请求JSON参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_3.shtml">JSAPI支付 - 关单API</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_3.shtml">APP支付 - 关单API</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_3.shtml">H5支付 - 关单API</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_3.shtml">Native支付 - 关单API</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_3.shtml">小程序支付 - 关单API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayTransactionsOutTradeNoCloseBodyModel : WeChatPayObject
     public class WeChatPayTransactionsOutTradeNoCloseBodyModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
     }
     }

+ 12 - 9
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Domain/WeChatPayTransactionsOutTradeNoQueryModel.cs

@@ -3,21 +3,24 @@
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 商户订单号查询 - 请求URL参数
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_2.shtml">JSAPI支付 - 查询订单API - 商户订单号查询</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_2.shtml">APP支付 - 查询订单API - 商户订单号查询</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_2.shtml">H5支付 - 查询订单API - 商户订单号查询</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_2.shtml">Native支付 - 查询订单API - 商户订单号查询</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_2.shtml">小程序支付 - 查询订单API - 商户订单号查询</a></para>
-    /// 最新更新时间:2021.1.14
+    /// 基础支付 - JSAPI支付、APP支付、H5支付、Native支付、小程序支付 - 查询订单 - 商户订单号查询 - 请求URL参数
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_2.shtml">JSAPI支付 - 查询订单API - 商户订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_2.shtml">APP支付 - 查询订单API - 商户订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_2.shtml">H5支付 - 查询订单API - 商户订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_2.shtml">Native支付 - 查询订单API - 商户订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_2.shtml">小程序支付 - 查询订单API - 商户订单号查询</a> - 最新更新时间:2021.1.14</para>
+    /// </remarks>
     public class WeChatPayTransactionsOutTradeNoQueryModel : WeChatPayObject
     public class WeChatPayTransactionsOutTradeNoQueryModel : WeChatPayObject
     {
     {
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
     }
     }

+ 26 - 12
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayCombineTransactionsNotify.cs

@@ -5,53 +5,67 @@ using Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 {
 {
     /// <summary>
     /// <summary>
-    /// 合单支付 - 支付通知API (电商平台、服务商、直连商户)
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_7.shtml">合单支付 - 支付通知API</a></para>
-    /// 最新更新时间:2019.09.10
+    /// 合单支付 - 支付通知
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/combine/chapter3_7.shtml">合单支付 - 支付通知API</a> - 最新更新时间:2019.09.10</para>
+    /// </remarks>
     public class WeChatPayCombineTransactionsNotify : WeChatPayNotify
     public class WeChatPayCombineTransactionsNotify : WeChatPayNotify
     {
     {
+        /// <summary>
         /// 合单商户appid
         /// 合单商户appid
-        /// 合单发起方的appid。
-        /// 示例值:wxd678efh567hg6787
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方的appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("combine_appid")]
         [JsonPropertyName("combine_appid")]
         public string CombineAppId { get; set; }
         public string CombineAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户号
         /// 合单商户号
-        /// 合单发起方商户号。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单发起方商户号。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("combine_mchid")]
         [JsonPropertyName("combine_mchid")]
         public string CombineMchId { get; set; }
         public string CombineMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 合单商户订单号
         /// 合单商户订单号
-        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
-        /// 示例值:P20150806125346
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 合单支付总订单号,要求32个字符内,只能是数字、大小写字母_-|*@ ,且在同一个商户号下唯一 。
+        /// <para>示例值:P20150806125346</para>
+        /// </remarks>
         [JsonPropertyName("combine_out_trade_no")]
         [JsonPropertyName("combine_out_trade_no")]
         public string CombineOutTradeNo { get; set; }
         public string CombineOutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public CombineSceneInfoResponse SceneInfo { get; set; }
         public CombineSceneInfoResponse SceneInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子单信息
         /// 子单信息
-        /// 最多支持子单条数:50
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 最多支持子单条数:50
+        /// </remarks>
         [JsonPropertyName("sub_orders")]
         [JsonPropertyName("sub_orders")]
         public List<CombineSubOrderInfoResponse> SubOrders { get; set; }
         public List<CombineSubOrderInfoResponse> SubOrders { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付者
         /// 支付者
-        /// 支付者信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付者信息
+        /// </remarks>
         [JsonPropertyName("combine_payer_info")]
         [JsonPropertyName("combine_payer_info")]
         public PayerInfo CombinePayerInfo { get; set; }
         public PayerInfo CombinePayerInfo { get; set; }
     }
     }

+ 22 - 8
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayPartnerProfitSharingNotify.cs

@@ -5,56 +5,70 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 {
 {
     /// <summary>
     /// <summary>
     /// 服务商分账 - 分账动账通知
     /// 服务商分账 - 分账动账通知
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=25_9&index=9">服务商分账 - 分账动账通知</a></para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/api/allocation_sl.php?chapter=25_9">服务商分账 - 分账动账通知</a></para>
     /// </summary>
     /// </summary>
     public class WeChatPayPartnerProfitSharingNotify : WeChatPayNotify
     public class WeChatPayPartnerProfitSharingNotify : WeChatPayNotify
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商商户号
         /// 服务商商户号
-        /// 服务商模式分账发起商户
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商模式分账发起商户
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 服务商模式分账出资商户
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商模式分账出资商户
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchid { get; set; }
         public string SubMchid { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信订单号
         /// 微信订单号
-        /// 微信支付订单号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信支付订单号
+        /// </remarks>
         [JsonPropertyName("transaction_id")]
         [JsonPropertyName("transaction_id")]
         public string TransactionId { get; set; }
         public string TransactionId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信分账/回退单号
         /// 微信分账/回退单号
-        /// 微信分账/回退单号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信分账/回退单号
+        /// </remarks>
         [JsonPropertyName("order_id")]
         [JsonPropertyName("order_id")]
         public string OrderId { get; set; }
         public string OrderId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户分账/回退单号
         /// 商户分账/回退单号
-        /// 分账方系统内部的分账/回退单号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 分账方系统内部的分账/回退单号
+        /// </remarks>
         [JsonPropertyName("out_order_no")]
         [JsonPropertyName("out_order_no")]
         public string OutOrderNo { get; set; }
         public string OutOrderNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 分账接收方
         /// 分账接收方
-        /// 分账接收方对象
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 分账接收方对象
+        /// </remarks>
         [JsonPropertyName("receiver")]
         [JsonPropertyName("receiver")]
         public Receiver Receiver { get; set; }
         public Receiver Receiver { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 成功时间
         /// 成功时间
-        /// 成功时间,Rfc3339标准
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 成功时间,Rfc3339标准
+        /// </remarks>
         [JsonPropertyName("success_time")]
         [JsonPropertyName("success_time")]
         public string SuccessTime { get; set; }
         public string SuccessTime { get; set; }
     }
     }

+ 64 - 31
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayPartnerTransactionsNotify.cs

@@ -5,63 +5,78 @@ using Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付(服务商)- 支付通知API
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_11.shtml">支付通知API</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付(服务商)- 支付通知
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter5_11.shtml">支付通知API</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayPartnerTransactionsNotify : WeChatPayNotify
     public class WeChatPayPartnerTransactionsNotify : WeChatPayNotify
     {
     {
         /// <summary>
         /// <summary>
         /// 服务商公众号ID
         /// 服务商公众号ID
-        /// 服务商申请的公众号或移动应用appid。
-        /// 示例值:wx8888888888888888
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商申请的公众号或移动应用appid。
+        /// <para>示例值:wx8888888888888888</para>
+        /// </remarks>
         [JsonPropertyName("sp_appid")]
         [JsonPropertyName("sp_appid")]
         public string SpAppId { get; set; }
         public string SpAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 服务商户号
         /// 服务商户号
-        /// 服务商户号,由微信支付生成并下发
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 服务商户号,由微信支付生成并下发
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("sp_mchid")]
         [JsonPropertyName("sp_mchid")]
         public string SpMchId { get; set; }
         public string SpMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户公众号ID
         /// 子商户公众号ID
-        /// 子商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6999
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6999</para>
+        /// </remarks>
         [JsonPropertyName("sub_appid")]
         [JsonPropertyName("sub_appid")]
         public string SubAppId { get; set; }
         public string SubAppId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 子商户号
         /// 子商户号
-        /// 子商户的商户号,有微信支付生成并下发。
-        /// 示例值:1900000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 子商户的商户号,有微信支付生成并下发。
+        /// <para>示例值:1900000109</para>
+        /// </remarks>
         [JsonPropertyName("sub_mchid")]
         [JsonPropertyName("sub_mchid")]
         public string SubMchId { get; set; }
         public string SubMchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信支付订单号
         /// 微信支付订单号
-        /// 微信支付系统生成的订单号。
-        /// 示例值:1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信支付系统生成的订单号。
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("transaction_id")]
         [JsonPropertyName("transaction_id")]
         public string TransactionId { get; set; }
         public string TransactionId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易类型
         /// 交易类型
+        /// </summary>
+        /// <remarks>
         /// 交易类型,枚举值:
         /// 交易类型,枚举值:
         /// JSAPI:公众号支付
         /// JSAPI:公众号支付
         /// NATIVE:扫码支付
         /// NATIVE:扫码支付
@@ -69,13 +84,15 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// MICROPAY:付款码支付
         /// MICROPAY:付款码支付
         /// MWEB:H5支付
         /// MWEB:H5支付
         /// FACEPAY:刷脸支付
         /// FACEPAY:刷脸支付
-        /// 示例值:MICROPAY
-        /// </summary>
+        /// <para>示例值:MICROPAY</para>
+        /// </remarks>
         [JsonPropertyName("trade_type")]
         [JsonPropertyName("trade_type")]
         public string TradeType { get; set; }
         public string TradeType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易状态
         /// 交易状态
+        /// </summary>
+        /// <remarks>
         /// 交易状态,枚举值:
         /// 交易状态,枚举值:
         /// SUCCESS:支付成功
         /// SUCCESS:支付成功
         /// REFUND:转入退款
         /// REFUND:转入退款
@@ -84,68 +101,84 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// REVOKED:已撤销(付款码支付)
         /// REVOKED:已撤销(付款码支付)
         /// USERPAYING:用户支付中(付款码支付)
         /// USERPAYING:用户支付中(付款码支付)
         /// PAYERROR:支付失败(其他原因,如银行返回失败)
         /// PAYERROR:支付失败(其他原因,如银行返回失败)
-        /// 示例值:SUCCESS
-        /// </summary>
+        /// <para>示例值:SUCCESS</para>
+        /// </remarks>
         [JsonPropertyName("trade_state")]
         [JsonPropertyName("trade_state")]
         public string TradeState { get; set; }
         public string TradeState { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易状态描述
         /// 交易状态描述
-        /// 交易状态描述
-        /// 示例值:支付失败,请重新下单支付
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 交易状态描述
+        /// <para>示例值:支付失败,请重新下单支付</para>
+        /// </remarks>
         [JsonPropertyName("trade_state_desc")]
         [JsonPropertyName("trade_state_desc")]
         public string TradeStateDesc { get; set; }
         public string TradeStateDesc { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 付款银行
         /// 付款银行
-        /// 银行类型,采用字符串类型的银行标识。
-        /// 示例值:CMC
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 银行类型,采用字符串类型的银行标识。
+        /// <para>示例值:CMC</para>
+        /// </remarks>
         [JsonPropertyName("bank_type")]
         [JsonPropertyName("bank_type")]
         public string BankType { get; set; }
         public string BankType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付完成时间
         /// 支付完成时间
-        /// 支付完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("success_time")]
         [JsonPropertyName("success_time")]
         public string SuccessTime { get; set; }
         public string SuccessTime { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付者
         /// 支付者
-        /// 示例值:见请求示例
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// <para>示例值:见请求示例</para>
+        /// </remarks>
         [JsonPropertyName("payer")]
         [JsonPropertyName("payer")]
         public PartnerPayerInfo Payer { get; set; }
         public PartnerPayerInfo Payer { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
-        /// 优惠功能,享受优惠时返回该字段。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能,享受优惠时返回该字段。
+        /// </remarks>
         [JsonPropertyName("promotion_detail")]
         [JsonPropertyName("promotion_detail")]
         public List<PromotionDetail> PromotionDetail { get; set; }
         public List<PromotionDetail> PromotionDetail { get; set; }
     }
     }

+ 18 - 6
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayProfitSharingNotify.cs

@@ -11,43 +11,55 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
     {
     {
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连模式分账发起和出资商户
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连模式分账发起和出资商户
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信订单号
         /// 微信订单号
-        /// 微信支付订单号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信支付订单号
+        /// </remarks>
         [JsonPropertyName("transaction_id")]
         [JsonPropertyName("transaction_id")]
         public string TransactionId { get; set; }
         public string TransactionId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信分账/回退单号
         /// 微信分账/回退单号
-        /// 微信分账/回退单号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信分账/回退单号
+        /// </remarks>
         [JsonPropertyName("order_id")]
         [JsonPropertyName("order_id")]
         public string OrderId { get; set; }
         public string OrderId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户分账/回退单号
         /// 商户分账/回退单号
-        /// 分账方系统内部的分账/回退单号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 分账方系统内部的分账/回退单号
+        /// </remarks>
         [JsonPropertyName("out_order_no")]
         [JsonPropertyName("out_order_no")]
         public string OutOrderNo { get; set; }
         public string OutOrderNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 分账接收方
         /// 分账接收方
-        /// 分账接收方对象
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 分账接收方对象
+        /// </remarks>
         [JsonPropertyName("receiver")]
         [JsonPropertyName("receiver")]
         public Receiver Receiver { get; set; }
         public Receiver Receiver { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 成功时间
         /// 成功时间
-        /// 成功时间,Rfc3339标准
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 成功时间,Rfc3339标准
+        /// </remarks>
         [JsonPropertyName("success_time")]
         [JsonPropertyName("success_time")]
         public string SuccessTime { get; set; }
         public string SuccessTime { get; set; }
     }
     }

+ 43 - 24
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayRefundDomesticRefundsNotify.cs

@@ -4,92 +4,111 @@ using Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 退款结果通知API
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_11.shtml">JSAPI支付 - 退款结果通知API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_11.shtml">APP支付 - 退款结果通知API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_11.shtml">H5支付 - 退款结果通知API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_11.shtml">Native支付 - 退款结果通知API</a></para>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_11.shtml">小程序支付 - 退款结果通知API</a></para>
-    /// 最新更新时间:2021.01.15
+    /// 基础支付 - JSAPI支付、APP支付、H5支付、Native支付、小程序支付 - 退款结果通知
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_11.shtml">JSAPI支付 - 退款结果通知API</a> - 最新更新时间:2021.01.15</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_11.shtml">APP支付 - 退款结果通知API</a> - 最新更新时间:2021.01.15</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_11.shtml">H5支付 - 退款结果通知API</a> - 最新更新时间:2021.01.15</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_11.shtml">Native支付 - 退款结果通知API</a> - 最新更新时间:2021.01.15</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_11.shtml">小程序支付 - 退款结果通知API</a> - 最新更新时间:2021.01.15</para>
+    /// </remarks>
     public class WeChatPayRefundDomesticRefundsNotify : WeChatPayNotify
     public class WeChatPayRefundDomesticRefundsNotify : WeChatPayNotify
     {
     {
         /// <summary>
         /// <summary>
         /// 直连商户号
         /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
-        /// 返回的商户订单号
-        /// 示例值: 1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 返回的商户订单号
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信订单号
         /// 微信订单号
-        /// 微信支付订单号
-        /// 示例值: 1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信支付订单号
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("transaction_id")]
         [JsonPropertyName("transaction_id")]
         public string TransactionId { get; set; }
         public string TransactionId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户退款单号
         /// 商户退款单号
-        /// 商户退款单号
-        /// 示例值: 1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 商户退款单号
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_refund_no")]
         [JsonPropertyName("out_refund_no")]
         public string OutRefundNo { get; set; }
         public string OutRefundNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信退款单号
         /// 微信退款单号
-        /// 微信退款单号
-        /// 示例值: 1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信退款单号
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("refund_id")]
         [JsonPropertyName("refund_id")]
         public string RefundId { get; set; }
         public string RefundId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款状态
         /// 退款状态
+        /// </summary>
+        /// <remarks>
         /// 退款状态,枚举值:
         /// 退款状态,枚举值:
         /// SUCCESS:退款成功
         /// SUCCESS:退款成功
         /// CLOSE:退款关闭
         /// CLOSE:退款关闭
         /// ABNORMAL:退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往【服务商平台—>交易中心】,手动处理此笔退款
         /// ABNORMAL:退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往【服务商平台—>交易中心】,手动处理此笔退款
-        /// 示例值:SUCCESS
-        /// </summary>
+        /// <para>示例值:SUCCESS</para>
+        /// </remarks>
         [JsonPropertyName("refund_status")]
         [JsonPropertyName("refund_status")]
         public string RefundStatus { get; set; }
         public string RefundStatus { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款成功时间
         /// 退款成功时间
+        /// </summary>
+        /// <remarks>
         /// 1、退款成功时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
         /// 1、退款成功时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日13点29分35秒。
         /// 2、当退款状态为退款成功时返回此参数。
         /// 2、当退款状态为退款成功时返回此参数。
-        /// 示例值:2018-06-08T10:34:56+08:00
-        /// </summary>
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("success_time")]
         [JsonPropertyName("success_time")]
         public string SuccessTime { get; set; }
         public string SuccessTime { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 退款入账账户
         /// 退款入账账户
+        /// </summary>
+        /// <remarks>
         /// 取当前退款单的退款入账方。
         /// 取当前退款单的退款入账方。
         /// 1、退回银行卡:{银行名称}{卡类型}{卡尾号}
         /// 1、退回银行卡:{银行名称}{卡类型}{卡尾号}
         /// 2、退回支付用户零钱: 支付用户零钱
         /// 2、退回支付用户零钱: 支付用户零钱
         /// 3、退还商户: 商户基本账户、商户结算银行账户
         /// 3、退还商户: 商户基本账户、商户结算银行账户
         /// 4、退回支付用户零钱通:支付用户零钱通
         /// 4、退回支付用户零钱通:支付用户零钱通
-        /// 示例值:招商银行信用卡0403
-        /// </summary>
+        /// <para>示例值:招商银行信用卡0403</para>
+        /// </remarks>
         [JsonPropertyName("user_received_account")]
         [JsonPropertyName("user_received_account")]
         public string UserReceivedAccount { get; set; }
         public string UserReceivedAccount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 金额信息
         /// 金额信息
-        /// 金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public RefundNotifyAmount Amount { get; set; }
         public RefundNotifyAmount Amount { get; set; }
     }
     }

+ 13 - 13
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayScoreUserConfirmNotify.cs

@@ -8,7 +8,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
     /// 微信支付分 - 确认订单回调通知
     /// 微信支付分 - 确认订单回调通知
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_21.shtml">确认订单回调通知API</a> - 最新更新时间:2020.03.05</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_21.shtml">微信支付分 - 确认订单回调通知API</a> - 最新更新时间:2020.03.05</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreUserConfirmNotify : WeChatPayNotify
     public class WeChatPayScoreUserConfirmNotify : WeChatPayNotify
     {
     {
@@ -17,7 +17,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用授权服务接口提交的公众账号ID。
         /// 调用授权服务接口提交的公众账号ID。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -27,7 +27,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用授权服务接口提交的商户号。
         /// 调用授权服务接口提交的商户号。
-        /// 示例值:1230000109
+        /// <para>示例值:1230000109</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
@@ -37,7 +37,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用接口提交的商户服务订单号。
         /// 调用接口提交的商户服务订单号。
-        /// 示例值:1234323JKHDFE1243252
+        /// <para>示例值:1234323JKHDFE1243252</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("out_order_no")]
         [JsonPropertyName("out_order_no")]
         public string OutOrderNo { get; set; }
         public string OutOrderNo { get; set; }
@@ -47,7 +47,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用授权服务接口提交的服务ID。
         /// 调用授权服务接口提交的服务ID。
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -57,7 +57,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信用户在商户对应appid下的唯一标识。
         /// 微信用户在商户对应appid下的唯一标识。
-        /// 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
+        /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("openid")]
         [JsonPropertyName("openid")]
         public string OpenId { get; set; }
         public string OpenId { get; set; }
@@ -69,7 +69,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// 表示当前单据状态。
         /// 表示当前单据状态。
         /// 枚举值:
         /// 枚举值:
         /// 1、DOING:服务订单进行中
         /// 1、DOING:服务订单进行中
-        /// 示例值:DOING
+        /// <para>示例值:DOING</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("state")]
         [JsonPropertyName("state")]
         public string State { get; set; }
         public string State { get; set; }
@@ -80,7 +80,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// <remarks>
         /// <remarks>
         /// 对服务订单"进行中"状态的附加说明。
         /// 对服务订单"进行中"状态的附加说明。
         /// 1、USER_CONFIRM:用户确认
         /// 1、USER_CONFIRM:用户确认
-        /// 示例值:USER_CONFIRM
+        /// <para>示例值:USER_CONFIRM</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("state_description")]
         [JsonPropertyName("state_description")]
         public string StateDescription { get; set; }
         public string StateDescription { get; set; }
@@ -91,7 +91,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// <remarks>
         /// <remarks>
         /// 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额。
         /// 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额。
         /// 此参数需满足:总金额=后付费项目金额之和-后付费商户优惠项目金额之和,且小于等于订单风险金额。取消订单时,该字段必须为0。
         /// 此参数需满足:总金额=后付费项目金额之和-后付费商户优惠项目金额之和,且小于等于订单风险金额。取消订单时,该字段必须为0。
-        /// 示例值:40000
+        /// <para>示例值:40000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("total_amount")]
         [JsonPropertyName("total_amount")]
         public long? TotalAmount { get; set; }
         public long? TotalAmount { get; set; }
@@ -102,7 +102,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// <remarks>
         /// <remarks>
         /// 服务信息,用于介绍本订单所提供的服务
         /// 服务信息,用于介绍本订单所提供的服务
         /// 不超过20个字符,超出报错处理。
         /// 不超过20个字符,超出报错处理。
-        /// 示例值:嗨客餐厅用餐
+        /// <para>示例值:嗨客餐厅用餐</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_introduction")]
         [JsonPropertyName("service_introduction")]
         public string ServiceIntroduction { get; set; }
         public string ServiceIntroduction { get; set; }
@@ -158,7 +158,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// <remarks>
         /// <remarks>
         /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。
         /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。
         /// 当商户数据包总长度超出256字符时,报错处理。
         /// 当商户数据包总长度超出256字符时,报错处理。
-        /// 示例值:attach
+        /// <para>示例值:attach</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
@@ -168,7 +168,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应。
         /// 微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应。
-        /// 示例值:15646546545165651651
+        /// <para>示例值:15646546545165651651</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("order_id")]
         [JsonPropertyName("order_id")]
         public string OrderId { get; set; }
         public string OrderId { get; set; }
@@ -180,7 +180,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// 是否需要收款。
         /// 是否需要收款。
         /// true:微信支付分代收款
         /// true:微信支付分代收款
         /// false:无需微信支付分代收款
         /// false:无需微信支付分代收款
-        /// 示例值:true
+        /// <para>示例值:true</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("need_collection")]
         [JsonPropertyName("need_collection")]
         public bool NeedCollection { get; set; }
         public bool NeedCollection { get; set; }

+ 9 - 9
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayScoreUserOpenOrCloseNotify.cs

@@ -6,7 +6,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
     /// 微信支付分 - 开启/解除授权服务回调通知
     /// 微信支付分 - 开启/解除授权服务回调通知
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_10.shtml">开启/解除授权服务回调通知API</a> - 最新更新时间:2020.07.24</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_10.shtml">微信支付分 - 开启/解除授权服务回调通知API</a> - 最新更新时间:2020.07.24</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreUserOpenOrCloseNotify : WeChatPayNotify
     public class WeChatPayScoreUserOpenOrCloseNotify : WeChatPayNotify
     {
     {
@@ -15,7 +15,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用授权服务接口提交的公众账号ID。
         /// 调用授权服务接口提交的公众账号ID。
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -25,7 +25,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用授权服务接口提交的商户号。
         /// 调用授权服务接口提交的商户号。
-        /// 示例值:1230000109
+        /// <para>示例值:1230000109</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
@@ -35,7 +35,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用授权服务接口提交的商户请求唯一标识(新签约的用户,且在授权签约中上传了该字段,则在解约授权回调通知中有返回)。
         /// 调用授权服务接口提交的商户请求唯一标识(新签约的用户,且在授权签约中上传了该字段,则在解约授权回调通知中有返回)。
-        /// 示例值:1234323JKHDFE1243252
+        /// <para>示例值:1234323JKHDFE1243252</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("out_request_no")]
         [JsonPropertyName("out_request_no")]
         public string OutRequestNo { get; set; }
         public string OutRequestNo { get; set; }
@@ -45,7 +45,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用授权服务接口提交的服务ID。
         /// 调用授权服务接口提交的服务ID。
-        /// 示例值:1234323JKHDFE1243252
+        /// <para>示例值:1234323JKHDFE1243252</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -55,7 +55,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信用户在商户对应appid下的唯一标识。
         /// 微信用户在商户对应appid下的唯一标识。
-        /// 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
+        /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("openid")]
         [JsonPropertyName("openid")]
         public string OpenId { get; set; }
         public string OpenId { get; set; }
@@ -66,7 +66,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// <remarks>
         /// <remarks>
         /// 1、USER_OPEN_SERVICE:授权成功 
         /// 1、USER_OPEN_SERVICE:授权成功 
         /// 2、USER_CLOSE_SERVICE:解除授权成功
         /// 2、USER_CLOSE_SERVICE:解除授权成功
-        /// 示例值:USER_OPEN_SERVICE
+        /// <para>示例值:USER_OPEN_SERVICE</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("user_service_status")]
         [JsonPropertyName("user_service_status")]
         public string UserServiceStatus { get; set; }
         public string UserServiceStatus { get; set; }
@@ -76,7 +76,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 服务开启/解除授权成功时间。
         /// 服务开启/解除授权成功时间。
-        /// 示例值:20180225112233
+        /// <para>示例值:20180225112233</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("openorclose_time")]
         [JsonPropertyName("openorclose_time")]
         public string OpenOrCloseTime { get; set; }
         public string OpenOrCloseTime { get; set; }
@@ -86,7 +86,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 授权协议号,预授权时返回,非预授权不返回
         /// 授权协议号,预授权时返回,非预授权不返回
-        /// 示例值:1275342195190894594
+        /// <para>示例值:1275342195190894594</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("authorization_code")]
         [JsonPropertyName("authorization_code")]
         public string AuthorizationCode { get; set; }
         public string AuthorizationCode { get; set; }

+ 14 - 14
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayScoreUserPaidNotify.cs

@@ -8,7 +8,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
     /// 微信支付分 - 支付成功回调通知
     /// 微信支付分 - 支付成功回调通知
     /// </summary>
     /// </summary>
     /// <remarks>
     /// <remarks>
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter6_1_22.shtml">微信支付分 - 支付成功回调通知API</a> - 最新更新时间:2020.05.25</para>
     /// </remarks>
     /// </remarks>
     public class WeChatPayScoreUserPaidNotify : WeChatPayNotify
     public class WeChatPayScoreUserPaidNotify : WeChatPayNotify
     {
     {
@@ -17,7 +17,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用接口提交的公众账号ID
         /// 调用接口提交的公众账号ID
-        /// 示例值:wxd678efh567hg6787
+        /// <para>示例值:wxd678efh567hg6787</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
@@ -27,7 +27,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用接口提交的商户号
         /// 调用接口提交的商户号
-        /// 示例值:1230000109
+        /// <para>示例值:1230000109</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
@@ -37,7 +37,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用接口提交的商户服务订单号
         /// 调用接口提交的商户服务订单号
-        /// 示例值:1234323JKHDFE1243252
+        /// <para>示例值:1234323JKHDFE1243252</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("out_order_no")]
         [JsonPropertyName("out_order_no")]
         public string OutOrderNo { get; set; }
         public string OutOrderNo { get; set; }
@@ -47,7 +47,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 调用该接口提交的服务ID
         /// 调用该接口提交的服务ID
-        /// 示例值:500001
+        /// <para>示例值:500001</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_id")]
         [JsonPropertyName("service_id")]
         public string ServiceId { get; set; }
         public string ServiceId { get; set; }
@@ -57,7 +57,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信用户在商户对应appid下的唯一标识。
         /// 微信用户在商户对应appid下的唯一标识。
-        /// 示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o
+        /// <para>示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("openid")]
         [JsonPropertyName("openid")]
         public string OpenId { get; set; }
         public string OpenId { get; set; }
@@ -69,7 +69,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// 表示当前单据状态。
         /// 表示当前单据状态。
         /// 枚举值:
         /// 枚举值:
         /// 1、DOING:服务订单进行中
         /// 1、DOING:服务订单进行中
-        /// 示例值:DOING
+        /// <para>示例值:DOING</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("state")]
         [JsonPropertyName("state")]
         public string State { get; set; }
         public string State { get; set; }
@@ -81,7 +81,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// 对服务订单"进行中"状态的附加说明:
         /// 对服务订单"进行中"状态的附加说明:
         /// USER_CONFIRM:用户确认
         /// USER_CONFIRM:用户确认
         ///  MCH_COMPLETE:商户完结
         ///  MCH_COMPLETE:商户完结
-        /// 示例值:MCH_COMPLETE
+        /// <para>示例值:MCH_COMPLETE</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("state_description")]
         [JsonPropertyName("state_description")]
         public string StateDescription { get; set; }
         public string StateDescription { get; set; }
@@ -92,7 +92,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// <remarks>
         /// <remarks>
         /// 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额。
         /// 总金额,大于等于0的数字,单位为分,只能为整数,详见支付金额。
         /// 此参数需满足:总金额=后付费项目金额之和-后付费商户优惠项目金额之和,且小于等于订单风险金额。取消订单时,该字段必须为0。
         /// 此参数需满足:总金额=后付费项目金额之和-后付费商户优惠项目金额之和,且小于等于订单风险金额。取消订单时,该字段必须为0。
-        /// 示例值:40000
+        /// <para>示例值:40000</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("total_amount")]
         [JsonPropertyName("total_amount")]
         public long? TotalAmount { get; set; }
         public long? TotalAmount { get; set; }
@@ -103,7 +103,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// <remarks>
         /// <remarks>
         /// 服务信息,用于介绍本订单所提供的服务
         /// 服务信息,用于介绍本订单所提供的服务
         /// 不超过20个字符,超出报错处理。
         /// 不超过20个字符,超出报错处理。
-        /// 示例值:嗨客餐厅用餐
+        /// <para>示例值:嗨客餐厅用餐</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("service_introduction")]
         [JsonPropertyName("service_introduction")]
         public string ServiceIntroduction { get; set; }
         public string ServiceIntroduction { get; set; }
@@ -159,7 +159,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// <remarks>
         /// <remarks>
         /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。
         /// 商户数据包可存放本订单所需信息,需要先urlencode后传入。
         /// 当商户数据包总长度超出256字符时,报错处理。
         /// 当商户数据包总长度超出256字符时,报错处理。
-        /// 示例值:attach
+        /// <para>示例值:attach</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
@@ -169,7 +169,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 商户接收用户确认订单和付款成功回调通知的地址。
         /// 商户接收用户确认订单和付款成功回调通知的地址。
-        /// 示例值:https://api.test.com
+        /// <para>示例值:https://api.test.com</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("notify_url")]
         [JsonPropertyName("notify_url")]
         public string NotifyUrl { get; set; }
         public string NotifyUrl { get; set; }
@@ -179,7 +179,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// </summary>
         /// </summary>
         /// <remarks>
         /// <remarks>
         /// 微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应。
         /// 微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应。
-        /// 示例值:15646546545165651651
+        /// <para>示例值:15646546545165651651</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("order_id")]
         [JsonPropertyName("order_id")]
         public string OrderId { get; set; }
         public string OrderId { get; set; }
@@ -191,7 +191,7 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// 是否需要收款,非0元完结后返回
         /// 是否需要收款,非0元完结后返回
         /// true:微信支付分代收款
         /// true:微信支付分代收款
         /// false:无需微信支付分代收款
         /// false:无需微信支付分代收款
-        /// 示例值:true
+        /// <para>示例值:true</para>
         /// </remarks>
         /// </remarks>
         [JsonPropertyName("need_collection")]
         [JsonPropertyName("need_collection")]
         public bool NeedCollection { get; set; }
         public bool NeedCollection { get; set; }

+ 62 - 29
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Notify/WeChatPayTransactionsNotify.cs

@@ -5,47 +5,62 @@ using Essensoft.AspNetCore.Payment.WeChatPay.V3.Domain;
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
 {
 {
     /// <summary>
     /// <summary>
-    /// 基础支付 - 支付通知API
-    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pay/transactions/chapter3_11.shtml">基础支付 - 支付通知API</a></para>
-    /// 最新更新时间:2020.05.26
+    /// 基础支付 - JSAPI支付、APP支付、H5支付、Native支付、小程序支付 - 支付结果通知
     /// </summary>
     /// </summary>
+    /// <remarks>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_5.shtml">JSAPI支付 - 支付结果通知</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_2_5.shtml">APP支付 - 支付结果通知</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_3_5.shtml">H5支付 - 支付结果通知</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_5.shtml">Native支付 - 支付结果通知</a> - 最新更新时间:2020.05.26</para>
+    /// <para><a href="https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_5.shtml">小程序支付 - 支付结果通知</a> - 最新更新时间:2020.05.26</para>
+    /// </remarks>
     public class WeChatPayTransactionsNotify : WeChatPayNotify
     public class WeChatPayTransactionsNotify : WeChatPayNotify
     {
     {
         /// <summary>
         /// <summary>
-        /// 公众号ID
-        /// 直连商户申请的公众号或移动应用appid。
-        /// 示例值:wxd678efh567hg6787
+        /// 应用ID
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户申请的公众号或移动应用appid。
+        /// <para>示例值:wxd678efh567hg6787</para>
+        /// </remarks>
         [JsonPropertyName("appid")]
         [JsonPropertyName("appid")]
         public string AppId { get; set; }
         public string AppId { get; set; }
 
 
         /// <summary>
         /// <summary>
-        /// 直连商户号
-        /// 直连商户的商户号,由微信支付生成并下发。
-        /// 示例值:1230000109
+        /// 商户号
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 直连商户的商户号,由微信支付生成并下发。
+        /// <para>示例值:1230000109</para>
+        /// </remarks>
         [JsonPropertyName("mchid")]
         [JsonPropertyName("mchid")]
         public string MchId { get; set; }
         public string MchId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 商户订单号
         /// 商户订单号
+        /// </summary>
+        /// <remarks>
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一,详见【商户订单号】。
         /// 特殊规则:最小字符长度为6
         /// 特殊规则:最小字符长度为6
-        /// 示例值:1217752501201407033233368018
-        /// </summary>
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("out_trade_no")]
         [JsonPropertyName("out_trade_no")]
         public string OutTradeNo { get; set; }
         public string OutTradeNo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 微信支付订单号
         /// 微信支付订单号
-        /// 微信支付系统生成的订单号。
-        /// 示例值:1217752501201407033233368018
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 微信支付系统生成的订单号。
+        /// <para>示例值:1217752501201407033233368018</para>
+        /// </remarks>
         [JsonPropertyName("transaction_id")]
         [JsonPropertyName("transaction_id")]
         public string TransactionId { get; set; }
         public string TransactionId { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易类型
         /// 交易类型
+        /// </summary>
+        /// <remarks>
         /// 交易类型,枚举值:
         /// 交易类型,枚举值:
         /// JSAPI:公众号支付
         /// JSAPI:公众号支付
         /// NATIVE:扫码支付
         /// NATIVE:扫码支付
@@ -53,13 +68,15 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// MICROPAY:付款码支付
         /// MICROPAY:付款码支付
         /// MWEB:H5支付
         /// MWEB:H5支付
         /// FACEPAY:刷脸支付
         /// FACEPAY:刷脸支付
-        /// 示例值:MICROPAY
-        /// </summary>
+        /// <para>示例值:MICROPAY</para>
+        /// </remarks>
         [JsonPropertyName("trade_type")]
         [JsonPropertyName("trade_type")]
         public string TradeType { get; set; }
         public string TradeType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易状态
         /// 交易状态
+        /// </summary>
+        /// <remarks>
         /// 交易状态,枚举值:
         /// 交易状态,枚举值:
         /// SUCCESS:支付成功
         /// SUCCESS:支付成功
         /// REFUND:转入退款
         /// REFUND:转入退款
@@ -68,68 +85,84 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Notify
         /// REVOKED:已撤销(付款码支付)
         /// REVOKED:已撤销(付款码支付)
         /// USERPAYING:用户支付中(付款码支付)
         /// USERPAYING:用户支付中(付款码支付)
         /// PAYERROR:支付失败(其他原因,如银行返回失败)
         /// PAYERROR:支付失败(其他原因,如银行返回失败)
-        /// 示例值:SUCCESS
-        /// </summary>
+        /// <para>示例值:SUCCESS</para>
+        /// </remarks>
         [JsonPropertyName("trade_state")]
         [JsonPropertyName("trade_state")]
         public string TradeState { get; set; }
         public string TradeState { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 交易状态描述
         /// 交易状态描述
-        /// 交易状态描述
-        /// 示例值:支付失败,请重新下单支付
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 交易状态描述
+        /// <para>示例值:支付失败,请重新下单支付</para>
+        /// </remarks>
         [JsonPropertyName("trade_state_desc")]
         [JsonPropertyName("trade_state_desc")]
         public string TradeStateDesc { get; set; }
         public string TradeStateDesc { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 付款银行
         /// 付款银行
-        /// 银行类型,采用字符串类型的银行标识。
-        /// 示例值:CMC
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 银行类型,采用字符串类型的银行标识。
+        /// <para>示例值:CMC</para>
+        /// </remarks>
         [JsonPropertyName("bank_type")]
         [JsonPropertyName("bank_type")]
         public string BankType { get; set; }
         public string BankType { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 附加数据
         /// 附加数据
-        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
-        /// 示例值:自定义数据
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用
+        /// <para>示例值:自定义数据</para>
+        /// </remarks>
         [JsonPropertyName("attach")]
         [JsonPropertyName("attach")]
         public string Attach { get; set; }
         public string Attach { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付完成时间
         /// 支付完成时间
-        /// 支付完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
-        /// 示例值:2018-06-08T10:34:56+08:00
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付完成时间,遵循rfc3339标准格式,格式为YYYY-MM-DDTHH:mm:ss+TIMEZONE,YYYY-MM-DD表示年月日,T出现在字符串中,表示time元素的开头,HH:mm:ss表示时分秒,TIMEZONE表示时区(+08:00表示东八区时间,领先UTC 8小时,即北京时间)。例如:2015-05-20T13:29:35+08:00表示,北京时间2015年5月20日 13点29分35秒。
+        /// <para>示例值:2018-06-08T10:34:56+08:00</para>
+        /// </remarks>
         [JsonPropertyName("success_time")]
         [JsonPropertyName("success_time")]
         public string SuccessTime { get; set; }
         public string SuccessTime { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 支付者
         /// 支付者
-        /// 示例值:见请求示例
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// <para>示例值:见请求示例</para>
+        /// </remarks>
         [JsonPropertyName("payer")]
         [JsonPropertyName("payer")]
         public PayerInfo Payer { get; set; }
         public PayerInfo Payer { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 订单金额
         /// 订单金额
-        /// 订单金额信息
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 订单金额信息
+        /// </remarks>
         [JsonPropertyName("amount")]
         [JsonPropertyName("amount")]
         public Amount Amount { get; set; }
         public Amount Amount { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 场景信息
         /// 场景信息
-        /// 支付场景描述
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 支付场景描述
+        /// </remarks>
         [JsonPropertyName("scene_info")]
         [JsonPropertyName("scene_info")]
         public SceneInfo SceneInfo { get; set; }
         public SceneInfo SceneInfo { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 优惠功能
         /// 优惠功能
-        /// 优惠功能,享受优惠时返回该字段。
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// 优惠功能,享受优惠时返回该字段。
+        /// </remarks>
         [JsonPropertyName("promotion_detail")]
         [JsonPropertyName("promotion_detail")]
         public List<PromotionDetail> PromotionDetail { get; set; }
         public List<PromotionDetail> PromotionDetail { get; set; }
     }
     }

+ 3 - 1
src/Essensoft.AspNetCore.Payment.WeChatPay/V3/Parser/WeChatPayNotifyJsonParser.cs

@@ -12,8 +12,10 @@ namespace Essensoft.AspNetCore.Payment.WeChatPay.V3.Parser
 
 
         /// <summary>
         /// <summary>
         /// 将加密报文解密并反序列化
         /// 将加密报文解密并反序列化
-        /// https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_2.shtml
         /// </summary>
         /// </summary>
+        /// <remarks>
+        /// <a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_2.shtml">证书和回调报文解密</a>
+        /// </remarks>
         public T Parse(string body, string v3Key)
         public T Parse(string body, string v3Key)
         {
         {
             T result = null;
             T result = null;

Some files were not shown because too many files changed in this diff