///
import { ModuleMetadata, Type } from '@nestjs/common';
/** 同步传入配置 */
export interface WechatPayModuleOptions {
/** 服务商公众号appid */
appid: string;
/** 服务商商户号 */
mchid: string;
/** 子商户appid */
subAppid?: string;
/** 子商户号 */
subMchid: string;
/** 服务商的APIv3密钥 */
apiKeyV3: string;
/** 服务商商户证书公钥,请使用 fs.readFileSync() 方法读取 */
publicKey: Buffer;
/** 服务商商户证书私钥,请使用 fs.readFileSync() 方法读取 */
privateKey: Buffer;
/**
* 服务商证书序列号
* @description 证书序列号可以通过公钥来间接获取,因此非必须参数
*/
serialNo?: string;
/** 微信支付启用沙箱环境,默认false */
sandbox?: boolean;
}
export interface WechatPayOptionsFactory {
createWechatPayOptions(): WechatPayModuleOptions | Promise;
}
/** 异步传入配置 */
export interface WechatPayModuleAsyncOptions extends Pick {
useExisting?: Type;
useClass?: Type;
useFactory?: (...args: any[]) => WechatPayModuleOptions | Promise;
inject?: any[];
}