VoucherDetail.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System.ComponentModel.DataAnnotations;
  2. using Newtonsoft.Json;
  3. using Newtonsoft.Json.Serialization;
  4. namespace PaySharp.Alipay.Domain
  5. {
  6. [JsonObject(NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
  7. public class VoucherDetail
  8. {
  9. /// <summary>
  10. /// 券编号
  11. /// </summary>
  12. [StringLength(32, ErrorMessage = "券编号最大长度为32位")]
  13. [Required(ErrorMessage = "请设置券编号")]
  14. public string Id { get; set; }
  15. /// <summary>
  16. /// 券名称
  17. /// </summary>
  18. [StringLength(64, ErrorMessage = "券名称最大长度为64位")]
  19. [Required(ErrorMessage = "请设置券名称")]
  20. public string Name { get; set; }
  21. /// <summary>
  22. /// 券类型
  23. /// 当前有三种类型: ALIPAY_FIX_VOUCHER - 全场代金券 ALIPAY_DISCOUNT_VOUCHER - 折扣券 ALIPAY_ITEM_VOUCHER - 单品优惠 注:不排除将来新增其他类型的可能,商家接入时注意兼容性避免硬编码
  24. /// </summary>
  25. [StringLength(32, ErrorMessage = "优惠券类型最大长度为32位")]
  26. [Required(ErrorMessage = "请设置优惠券类型")]
  27. public string Type { get; set; }
  28. /// <summary>
  29. /// 优惠券面额,它应该会等于商家出资加上其他出资方出资
  30. /// </summary>
  31. public double Amount { get; set; }
  32. /// <summary>
  33. /// 商家出资(特指发起交易的商家出资金额)
  34. /// </summary>
  35. public double? MerchantContribute { get; set; }
  36. /// <summary>
  37. /// 其他出资方出资金额,可能是支付宝,可能是品牌商,或者其他方,也可能是他们的一起出资
  38. /// </summary>
  39. public double? OtherContribute { get; set; }
  40. /// <summary>
  41. /// 优惠券备注信息
  42. /// </summary>
  43. [StringLength(256, ErrorMessage = "优惠券备注信息最大长度为256位")]
  44. public string Memo { get; set; }
  45. /// <summary>
  46. /// 券模板编号
  47. /// </summary>
  48. [StringLength(64, ErrorMessage = "券模板编号最大长度为64位")]
  49. public string TemplateId { get; set; }
  50. /// <summary>
  51. /// 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时平台优惠的金额
  52. /// </summary>
  53. public double PurchaseAntContribute { get; set; }
  54. /// <summary>
  55. /// 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时用户实际付款的金额
  56. /// </summary>
  57. public double PurchaseBuyerContribute { get; set; }
  58. /// <summary>
  59. /// 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时商户优惠的金额
  60. /// </summary>
  61. public double PurchaseMerchantContribute { get; set; }
  62. }
  63. }