TransferQueryModel.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Collections.Generic;
  2. using System.ComponentModel.DataAnnotations;
  3. using Newtonsoft.Json;
  4. using Newtonsoft.Json.Serialization;
  5. namespace PaySharp.Alipay.Domain
  6. {
  7. [JsonObject(NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
  8. public class TransferQueryModel : IValidatableObject
  9. {
  10. /// <summary>
  11. /// 商户转账唯一订单号:发起转账来源方定义的转账单据ID。
  12. /// 和支付宝转账单据号不能同时为空。当和支付宝转账单据号同时提供时,将用支付宝转账单据号进行查询,忽略本参数
  13. /// </summary>
  14. [StringLength(64, ErrorMessage = "商户转账唯一订单号最大长度为64位")]
  15. [JsonProperty("out_biz_no")]
  16. public string OutTradeNo { get; set; }
  17. /// <summary>
  18. /// 支付宝转账单据号:和商户转账唯一订单号不能同时为空。当和商户转账唯一订单号同时提供时,将用本参数进行查询,忽略商户转账唯一订单号。
  19. /// </summary>
  20. [StringLength(64, ErrorMessage = "支付宝转账单据号最大长度为64位")]
  21. [JsonProperty("order_id")]
  22. public string TradeNo { get; set; }
  23. public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
  24. {
  25. if (string.IsNullOrEmpty(OutTradeNo) && string.IsNullOrEmpty(TradeNo))
  26. {
  27. yield return new ValidationResult("商户转账唯一订单号和支付宝转账单据号不能同时为空");
  28. }
  29. yield return ValidationResult.Success;
  30. }
  31. }
  32. }