public BtcTransferService(IBitcoinApiClient bitcoinServiceClient, ITransferRepository transferRepository, ITransactionsService transactionServicey, ITransactionPublisher transactionPublisher, ExpirationPeriodsSettings expirationPeriods) { _bitcoinServiceClient = bitcoinServiceClient ?? throw new ArgumentNullException(nameof(bitcoinServiceClient)); }
public PaymentRequestService( [NotNull] IPaymentRequestRepository paymentRequestRepository, [NotNull] IOrderService orderService, [NotNull] IPaymentRequestPublisher paymentRequestPublisher, [NotNull] ITransferService transferService, [NotNull] IPaymentRequestStatusResolver paymentRequestStatusResolver, [NotNull] ILogFactory logFactory, [NotNull] IWalletManager walletsManager, [NotNull] ITransactionsService transactionsService, [NotNull] ExpirationPeriodsSettings expirationPeriods, [NotNull] IMerchantWalletService merchantWalletService, [NotNull] IDistributedLocksService paymentLocksService, [NotNull] ITransactionPublisher transactionPublisher, [NotNull] IDistributedLocksService checkoutLocksService, [NotNull] IWalletBalanceValidator walletBalanceValidator, [NotNull] RetryPolicySettings retryPolicySettings, [NotNull] IAutoSettleSettingsResolver autoSettleSettingsResolver, [NotNull] IAssetSettingsService assetSettingsService) { _paymentRequestRepository = paymentRequestRepository ?? throw new ArgumentNullException(nameof(paymentRequestRepository)); _orderService = orderService ?? throw new ArgumentNullException(nameof(orderService)); _paymentRequestPublisher = paymentRequestPublisher ?? throw new ArgumentNullException(nameof(paymentRequestPublisher)); _transferService = transferService ?? throw new ArgumentNullException(nameof(transferService)); _paymentRequestStatusResolver = paymentRequestStatusResolver ?? throw new ArgumentNullException(nameof(paymentRequestStatusResolver)); _log = logFactory.CreateLog(this); _walletsManager = walletsManager ?? throw new ArgumentNullException(nameof(walletsManager)); _transactionsService = transactionsService ?? throw new ArgumentNullException(nameof(transactionsService)); _expirationPeriods = expirationPeriods ?? throw new ArgumentNullException(nameof(expirationPeriods)); _merchantWalletService = merchantWalletService ?? throw new ArgumentNullException(nameof(merchantWalletService)); _paymentLocksService = paymentLocksService ?? throw new ArgumentNullException(nameof(paymentLocksService)); _transactionPublisher = transactionPublisher ?? throw new ArgumentNullException(nameof(transactionPublisher)); _checkoutLocksService = checkoutLocksService ?? throw new ArgumentNullException(nameof(checkoutLocksService)); _walletBalanceValidator = walletBalanceValidator ?? throw new ArgumentNullException(nameof(walletBalanceValidator)); _autoSettleSettingsResolver = autoSettleSettingsResolver ?? throw new ArgumentNullException(nameof(autoSettleSettingsResolver)); _assetSettingsService = assetSettingsService ?? throw new ArgumentNullException(nameof(assetSettingsService)); _settlementRetryPolicy = Policy .Handle <InsufficientFundsException>() .Or <SettlementOperationFailedException>() .Or <SettlementOperationPartiallyFailedException>() .WaitAndRetryAsync( retryPolicySettings.SettlementAttempts, attempt => TimeSpan.FromSeconds(Math.Pow(2, attempt)), (ex, timespan) => _log.Error(ex, "Settlement with retry")); _paymentRetryPolicy = Policy .Handle <InsufficientFundsException>() .Or <PaymentOperationFailedException>() .Or <PaymentOperationPartiallyFailedException>() .WaitAndRetryAsync( retryPolicySettings.DefaultAttempts, attempt => TimeSpan.FromSeconds(Math.Pow(2, attempt)), (ex, timespan) => _log.Error(ex, "Payment with retry")); }
public StartupManager( [NotNull] AppSettings appSettings, [NotNull] IPaymentRequestExpirationHandler paymentRequestExpirationHandler, [NotNull] IWalletEventsPublisher walletEventsPublisher, [NotNull] IPaymentRequestPublisher paymentRequestPublisher, [NotNull] ITransactionPublisher transactionPublisher, [NotNull] ILogFactory logFactory) { _appSettings = appSettings ?? throw new ArgumentNullException(nameof(appSettings)); _paymentRequestExpirationHandler = paymentRequestExpirationHandler ?? throw new ArgumentNullException(nameof(paymentRequestExpirationHandler)); _walletEventsPublisher = walletEventsPublisher ?? throw new ArgumentNullException(nameof(walletEventsPublisher)); _paymentRequestPublisher = paymentRequestPublisher ?? throw new ArgumentNullException(nameof(paymentRequestPublisher)); _transactionPublisher = transactionPublisher ?? throw new ArgumentNullException(nameof(transactionPublisher)); _log = logFactory.CreateLog(this); }
public RefundService( IPaymentRequestService paymentRequestService, ITransactionsService transactionsService, ITransferService transferService, TimeSpan refundExpirationPeriod, ITransactionPublisher transactionPublisher, ILog log, IBlockchainAddressValidator blockchainAddressValidator) { _paymentRequestService = paymentRequestService ?? throw new ArgumentNullException(nameof(paymentRequestService)); _transactionsService = transactionsService ?? throw new ArgumentNullException(nameof(transactionsService)); _transferService = transferService ?? throw new ArgumentNullException(nameof(transferService)); _refundExpirationPeriod = refundExpirationPeriod; _transactionPublisher = transactionPublisher ?? throw new ArgumentNullException(nameof(transactionPublisher)); _log = log ?? throw new ArgumentNullException(nameof(log)); _blockchainAddressValidator = blockchainAddressValidator ?? throw new ArgumentNullException(nameof(blockchainAddressValidator)); }
public RefundService( [NotNull] IPaymentRequestService paymentRequestService, [NotNull] ITransactionsService transactionsService, [NotNull] ITransferService transferService, TimeSpan refundExpirationPeriod, [NotNull] ITransactionPublisher transactionPublisher, [NotNull] ILogFactory logFactory, [NotNull] IBlockchainAddressValidator blockchainAddressValidator) { _paymentRequestService = paymentRequestService ?? throw new ArgumentNullException(nameof(paymentRequestService)); _transactionsService = transactionsService ?? throw new ArgumentNullException(nameof(transactionsService)); _transferService = transferService ?? throw new ArgumentNullException(nameof(transferService)); _refundExpirationPeriod = refundExpirationPeriod; _transactionPublisher = transactionPublisher ?? throw new ArgumentNullException(nameof(transactionPublisher)); _log = logFactory.CreateLog(this); _blockchainAddressValidator = blockchainAddressValidator ?? throw new ArgumentNullException(nameof(blockchainAddressValidator)); }
public TransactionController(ITransactionPublisher transactionPublisher, ITransactionValidator transactionValidator) { _iTransactionPublisher = transactionPublisher; _iTransactionValidator = transactionValidator; }