/// <summary> /// 注册支付操作 /// </summary> /// <param name="services">服务集合</param> /// <param name="setupAction">配置操作</param> public static void AddPay(this IServiceCollection services, Action <PayOptions> setupAction) { services.TryAddScoped <IPayFactory, PayFactory>(); var options = new PayOptions(); setupAction?.Invoke(options); services.TryAddSingleton <IAlipayConfigProvider>(new AlipayConfigProvider(options.AlipayOptions)); }
/// <summary> /// 注册支付操作 /// </summary> /// <param name="services">服务集合</param> /// <param name="setupAction">配置操作</param> public static void AddPay(this IServiceCollection services, Action <PayOptions> setupAction) { var options = new PayOptions(); setupAction?.Invoke(options); services.TryAddSingleton <IAlipayConfigProvider>(new AlipayConfigProvider(options.AlipayOptions)); services.TryAddSingleton <IWechatpayConfigProvider>(new WechatpayConfigProvider(options.WechatpayOptions)); services.TryAddScoped <IPayFactory, PayFactory>(); services.TryAddScoped <IAlipayNotifyService, AlipayNotifyService>(); services.TryAddScoped <IAlipayReturnService, AlipayReturnService>(); services.TryAddScoped <IWechatpayNotifyService, WechatpayNotifyService>(); services.TryAddScoped <IWechatpayRefundNotifyService, WechatpayRefundNotifyService>(); }