using System.ComponentModel.DataAnnotations; using PaySharp.Core; using PaySharp.Core.Utils; namespace PaySharp.Wechatpay.Domain { public class ScanPayModel : BasePayModel { public ScanPayModel() { TradeType = "NATIVE"; } /// /// 交易类型 /// public string TradeType { get; private set; } /// /// 机器IP /// [Required(ErrorMessage = "请设置机器IP")] [StringLength(16, ErrorMessage = "机器IP最大长度为16位")] public string SpbillCreateIp { get; set; } = HttpUtil.LocalIpAddress; /// /// 商品ID /// [StringLength(32, ErrorMessage = "商品ID最大长度为32位")] public string ProductId { get; set; } /// /// 用户标识,此参数为微信用户在商户对应appid下的唯一标识。 /// [ReName(Name = "openid")] public string OpenId { get; set; } /// /// 场景信息,该字段用于上报场景信息,目前支持上报实际门店信息。该字段为JSON对象数据,对象格式为{"store_info":{"id": "门店ID","name": "名称","area_code": "编码","address": "地址" }} /// [StringLength(256, ErrorMessage = "场景信息最大长度为256位")] public string SceneInfo { get; set; } } }