WxPayConfigData.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. using System.Text;
  2. using WingServerCommon.Config;
  3. using WingServerCommon.Config.Parameters;
  4. namespace WingPaymentService.Common.WeChat
  5. {
  6. public class WxPayConfigData : IWxPayIConfig
  7. {
  8. private string _serverIP => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "ServerIP").Value;
  9. private string _gatewayHost => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "GatewayHost").Value;
  10. private string _appId => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "AppId").Value;
  11. private string _mchId => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "MchId").Value;
  12. private string _key => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "Key").Value;
  13. private string _appSecret => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "AppSecret").Value;
  14. private string _sslCertData => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "SSLCertData").Value;
  15. private string _sslCertPassword => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "SSLCertPassword").Value;
  16. private string _notifyUrl => EnvironmentConfigManager.GetParammeter<StringParameter>("WeChat", "NotifyUrl").Value;
  17. //=======【基本信息设置】=====================================
  18. /* 微信公众号信息配置
  19. * APPID:绑定支付的APPID(必须配置)
  20. * MCHID:商户号(必须配置)
  21. * KEY:商户支付密钥,参考开户邮件设置(必须配置),请妥善保管,避免密钥泄露
  22. * APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置),请妥善保管,避免密钥泄露
  23. */
  24. public string GetAppId()
  25. {
  26. return _appId;
  27. }
  28. public string GetMchId()
  29. {
  30. return _mchId;
  31. }
  32. public string GetKey()
  33. {
  34. return _key;
  35. }
  36. public string GetAppSecret()
  37. {
  38. return _appSecret;
  39. }
  40. public string GetServerUrl()
  41. {
  42. var serverUrl = $"{_gatewayHost}";
  43. return serverUrl;
  44. }
  45. //=======【证书路径设置】=====================================
  46. /* 证书路径,注意应该填写绝对路径(仅退款、撤销订单时需要)
  47. * 1.证书文件不能放在web服务器虚拟目录,应放在有访问权限控制的目录中,防止被他人下载;
  48. * 2.建议将证书文件名改为复杂且不容易猜测的文件
  49. * 3.商户服务器要做好病毒和木马防护工作,不被非法侵入者窃取证书文件。
  50. */
  51. public byte[] GetSSlCertData()
  52. {
  53. return Encoding.UTF8.GetBytes(_sslCertData);
  54. }
  55. public string GetSSlCertPassword()
  56. {
  57. return _sslCertPassword;
  58. }
  59. //=======【支付结果通知url】=====================================
  60. /* 支付结果通知回调url,用于商户接收支付结果
  61. */
  62. public string GetNotifyUrl()
  63. {
  64. return _notifyUrl;
  65. }
  66. //=======【商户系统后台机器IP】=====================================
  67. /* 此参数可手动配置也可在程序中自动获取
  68. */
  69. public string GetIp()
  70. {
  71. return _serverIP;
  72. }
  73. //=======【代理服务器设置】===================================
  74. /* 默认IP和端口号分别为0.0.0.0和0,此时不开启代理(如有需要才设置)
  75. */
  76. public string GetProxyUrl()
  77. {
  78. return "";
  79. }
  80. //=======【上报信息配置】===================================
  81. /* 测速上报等级,0.关闭上报; 1.仅错误时上报; 2.全量上报
  82. */
  83. public int GetReportLevel()
  84. {
  85. return 0;
  86. }
  87. //=======【日志级别】===================================
  88. /* 日志等级,0.不输出日志;1.只输出错误信息; 2.输出错误和正常信息; 3.输出错误信息、正常信息和调试信息
  89. */
  90. public int GetLogLevel()
  91. {
  92. return 1;
  93. }
  94. }
  95. }