ScanPayModel.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.ComponentModel.DataAnnotations;
  2. using PaySharp.Core;
  3. using PaySharp.Core.Utils;
  4. namespace PaySharp.Wechatpay.Domain
  5. {
  6. public class ScanPayModel : BasePayModel
  7. {
  8. public ScanPayModel()
  9. {
  10. TradeType = "NATIVE";
  11. }
  12. /// <summary>
  13. /// 交易类型
  14. /// </summary>
  15. public string TradeType { get; private set; }
  16. /// <summary>
  17. /// 机器IP
  18. /// </summary>
  19. [Required(ErrorMessage = "请设置机器IP")]
  20. [StringLength(16, ErrorMessage = "机器IP最大长度为16位")]
  21. public string SpbillCreateIp { get; set; } = HttpUtil.LocalIpAddress;
  22. /// <summary>
  23. /// 商品ID
  24. /// </summary>
  25. [StringLength(32, ErrorMessage = "商品ID最大长度为32位")]
  26. public string ProductId { get; set; }
  27. /// <summary>
  28. /// 用户标识,此参数为微信用户在商户对应appid下的唯一标识。
  29. /// </summary>
  30. [ReName(Name = "openid")]
  31. public string OpenId { get; set; }
  32. /// <summary>
  33. /// 场景信息,该字段用于上报场景信息,目前支持上报实际门店信息。该字段为JSON对象数据,对象格式为{"store_info":{"id": "门店ID","name": "名称","area_code": "编码","address": "地址" }}
  34. /// </summary>
  35. [StringLength(256, ErrorMessage = "场景信息最大长度为256位")]
  36. public string SceneInfo { get; set; }
  37. }
  38. }