class ApiBanking::PrepaidCardService

Constants

SERVICE_NAMESPACE
SERVICE_VERSION

Attributes

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

Public Class Methods

addBeneficiary(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 89
def self.addBeneficiary(env, request)
  reply = do_remote_call(env) do |xml|
    xml.addBeneficiary("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].uniqueRequestNo request.uniqueRequestNo
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
      xml['ns'].beneficiaryName request.beneficiaryName
      xml['ns'].beneficiaryAccountNo request.beneficiaryAccountNo
      xml['ns'].beneficiaryIFSC request.beneficiaryIFSC
    end
  end
  parse_reply(:addBeneficiary, reply)
end
configure() { |configuration| ... } click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 80
def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end
getBalance(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 105
def self.getBalance(env, request)
  reply = do_remote_call(env) do |xml|
    xml.getBalance("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
    end
  end
  parse_reply(:getBalance, reply)
end
getBeneficiaries(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 117
def self.getBeneficiaries(env, request)
  reply = do_remote_call(env) do |xml|
    xml.getBeneficiaries("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
      xml['ns'].numBeneficiaries request.numBeneficiaries
    end
  end
  parse_reply(:getBeneficiaries, reply)
end
getCustomerDetail(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 130
def self.getCustomerDetail(env, request)
  reply = do_remote_call(env) do |xml|
    xml.getCustomerDetail("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
    end
  end
  parse_reply(:getCustomerDetail, reply)
end
getTransactions(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 142
def self.getTransactions(env, request)
  reply = do_remote_call(env) do |xml|
    xml.getTransactions("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
      xml['ns'].numTransactions request.numTransactions
    end
  end
  parse_reply(:getTransactions, reply)
end
payToAccount(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 155
def self.payToAccount(env, request)
  reply = do_remote_call(env) do |xml|
    xml.payToAccount("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].uniqueRequestNo request.uniqueRequestNo
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
      xml['ns'].encryptedPIN request.encryptedPIN
      xml['ns'].transferType request.transferType
      xml['ns'].beneficiaryName request.beneficiaryName
      xml['ns'].beneficiaryAccountNo request.beneficiaryAccountNo
      xml['ns'].beneficiaryIFSC request.beneficiaryIFSC
      xml['ns'].transferAmount request.transferAmount
      xml['ns'].remitterToBeneficiaryInfo request.remitterToBeneficiaryInfo
    end
  end
  parse_reply(:payToAccount, reply)
end
payToContact(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 175
def self.payToContact(env, request)
  reply = do_remote_call(env) do |xml|
    xml.payToContact("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].uniqueRequestNo request.uniqueRequestNo
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
      xml['ns'].encryptedPIN request.encryptedPIN
      xml['ns'].contactName request.contactName
      xml['ns'].contactMobileNo request.contactMobileNo
      xml['ns'].transferAmount request.transferAmount
    end
  end
  parse_reply(:payToContact, reply)
end
topUp(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 192
def self.topUp(env, request)
  reply = do_remote_call(env) do |xml|
    xml.topUp("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].uniqueRequestNo request.uniqueRequestNo
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
      xml['ns'].encryptedPIN request.encryptedPIN
      xml['ns'].billerID request.billerID
      xml['ns'].subscriberID request.subscriberID
      xml['ns'].topupAmount request.topupAmount
    end
  end
  parse_reply(:topUp, reply)
end
verifyPIN(env, request) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 209
def self.verifyPIN(env, request)
  reply = do_remote_call(env) do |xml|
    xml.verifyPIN("xmlns:ns" => SERVICE_NAMESPACE ) do
      xml.parent.namespace = xml.parent.namespace_definitions.first
      xml['ns'].version SERVICE_VERSION
      xml['ns'].appID request.appID
      xml['ns'].mobileNo request.mobileNo
      xml['ns'].pinBlock request.pinBlock
    end
  end
  parse_reply(:verifyPIN, reply)
end

Private Class Methods

parse_reply(operationName, reply) click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 228
def self.parse_reply(operationName, reply)
  if reply.kind_of?Fault
    return reply
  else
    case operationName
      when :addBeneficiary
        return AddBeneficiary::Result.new(
          content_at(reply.at_xpath('//ns:addBeneficiaryResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:addBeneficiaryResponse/ns:uniqueResponseNo', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:addBeneficiaryResponse/ns:beneficiaryID', 'ns' => SERVICE_NAMESPACE)),
          )
      when :getBalance
        return GetBalance::Result.new(
          content_at(reply.at_xpath('//ns:getBalanceResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getBalanceResponse/ns:currencyCode', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getBalanceResponse/ns:cardBalance', 'ns' => SERVICE_NAMESPACE))
        )  
      when :getBeneficiaries
        beneArray = Array.new 
        i = 1
        numBene = content_at(reply.xpath('//ns:getBeneficiariesResponse/ns:numBeneficiaries', 'ns' => SERVICE_NAMESPACE)).to_i
        until i > numBene
          beneArray << GetBeneficiaries::Beneficiary.new(
            content_at(reply.at_xpath("//ns:getBeneficiariesResponse/ns:beneficiariesArray/ns:beneficiary[#{i}]/ns:beneficiaryName", 'ns' => SERVICE_NAMESPACE)),
            content_at(reply.at_xpath("//ns:getBeneficiariesResponse/ns:beneficiariesArray/ns:beneficiary[#{i}]/ns:beneficiaryAccountNo", 'ns' => SERVICE_NAMESPACE)),
            content_at(reply.at_xpath("//ns:getBeneficiariesResponse/ns:beneficiariesArray/ns:beneficiary[#{i}]/ns:beneficiaryIFSC", 'ns' => SERVICE_NAMESPACE))
          )
          i = i + 1;
        end
        beneficiariesArray = GetBeneficiaries::BeneficiariesArray.new(beneArray)
        return GetBeneficiaries::Result.new(
          content_at(reply.at_xpath('//ns:getBeneficiariesResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getBeneficiariesResponse/ns:numBeneficiaries', 'ns' => SERVICE_NAMESPACE)),
          beneficiariesArray
        )
      when :getCustomerDetail
        return GetCustomerDetail::Result.new(
          content_at(reply.at_xpath('//ns:getCustomerDetailResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getCustomerDetailResponse/ns:customerEmail', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getCustomerDetailResponse/ns:customerPrefferedName', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getCustomerDetailResponse/ns:programCode', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getCustomerDetailResponse/ns:productCode', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getCustomerDetailResponse/ns:productDisplayName', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getCustomerDetailResponse/ns:productCustomerCareNo', 'ns' => SERVICE_NAMESPACE))
        )   
      when :getTransactions
        txnArray = Array.new 
        i = 1
        numTxns = content_at(reply.at_xpath("//ns:getTransactionsResponse/ns:numTransactions", 'ns' => SERVICE_NAMESPACE)).to_i
        until i > numTxns
          txnArray << GetTransactions::Transaction.new(
            content_at(reply.at_xpath("//ns:getTransactionsResponse/ns:transactionsArray/ns:transaction[#{i}]/ns:transactionID", 'ns' => SERVICE_NAMESPACE)),
            content_at(reply.at_xpath("//ns:getTransactionsResponse/ns:transactionsArray/ns:transaction[#{i}]/ns:recordDate", 'ns' => SERVICE_NAMESPACE)),
            content_at(reply.at_xpath("//ns:getTransactionsResponse/ns:transactionsArray/ns:transaction[#{i}]/ns:transactionCode", 'ns' => SERVICE_NAMESPACE)),
            content_at(reply.at_xpath("//ns:getTransactionsResponse/ns:transactionsArray/ns:transaction[#{i}]/ns:transactionType", 'ns' => SERVICE_NAMESPACE)),
            content_at(reply.at_xpath("//ns:getTransactionsResponse/ns:transactionsArray/ns:transaction[#{i}]/ns:currencyCode", 'ns' => SERVICE_NAMESPACE)),
            content_at(reply.at_xpath("//ns:getTransactionsResponse/ns:transactionsArray/ns:transaction[#{i}]/ns:amount", 'ns' => SERVICE_NAMESPACE)),
            content_at(reply.at_xpath("//ns:getTransactionsResponse/ns:transactionsArray/ns:transaction[#{i}]/ns:narrative", 'ns' => SERVICE_NAMESPACE))
          )
          i = i + 1;
        end
        transactionsArray = GetTransactions::TransactionsArray.new(txnArray)
        return GetTransactions::Result.new(
          content_at(reply.at_xpath('//ns:getTransactionsResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:getTransactionsResponse/ns:numTransactions', 'ns' => SERVICE_NAMESPACE)),
          transactionsArray
        )
      when :payToAccount
        return PayToAccount::Result.new(
          content_at(reply.at_xpath('//ns:payToAccountResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:payToAccountResponse/ns:uniqueResponseNo', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:payToAccountResponse/ns:transferType', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:payToAccountResponse/ns:bankReferenceNo', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:payToAccountResponse/ns:serviceCharge', 'ns' => SERVICE_NAMESPACE))
        )
      when :payToContact
        return PayToContact::Result.new(
          content_at(reply.at_xpath('//ns:payToContactResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:payToContactResponse/ns:uniqueResponseNo', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:payToContactResponse/ns:appID', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:payToContactResponse/ns:serviceCharge', 'ns' => SERVICE_NAMESPACE))
        )
      when :topUp
        return TopUp::Result.new(
          content_at(reply.at_xpath('//ns:topUpResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:topUpResponse/ns:uniqueResponseNo', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:topUpResponse/ns:serviceCharge', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:topUpResponse/ns:debitReferenceNo', 'ns' => SERVICE_NAMESPACE)),
          content_at(reply.at_xpath('//ns:topUpResponse/ns:billerReferenceNo', 'ns' => SERVICE_NAMESPACE))
        )
      when :verifyPIN
        return VerifyPIN::Result.new(
          content_at(reply.at_xpath('//ns:verifyPINResponse/ns:version', 'ns' => SERVICE_NAMESPACE))
        )
    end         
  end
end
uri() click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 224
def self.uri()
  return '/PrepaidCardService'
end

Private Instance Methods

url() click to toggle source
# File lib/api_banking/soap/prepaidCardService.rb, line 326
def url
  return '/PrepaidCardService'
end