Ejemplo n.º 1
0
        public async Task <IReadOnlyCollection <ExternalAccountBalanceModel> > GetAccountsAsync(BankAccountsRequestParams request)
        {
            PrivatbankAccount account = await _accountService.GetMerchantAccountAsync(request.Token, request.BankClientId, request.CardNumber);

            ExternalAccountBalanceModel balance = new ExternalAccountBalanceModel(BankName, account.Id, account.Currency, account.Balance);

            return(new List <ExternalAccountBalanceModel> {
                balance
            });
        }
        /// <summary>
        /// Gets merchant account. Privatbank API reference: <https://api.privatbank.ua/#p24/balance>.
        /// </summary>
        /// <param name="password">Private merchant password.</param>
        /// <param name="merchantId">Merchant id.</param>
        /// <param name="cardNumber">Merchant assossiated card number.</param>
        /// <returns></returns>
        public async Task <PrivatbankAccount> GetMerchantAccountAsync(string password, string merchantId, string cardNumber)
        {
            AccountBalanceRequest request  = new AccountBalanceRequest(password, merchantId, cardNumber);
            HttpResponseMessage   response = await _privatbankClient.GetMerchantDataAsync("balance", request.Xml);

            string xml = await response.Content.ReadAsStringAsync();

            AccountParser     parser  = new AccountParser();
            PrivatbankAccount account = parser.Parse(xml);

            return(account);
        }