class ApiBanking::GetAccountBalance

Constants

ReqBody
ReqHeader
Request
Result
SERVICE_VERSION

Attributes

configuration[RW]
request[RW]
result[RW]

Public Class Methods

configure() { |configuration| ... } click to toggle source
# File lib/api_banking/json/getAccountBalance.rb, line 18
def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end
get_account_balance(env, request, callbacks = nil) click to toggle source
# File lib/api_banking/json/getAccountBalance.rb, line 27
def self.get_account_balance(env, request, callbacks = nil)
  dataHash = {}
  dataHash[:getAccountBalanceReq] = {}
  dataHash[:getAccountBalanceReq][:Header] = {}
  dataHash[:getAccountBalanceReq][:Body] = {}

  dataHash[:getAccountBalanceReq][:Header][:TranID] = '00'
  dataHash[:getAccountBalanceReq][:Header][:Corp_ID] = request.header.corpID
  # the tags Maker_ID and Checker_ID have been removed since Schema Validation Error is returned when these are sent in the request.
  dataHash[:getAccountBalanceReq][:Header][:Approver_ID] = request.header.approverID

  dataHash[:getAccountBalanceReq][:Body][:AcctId] = request.body.accountNo

  reply = do_remote_call(env, dataHash, callbacks)

  parse_reply(reply)
end

Private Class Methods

parse_reply(reply) click to toggle source
# File lib/api_banking/json/getAccountBalance.rb, line 47
def self.parse_reply(reply)
  if reply.kind_of?Fault
    reply
  else
    balAmt = parsed_money(reply['getAccountBalanceRes']['Body']['BalAmt']['amountValue'], 'INR')
    GetAccountBalance::Result.new(balAmt)
  end
end
parsed_money(amount, currency) click to toggle source
# File lib/api_banking/json/getAccountBalance.rb, line 56
def self.parsed_money(amount, currency)
  Money.from_amount(amount.to_d, currency)
end