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); }