/// <summary> /// Adds Parbad pre-configured services to the specified <see cref="IServiceCollection"/>. /// </summary> public static IParbadBuilder AddParbad(this IServiceCollection services) { var builder = new ParbadBuilder(services); builder.Services.AddOptions(); builder.Services.AddHttpClient(); builder.Services.TryAddTransient <IOnlinePayment, DefaultOnlinePayment>(); builder.Services.TryAddSingleton <IOnlinePaymentAccessor, OnlinePaymentAccessor>(); builder.Services.TryAddTransient <IInvoiceBuilder, DefaultInvoiceBuilder>(); builder.Services.TryAddTransient <AutoIncrementTrackingNumber>(); builder.Services.TryAddTransient <AutoRandomTrackingNumber>(); builder.Services.TryAddTransient <IGatewayProvider, DefaultGatewayProvider>(); builder.ConfigureOptions(options => { }); builder.ConfigurePaymentToken(tokenBuilder => tokenBuilder.UseGuidQueryStringPaymentTokenProvider()); return(builder); }