Пример #1
0
        public void GetPayments()
        {
            var nordeaApiManager = new NordeaAPIv3Manager();
            var payments         = nordeaApiManager.GetPayments();

            Assert.IsNotNull(payments);
        }
Пример #2
0
        public void GetSpecificPayment()
        {
            var nordeaApiManager = new NordeaAPIv3Manager();
            var payments         = nordeaApiManager.GetPayments();

            if (payments.Count == 0)
            {
                Creditor afsender = new Creditor {
                    Account = new Account {
                        Currency = "DKK", Value = "20301544117544", Type = "BBAN_DK"
                    }, Message = "Test2"
                };
                Debtor modtager = new Debtor {
                    Account = new Account {
                        Currency = "DKK", Value = "20301544118028", Type = "BBAN_DK"
                    }, Message = "Test"
                };
                nordeaApiManager.InitiatePayment(afsender, modtager, 10.0M, "DKK");
            }
            payments = nordeaApiManager.GetPayments();
            Assert.IsTrue(payments.Count > 0);
            if (payments.Count > 0)
            {
                var payment  = payments.ElementAt(0);
                var id       = payment.Id;
                var _payment = nordeaApiManager.GetPayment(id);
                Assert.IsTrue(PaymentEqual(payment, _payment));
            }
        }
Пример #3
0
        public void InitiatePayment()
        {
            var      nordeaApiManager = new NordeaAPIv3Manager();
            Creditor afsender         = new Creditor {
                Account = new Account {
                    Currency = "DKK", Value = "20301544117544", Type = "BBAN_DK"
                }, Message = "Test2"
            };
            Debtor modtager = new Debtor {
                Account = new Account {
                    Currency = "DKK", Value = "20301544118028", Type = "BBAN_DK"
                }, Message = "Test"
            };
            var apiResult = nordeaApiManager.InitiatePayment(afsender, modtager, 10.0M, "DKK");

            Assert.IsNotNull(apiResult);
            var paymentId     = apiResult.Id;
            var confirmResult = nordeaApiManager.ConfirmPayment(paymentId);

            Assert.IsNotNull(confirmResult);
            var payments   = nordeaApiManager.GetPayments();
            var paymentIds = payments.Select(p => p.Id);

            Assert.IsTrue(payments.Count > 0);
            Assert.IsTrue(paymentIds.Contains(paymentId));
        }
        public ActionResult PaymentStatus(string id)
        {
            var apiManager = new NordeaAPIv3Manager();
            var apiResult  = apiManager.GetPayment(id);

            SetContextCulture();
            return(View(apiResult));
        }
        public ActionResult ConfirmPayment(string id)
        {
            var apiManager = new NordeaAPIv3Manager();
            var apiResult  = apiManager.ConfirmPayment(id);

            SetContextCulture();
            return(RedirectToAction("PaymentStatus", routeValues: new { id = apiResult.Id }));
        }
Пример #6
0
        public void GetTokenStringTestAsync()
        {
            var nordeaApiManager         = new NordeaAPIv3Manager();
            var token                    = nordeaApiManager.AccessToken;
            var accounts                 = nordeaApiManager.GetAccounts(token);
            var transactionResponseModel = nordeaApiManager.GetTransactions(accounts.First().Id, new DateTime(2019, 1, 1), new DateTime(2019, 3, 1), "", token);

            Assert.IsNotNull(transactionResponseModel);
        }
Пример #7
0
        public void GetAccountInformationById()
        {
            var nordeaApiManager = new NordeaAPIv3Manager();
            var token            = nordeaApiManager.AccessToken;
            var accountId        = "DK20301544118028-DKK";
            var apiResponse      = nordeaApiManager.GetAccountDetailByAccountId(accountId, token);

            Assert.IsNotNull(apiResponse);
            Assert.AreEqual(accountId, apiResponse.Id);
        }
Пример #8
0
        public void GetAccountTransactioonsForAccont()
        {
            var nordeaApiManager = new NordeaAPIv3Manager();
            var token            = nordeaApiManager.AccessToken;
            var accountId        = "DK20301544118028-DKK";
            var endDate          = DateTime.Today.AddDays(-1);
            var str         = endDate.ToString("yyyy-MM-dd");
            var apiResponse = nordeaApiManager.GetTransactions(accountId, endDate.AddMonths(-1), endDate, "", token);

            Assert.IsNotNull(apiResponse);
        }
Пример #9
0
        public void GetAccessTokenMultipleTimes()
        {
            var    nordeaApiManager = new NordeaAPIv3Manager();
            string token1           = nordeaApiManager.AccessToken;

            Assert.IsFalse(string.IsNullOrWhiteSpace(token1));
            string token2 = nordeaApiManager.AccessToken;

            Assert.IsFalse(string.IsNullOrWhiteSpace(token2));
            Assert.AreEqual(token1, token2);
        }
        public ActionResult Payment(PaymentViewModel model)
        {
            var creditorAccount = model.Creditor.Account.Value;

            if (!UserCanAccessAccountData(creditorAccount))
            {
                throw new Exception("Not Allowed");
            }
            var apiManager = new NordeaAPIv3Manager();
            var apiResult  = apiManager.InitiatePayment(model.Creditor, model.Debtor, model.Amount, "DKK");

            SetContextCulture();
            return(View("PaymentStatus", apiResult));
        }
        private ICollection <BankAccountJsonModel> GetAccountsFromApi()
        {
            var userId            = GetCurrentUser().Id;
            var nordeaApiManager  = new NordeaAPIv3Manager();
            var usersBankAccounts = GetUserAccounts(userId);
            List <BankAccountJsonModel> accounts = new List <BankAccountJsonModel>();

            foreach (var BankAccount in usersBankAccounts)
            {
                var apiAccount = nordeaApiManager.GetAccountByAccountId(BankAccount.Account_id);
                if (apiAccount != null)
                {
                    accounts.Add(apiAccount);
                }
            }

            return(accounts);
        }
        public ActionResult Transactions(string accountId, DateTime?startDate, DateTime?endDate, string continuationKey = "")
        {
            SetContextCulture();
            var user = GetCurrentUser();

            if (!UserCanAccessAccountData(accountId))
            {
                throw new UnauthorizedAccessException();
            }
            var maxDateValue = DateTime.Today.AddDays(-1);

            var trxEndDate   = endDate ?? maxDateValue;
            var trxStartDate = startDate ?? trxEndDate.AddMonths(-3);

            // To ensure none of dates are from future
            if (trxEndDate > maxDateValue)
            {
                trxEndDate = maxDateValue;
            }
            if (trxStartDate > trxEndDate)
            {
                trxStartDate = trxEndDate;
            }

            var apiManager  = new NordeaAPIv3Manager();
            var apiResponse = apiManager.GetTransactions(accountId, trxStartDate, trxEndDate, continuationKey, apiManager.AccessToken);

            var model = new TransactionViewModel(accountId, apiResponse.Transactions, user)
            {
                StartDate       = trxStartDate,
                EndDate         = trxEndDate,
                ContinuationKey = apiResponse.ContinuationKey
            };

            return(View(model));
        }