Ejemplo n.º 1
0
        /// <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>();
        }