public CardPaymentFactory( IRepository <Account> accounts, IRepository <UserPaymentProfile> paymentProfiles, IRepository <Currency> currencies, IQueryRepository <CorrespondentAccount> correspondentAccounts, TransactionReferenceBook transactionReferenceBook, MoneyConverter moneyConverter, PaymentFormFactory paymentFormFactory) { Argument.NotNull(accounts, "accounts"); Argument.NotNull(paymentProfiles, "paymentProfiles"); Argument.NotNull(currencies, "currencies"); Argument.NotNull(correspondentAccounts, "correspondentAccounts"); Argument.NotNull(transactionReferenceBook, "transactionReferenceBook"); Argument.NotNull(moneyConverter, "moneyConverter"); Argument.NotNull(paymentFormFactory, "paymentFormFactory"); _settings = new BankSettings(); _currencies = currencies; _correspondentAccounts = correspondentAccounts; _paymentProfiles = paymentProfiles; _accounts = accounts; _transactionReferenceBook = transactionReferenceBook; _moneyConverter = moneyConverter; _paymentFormFactory = paymentFormFactory; }
public static IServiceCollection AddBank(this IServiceCollection service, IConfiguration config) { var section = config.GetSection("Bank"); var settings = new BankSettings(); new ConfigureFromConfigurationOptions <BankSettings>(section).Configure(settings); return(service.AddSingleton(new Bank(settings))); }
internal BaseOperationProcessor(BaseOperationProcessorDependencies baseDependencies) { Argument.NotNull(baseDependencies, "baseDependencies"); baseDependencies.EnsureIsResolved(); Logger = LogManager.GetLogger(GetType().FullName); MoneyConverter = baseDependencies.MoneyConverter; TransactionRepository = baseDependencies.TransactionRepository; TransactionReferenceBook = baseDependencies.TransactionReferenceBook; Settings = new BankSettings(); }
public static IServiceCollection RegisterAcquiringBanks(this IServiceCollection services, HostBuilderContext context) { var bankSettings = new BankSettings(); context.Configuration.GetSection("BankSettings").Bind(bankSettings); services.AddSingleton(bankSettings); services.AddScoped <IBankFactory, AcquiringBankFactory>(); services.AddScoped <ICallBankApi, CallBankApi>(); return(services); }
public CardTransferFactory(IRepository <OperationCategory> operationCategories, TransactionReferenceBook transactionReferenceBook, MoneyConverter moneyConverter) { Argument.NotNull(operationCategories, "operationCategories"); Argument.NotNull(transactionReferenceBook, "transactionReferenceBook"); Argument.NotNull(moneyConverter, "moneyConverter"); _operationCategories = operationCategories; _transactionReferenceBook = transactionReferenceBook; _moneyConverter = moneyConverter; _settings = new BankSettings(); }
public UserCardLimitsPolicy(IRepository <UserCard> userCardRepository, IQueryRepository <CardTransaction> cardTransactionRepository, BankingSystemSchedule schedule) { Argument.NotNull(userCardRepository, "userCardRepository"); Argument.NotNull(cardTransactionRepository, "cardTransactionRepository"); Argument.NotNull(schedule, "schedule"); _userCardRepository = userCardRepository; _cardTransactionRepository = cardTransactionRepository; _schedule = schedule; _settings = new BankSettings(); }
private void Test_Setting_Provider_No_Data(ISettingProvider provider) { var origSettings = new BankSettings(); provider.SaveSettings("myfolder1/myfolder2/2", origSettings); var newSettings = provider.GetSettings <BankSettings>("myfolder1/myfolder2/2"); // Validate the original settings are the same as the restored settings Assert.Equal(origSettings.DeviceNumber, newSettings.DeviceNumber); Assert.Equal(origSettings.DeviceType, newSettings.DeviceType); Assert.Equal(origSettings.MultiplexerConfigName, newSettings.MultiplexerConfigName); Assert.Equal(origSettings.VCardPrefix, newSettings.VCardPrefix); Assert.Equal(origSettings.IntPropertyWithNoMetadata, newSettings.IntPropertyWithNoMetadata); Assert.Equal(origSettings.FIType, newSettings.FIType); }
/// <summary> /// Setup for this project /// </summary> static void Setup() { // Configure dependency injection IServiceCollection services = new ServiceCollection(); services.AddBankingSdk(); // Configure BankingSDK general settings BankSettings generalBankSettings = new BankSettings { NcaId = NcaId, TlsCertificate = new X509Certificate2(TlsCertificatePath, TlsCertificatePassword), SigningCertificate = new X509Certificate2(SigningCertificatePath, SigningCertificatePassword) }; BankingFactory.SdkSettings.Set(generalBankSettings, BankingSDKCompanyKey, BankingSDKApplicationKey, BankingSDKSecret, BankingSDKTTPName, true); }
private static void AddPrivatbankIntegration(this IServiceCollection services, BankIntegrationSettings banksSettings) { BankSettings settings = banksSettings.Banks.FirstOrDefault(b => PrivatbankConfig.BANK_NAME.Equals(b.Name, StringComparison.OrdinalIgnoreCase)); if (settings == null || string.IsNullOrWhiteSpace(settings.ApiUri)) { throw new Exception($"Missing settings for {PrivatbankConfig.BANK_NAME} integration."); } services.AddHttpClient <PrivatbankClient>(c => { c.BaseAddress = new Uri(settings.ApiUri); }); services.AddScoped <PrivatbankAccountService>(); services.AddScoped <PrivatbankExchangeRateService>(); services.AddScoped <IBankIntegrationService, PrivatbankIntegrationService>(); }
public CustomPaymentOrderPaymentValidator( IRepository <Bank> bankRepository, IRepository <Account> accountRepository) { Argument.NotNull(bankRepository, "bankRepository"); Argument.NotNull(accountRepository, "accountRepository"); _bankSettings = new BankSettings(); _bankRepository = bankRepository; _accountRepository = accountRepository; RuleFor(x => x.Amount) .GreaterThanOrEqualTo(100) .WithLocalizedMessage(() => Messages.MinAmountPayment, 100) .LessThan(5000000) .WithLocalizedName(() => Names.Amount); RuleFor(x => x.BeneficiaryAccountNo) .NotEmpty() .UseValidator(new AccountNumberValidator()) .Must(VaBankAccountExists) .When(x => x.BeneficiaryBankCode == _bankSettings.VaBankCode) .WithLocalizedMessage(() => Messages.AccountDoesntExist); RuleFor(x => x.BeneficiaryName) .NotEmpty() .Length(1, 100) .WithLocalizedName(() => Names.BeneficiaryName); RuleFor(x => x.BeneficiaryTIN) .NotEmpty() .UseValidator(new TINValidator()) .WithLocalizedName(() => Names.BeneficiaryTIN); RuleFor(x => x.BeneficiaryBankCode) .NotEmpty() .UseValidator(new BankCodeValidator(bankRepository)) .WithLocalizedName(() => Names.BeneficiaryBankCode); RuleFor(x => x.PaymentCode) .UseValidator(new PaymentCodeValidator()) .When(x => !string.IsNullOrEmpty(x.PaymentCode)) .WithLocalizedName(() => Names.PaymentCode); RuleFor(x => x.Purpose) .NotEmpty() .Length(1, 256) .WithLocalizedName(() => Names.Purpose); }
private void Test_Setting_Provider_Test_Data(ISettingProvider provider) { var origSettings = new BankSettings(); origSettings.DeviceNumber = "My Device Number"; origSettings.DeviceType = "My Device Type"; origSettings.MultiplexerConfigName = "My MultiplexerConfigName"; origSettings.IntPropertyWithNoMetadata = 5678; origSettings.FIType = FIType.Bank; //origSettings.VCardPrefix = "My VCard Prefix"; provider.SaveSettings("BankSettings/Device/1", origSettings); var newSettings = provider.GetSettings <BankSettings>("BankSettings/Device/1"); // Validate the original settings are the same as the restored settings Assert.Equal(origSettings.DeviceNumber, newSettings.DeviceNumber); Assert.Equal(origSettings.DeviceType, newSettings.DeviceType); Assert.Equal(origSettings.MultiplexerConfigName, newSettings.MultiplexerConfigName); Assert.Equal(origSettings.VCardPrefix, newSettings.VCardPrefix); Assert.Equal(origSettings.IntPropertyWithNoMetadata, newSettings.IntPropertyWithNoMetadata); Assert.Equal(origSettings.FIType, newSettings.FIType); }
public BaseBnpConnector(BankSettings settings, Uri productionUrl, Uri productionAuthUrl, ConnectorType connectorType) : base(settings, connectorType) { _apiUrlProduction = productionUrl; _authUrlProduction = productionAuthUrl; }
private bool SaveSettings() { EditRobotsTxt.SaveRobots(); BankSettings.SaveData(); ApiSettings.SaveData(); bool valid = true; if (!NewsSettings.SaveData()) { MsgErr(NewsSettings.ErrMessage); valid = false; } if (!MailSettings.SaveData()) { MsgErr(MailSettings.ErrMessage); valid = false; } if (!GeneralSettings.SaveData()) { MsgErr(GeneralSettings.ErrMessage); valid = false; } if (!SEOSettings.SaveData()) { MsgErr(SEOSettings.ErrMessage); valid = false; } if (!CountersSettings.SaveData()) { MsgErr(CountersSettings.ErrMessage); valid = false; } if (!OrderConfirmationSettings.SaveData()) { MsgErr(OrderConfirmationSettings.ErrMessage); valid = false; } if (!NotifyEmailsSettings.SaveData()) { MsgErr(NotifyEmailsSettings.ErrMessage); valid = false; } if (!OAuthSettings.SaveData()) { MsgErr(OAuthSettings.ErrMessage); valid = false; } if (!CatalogSettings.SaveData()) { MsgErr(CatalogSettings.ErrMessage); valid = false; } if (!DetailsSettings.SaveData()) { MsgErr(DetailsSettings.ErrMessage); valid = false; } if (!TaskSettings.SaveData()) { MsgErr(TaskSettings.ErrMessage); valid = false; } if (!ProfitSettings.SaveData()) { MsgErr(ProfitSettings.ErrMessage); valid = false; } SocialSettings.SaveData(); return(valid); }
public DeIngConnector(BankSettings settings) : base(settings, "DE", ConnectorType.DE_ING) { }
public FrCreditMunicipalConnector(BankSettings settings) : base(settings, "https://sandbox.ccmdirect.fr", "https://api.ccmdirect.fr", ConnectorType.FR_CREDIT_MUNICIPAL) { }
public BaseKbcConnector(BankSettings settings, ConnectorType connectorType) : base(settings, connectorType) { }
public BeCbcConnector(BankSettings settings) : base(settings, ConnectorType.BE_CBC) { }
static async Task Main(string[] args) { var services = new ServiceCollection(); services.AddBankingSdk(); // Setting general settings of BankingSDk BankSettings generalBankSettings = new BankSettings(); generalBankSettings.NcaId = "VALID_NCA_ID"; string filePath = @"C:\Users\Yassine\Documents\StageEntrainement\BankingSDK - Copie\BankingSDK\Test\TestApp\example_eidas_client_tls.cer"; string filePath2 = @"C:\Users\Yassine\Documents\StageEntrainement\BankingSDK - Copie\BankingSDK\Test\TestApp\example_eidas_client_signing.cer"; generalBankSettings.TlsCertificate = new X509Certificate2(filePath, "banking"); generalBankSettings.SigningCertificate = new X509Certificate2(filePath2, "banking"); SdkApiSettings.CompanyKey = "1df53a2d-26aa-4ef1-9f3c-09a1092e5413"; SdkApiSettings.ApplicationKey = "d7726cbf-e51f-4e0e-a3bb-132913ad8032"; SdkApiSettings.Secret = "W2ANVUVRQS7AKBFCZLKHGLWXCC6FRUGXAV3O3E33H7D1ZULX6ME6UKOKGNKSXPA6LK9YH1JUSR9JI58S0JIEPKCZHSIQ4KF27GPOUWPFDTODKECLP11OG5RBHJRZT20HMHLBPT7D4DB559PCP6BCS1VBZOHKF0VK3G1D2B564XUD4VFH4OJW1YZVVKLBLW8ER0CYIMKOBEH4GSGEI9Q1Q9SERGRSZ3UHZQVDTR9SD4UWQ4ODDH3MGGXSI7GC42ZH"; SdkApiSettings.TppLegalName = "EXTHAND"; SdkApiSettings.IsSandbox = false; //BankingSDK. bankConnector = new Connector(generalBankSettings); BankingSDK.BE.KBC.BeKbcConnector bankConnector = new BeKbcConnector(generalBankSettings); string userId = Guid.NewGuid().ToString(); string userContect = (await bankConnector.RegisterUserAsync(userId)).GetData().ToJson(); string callBackUrl = "https://developer.bankingsdk.com/callback"; AccountsAccessRequest accountsAccessRequest = new AccountsAccessRequest { FlowId = SdkApiSettings.ApplicationKey, FrequencyPerDay = 4, RedirectUrl = callBackUrl, PsuIp = "10.10.10.10", SingleAccount = "BE91732047678076" }; BankingResult <string> bankingResult = await bankConnector.RequestAccountsAccessAsync(accountsAccessRequest); if (bankingResult.GetStatus() == ResultStatus.REDIRECT) { // We get the flow context. var flowContext = bankingResult.GetFlowContext(); string redirectUrlOnTheBank = bankingResult.GetData(); var psi = new ProcessStartInfo(@"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"); psi.Arguments = redirectUrlOnTheBank; Process.Start(psi); Console.WriteLine("QueryString received?"); string queryString = Console.ReadLine(); BankingResult <IUserContext> result = await bankConnector.RequestAccountsAccessFinalizeAsync(flowContext, queryString); if (result.GetStatus() == ResultStatus.DONE) { Console.WriteLine("Ok. Cool."); BankingResult <List <Account> > accounts = await bankConnector.GetAccountsAsync(); foreach (Account account in accounts.GetData()) { Console.WriteLine("Account " + account.Iban); BankingResult <List <Balance> > resultBalances = await bankConnector.GetBalancesAsync(account.Iban); if (resultBalances.GetStatus() == ResultStatus.DONE) { List <Balance> accountBalances = resultBalances.GetData(); foreach (Balance balance in accountBalances) { Console.WriteLine(" Balance : " + balance.BalanceAmount + " " + balance.ReferenceDate?.ToString("dd MMM yyyy")); } } } } } Console.ReadLine(); return; }
public BeNagelmackersConnector(BankSettings settings) : base(settings, "https://openbankingsandbox.nagelmackers.be", "https://openbankingapi.nagelmackers.be", ConnectorType.BE_NAGELMACKERS) { }
public PaymentFormFactory() { _bankSettings = new BankSettings(); }
public AtIngConnector(BankSettings settings) : base(settings, "AT", ConnectorType.AT_ING) { }
public FrNeuflizeObcConnector(BankSettings settings) : base(settings, "https://sandbox.neuflizeobc.fr", "https://api.neuflizeobc.fr", ConnectorType.FR_NEUFLIZE_OBC) { }
public LuSocieteGeneraleConnector(BankSettings settings) : base(settings, ConnectorType.LU_SOCIETE_GENERALE) { }
public FrIngConnector(BankSettings settings) : base(settings, "FR", ConnectorType.FR_ING) { }
public MoneytransConnector(BankSettings settings) : base(settings, 1000) { }
public FrOrangeBankConnector(BankSettings settings) : base(settings, "https://sandbox-api-tpp.orangebank.fr", "https://api-tpp.orangebank.fr", ConnectorType.FR_ORANGE_BANK) { }
public PlIngConnector(BankSettings settings) : base(settings, "PL", ConnectorType.PL_ING) { }
public LuIngConnector(BankSettings settings) : base(settings, "LU", ConnectorType.LU_ING) { }
public BeVanBredaConnector(BankSettings settings) : base(settings, "https://xs2a-sandbox.bankvanbreda.be", "https://xs2a-api.bankvanbreda.be", ConnectorType.BE_VAN_BREDA) { }
public BeVdkConnector(BankSettings settings) : base(settings, "https://xs2a-sandbox-api.vdk.be", "https://xs2a-api.vdk.be", ConnectorType.BE_VDK) { }