WxPayConfig.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Security.Cryptography.X509Certificates;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Xml.Serialization;
  9. namespace WayneCloud.Models.Models
  10. {
  11. public class WxPayConfig
  12. {
  13. //=======【基本信息设置】=====================================
  14. /* 微信公众号信息配置
  15. * APPID:绑定支付的APPID(必须配置)
  16. * SUBAPPID: 子商户的APPID
  17. * MCHID:商户号(必须配置)
  18. * SUBMCHID:子商户号
  19. * KEY:商户支付密钥,参考开户邮件设置(必须配置)
  20. * APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置)
  21. */
  22. public string APPID { get; set; }
  23. public string SUBAPPID { get; set; }
  24. public string MCHID { get; set; }
  25. public string SUBMCHID { get; set; }
  26. public string KEY { get; set; }
  27. public string APPSECRET { get; set; }
  28. //=======【证书设置】=====================================
  29. /* 证书文件名(仅退款、撤销订单时需要)
  30. */
  31. public string SSLCERT { get; set; }
  32. public string SSLCERT_PASSWORD { get; set; }
  33. //=======【支付结果通知url】=====================================
  34. /* 支付结果通知回调url,用于商户接收支付结果
  35. */
  36. public string NOTIFY_URL { get; set; }
  37. //=======【商户系统后台机器IP】=====================================
  38. /* 此参数可手动配置也可在程序中自动获取
  39. */
  40. public string IP { get; set; }
  41. //=======【代理服务器设置】===================================
  42. /* 默认IP和端口号分别为0.0.0.0和0,此时不开启代理(如有需要才设置)
  43. */
  44. public string PROXY_URL { get; set; }
  45. //=======【上报信息配置】===================================
  46. /* 测速上报等级,0.关闭上报; 1.仅错误时上报; 2.全量上报
  47. */
  48. public int REPORT_LEVENL { get; set; }
  49. public string MINI_PROGRAM_APPID { get; set; }
  50. public static WxPayConfig DeserializeFromXmlString(string xmlString)
  51. {
  52. using (StringReader reader = new StringReader(xmlString))
  53. {
  54. XmlSerializer serializer = new XmlSerializer(typeof(WxPayConfig));
  55. return (WxPayConfig)serializer.Deserialize(reader);
  56. }
  57. }
  58. }
  59. public class WxPayConfigInfo
  60. {
  61. public WxPayConfig Config { get; set; }
  62. public string HashValue { get; set; }
  63. }
  64. public class WxPayCertificationInfo
  65. {
  66. public X509Certificate2 Certification { get; set; }
  67. public string HashValue { get; set; }
  68. }
  69. public class WxPayConfigAndCertification
  70. {
  71. public WxPayConfigInfo ConfigInfo { get; set; }
  72. public WxPayCertificationInfo CertificationInfo { get; set;}
  73. }
  74. }