using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; namespace PaySharp.Alipay.Domain { [JsonObject(NamingStrategyType = typeof(SnakeCaseNamingStrategy))] public class VoucherDetail { /// /// 券编号 /// [StringLength(32, ErrorMessage = "券编号最大长度为32位")] [Required(ErrorMessage = "请设置券编号")] public string Id { get; set; } /// /// 券名称 /// [StringLength(64, ErrorMessage = "券名称最大长度为64位")] [Required(ErrorMessage = "请设置券名称")] public string Name { get; set; } /// /// 券类型 /// 当前有三种类型: ALIPAY_FIX_VOUCHER - 全场代金券 ALIPAY_DISCOUNT_VOUCHER - 折扣券 ALIPAY_ITEM_VOUCHER - 单品优惠 注:不排除将来新增其他类型的可能,商家接入时注意兼容性避免硬编码 /// [StringLength(32, ErrorMessage = "优惠券类型最大长度为32位")] [Required(ErrorMessage = "请设置优惠券类型")] public string Type { get; set; } /// /// 优惠券面额,它应该会等于商家出资加上其他出资方出资 /// public double Amount { get; set; } /// /// 商家出资(特指发起交易的商家出资金额) /// public double? MerchantContribute { get; set; } /// /// 其他出资方出资金额,可能是支付宝,可能是品牌商,或者其他方,也可能是他们的一起出资 /// public double? OtherContribute { get; set; } /// /// 优惠券备注信息 /// [StringLength(256, ErrorMessage = "优惠券备注信息最大长度为256位")] public string Memo { get; set; } /// /// 券模板编号 /// [StringLength(64, ErrorMessage = "券模板编号最大长度为64位")] public string TemplateId { get; set; } /// /// 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时平台优惠的金额 /// public double PurchaseAntContribute { get; set; } /// /// 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时用户实际付款的金额 /// public double PurchaseBuyerContribute { get; set; } /// /// 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时商户优惠的金额 /// public double PurchaseMerchantContribute { get; set; } } }