Method: Finicity::Client#discover_accounts_with_mfa

Defined in:
lib/finicity/client.rb

#discover_accounts_with_mfa(customer_id, institution_id, login_credentials, mfa_credentials) ⇒ Object

The login_credentials parameter is an array of hashes with the keys :id, :name, :value The mfa_credentials parameter is an array of hashes with keys :text, :answer



121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/finicity/client.rb', line 121

def discover_accounts_with_mfa(customer_id, institution_id, , mfa_credentials)
  request = ::Finicity::V1::Request::DiscoverAccountsWithMfa.new(token, mfa_session, customer_id, institution_id, , mfa_credentials)
  request.log_request
  response = request.discover_accounts_with_mfa
  log_response(response)

  if response.status_code == 200
    @mfa_session = nil
    parsed_response = ::Finicity::V1::Response::Accounts.parse(response.body)
    return parsed_response.accounts
  elsif response.status_code == 203
    @mfa_session = response.headers["MFA-Session"]
    parsed_response = ::Finicity::V1::Response::Mfa.parse(response.body)
    return parsed_response.questions
  else
    raise_generic_error!(response)
  end
end