DotNetCore.SKIT.FlurlHttpCl.../src/SKIT.FlurlHttpClient.Wechat.TenpayV3/WechatTenpayClientOptions.cs

78 lines
3.0 KiB
C#
Raw Normal View History

2021-05-10 15:30:00 +08:00
using System;
using System.Reflection;
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
{
/// <summary>
2021-07-11 00:55:41 +08:00
/// 一个用于构造 <see cref="WechatTenpayClient"/> 时使用的配置项。
2021-05-10 15:30:00 +08:00
/// </summary>
public class WechatTenpayClientOptions
{
/// <summary>
/// 获取或设置请求超时时间(单位:毫秒)。
2021-05-10 15:30:00 +08:00
/// <para>默认值30000</para>
/// </summary>
public int Timeout { get; set; } = 30 * 1000;
/// <summary>
/// 获取或设置微信支付 API 域名。
2021-05-10 15:30:00 +08:00
/// <para>默认值:<see cref="WechatTenpayEndpoints.DEFAULT"/></para>
/// </summary>
2021-09-23 19:59:42 +08:00
public string Endpoints { get; set; } = WechatTenpayEndpoints.DEFAULT;
2021-05-10 15:30:00 +08:00
/// <summary>
/// 获取或设置声明应答中的错误描述使用的自然语言语种。
2021-05-10 15:30:00 +08:00
/// <para>默认值:<i>根据操作系统自动生成</i></para>
/// </summary>
public string UserAgent { get; set; } = $"OS/{Environment.OSVersion.Platform} SKIT.FlurlHttpClient.Wechat.Tenpay/{Assembly.GetExecutingAssembly().GetName().Version}";
/// <summary>
/// 获取或设置声明应答中的错误描述使用的自然语言语种。
2021-05-10 15:30:00 +08:00
/// <para>默认值zh_CN</para>
/// </summary>
public string AcceptLanguage { get; set; } = "zh-CN";
/// <summary>
/// 获取或设置微信支付 API 签名认证方式。
/// <para>默认值:<see cref="Constants.SignAlgorithms.WECHATPAY2_SHA256_RSA2048"/></para>
2021-05-10 15:30:00 +08:00
/// </summary>
public string SignAlgorithm { get; set; } = Constants.SignAlgorithms.WECHATPAY2_SHA256_RSA2048;
2021-05-10 15:30:00 +08:00
/// <summary>
/// 获取或设置微信商户号。
/// </summary>
public string MerchantId { get; set; } = default!;
/// <summary>
/// 获取或设置微信商户 API v3 密钥(注意与 API 密钥相区分)。
/// </summary>
public string MerchantV3Secret { get; set; } = default!;
/// <summary>
/// 获取或设置微信商户 API 证书序列号。
/// </summary>
public string MerchantCertSerialNumber { get; set; } = default!;
/// <summary>
/// 获取或设置微信商户 API 证书私钥。
/// </summary>
public string MerchantCertPrivateKey { get; set; } = default!;
/// <summary>
/// 获取或设置是否自动加密请求中的敏感字段数据。
/// </summary>
public bool AutoEncryptRequestSensitiveProperty { get; set; }
/// <summary>
/// 获取或设置是否自动解密请求中的敏感字段数据。
/// </summary>
public bool AutoDecryptResponseSensitiveProperty { get; set; }
/// <summary>
/// 获取或设置微信商户平台证书管理器。
/// <para>默认值:<see cref="Settings.InMemoryCertificateManager"/></para>
/// </summary>
public Settings.CertificateManager CertificateManager { get; set; } = new Settings.InMemoryCertificateManager();
2021-05-10 15:30:00 +08:00
}
}