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; }
}
}