class ApiBanking::FundsTransferByCustomerService
Constants
- SERVICE_NAMESPACE
- SERVICE_VERSION
Attributes
configuration[RW]
request[RW]
result[RW]
Public Class Methods
configure() { |configuration| ... }
click to toggle source
# File lib/api_banking/soap/fundsTransferByCustomerService.rb, line 29 def self.configure self.configuration ||= Configuration.new yield(configuration) end
get_status(env, request)
click to toggle source
# File lib/api_banking/soap/fundsTransferByCustomerService.rb, line 80 def self.get_status(env, request) reply = do_remote_call(env) do |xml| xml.getStatus("xmlns:ns" => SERVICE_NAMESPACE ) do xml.parent.namespace = xml.parent.namespace_definitions.first xml['ns'].version SERVICE_VERSION xml['ns'].customerID request.customerID xml['ns'].requestReferenceNo request.requestReferenceNo end end parse_reply(:getStatus, reply) end
transfer(env, request)
click to toggle source
# File lib/api_banking/soap/fundsTransferByCustomerService.rb, line 38 def self.transfer(env, request) reply = do_remote_call(env) do |xml| xml.transfer("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'].customerID request.customerID xml['ns'].debitAccountNo request.debitAccountNo xml['ns'].beneficiary do |xml| xml.beneficiaryDetail do |xml| xml.beneficiaryName do |xml| xml.fullName request.beneficiary.fullName end xml.beneficiaryAddress do |xml| if request.beneficiary.address.kind_of? Transfer::Address xml.address1 request.beneficiary.address.address1 xml.address2 request.beneficiary.address.address2 unless request.beneficiary.address.address2.nil? xml.address3 request.beneficiary.address.address3 unless request.beneficiary.address.address3.nil? xml.postalCode request.beneficiary.address.postalCode unless request.beneficiary.address.postalCode.nil? xml.city request.beneficiary.address.city unless request.beneficiary.address.city.nil? xml.stateOrProvince request.beneficiary.address.stateOrProvince unless request.beneficiary.address.stateOrProvince.nil? xml.country request.beneficiary.address.country unless request.beneficiary.address.country.nil? else xml.address1 request.beneficiary.address end end xml.beneficiaryContact do |xml| end xml.beneficiaryAccountNo request.beneficiary.accountNo xml.beneficiaryIFSC request.beneficiary.accountIFSC end end xml.transferType request.transferType xml.transferCurrencyCode 'INR' xml.transferAmount request.transferAmount xml.remitterToBeneficiaryInfo request.remitterToBeneficiaryInfo end end parse_reply(:transferResponse, reply) end
Private Class Methods
parse_reply(operationName, reply)
click to toggle source
# File lib/api_banking/soap/fundsTransferByCustomerService.rb, line 103 def self.parse_reply(operationName, reply) if reply.kind_of?Fault return reply else case operationName when :transferResponse transactionStatus = Transfer::TransactionStatus.new( content_at(reply.at_xpath('//ns:transferResponse/ns:transactionStatus/ns:statusCode', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:transferResponse/ns:transactionStatus/ns:subStatusCode', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:transferResponse/ns:transactionStatus/ns:bankReferenceNo', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:transferResponse/ns:transactionStatus/ns:beneficiaryReferenceNo', 'ns' => SERVICE_NAMESPACE)) ) return Transfer::Result.new( content_at(reply.at_xpath('//ns:transferResponse/ns:version', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:transferResponse/ns:uniqueResponseNo', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:transferResponse/ns:attemptNo', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:transferResponse/ns:transferType', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:transferResponse/ns:lowBalanceAlert', 'ns' => SERVICE_NAMESPACE)), transactionStatus ) when :getStatus transactionStatus = GetStatus::TransactionStatus.new( content_at(reply.at_xpath('//ns:getStatusResponse/ns:transactionStatus/ns:statusCode', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:getStatusResponse/ns:transactionStatus/ns:subStatusCode', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:getStatusResponse/ns:transactionStatus/ns:bankReferenceNo', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:getStatusResponse/ns:transactionStatus/ns:beneficiaryReferenceNo', 'ns' => SERVICE_NAMESPACE)) ) return GetStatus::Result.new( content_at(reply.at_xpath('//ns:getStatusResponse//ns:version', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:getStatusResponse/ns:transferType', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:getStatusResponse/ns:reqTransferType', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:getStatusResponse/ns:transactionDate', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:getStatusResponse/ns:transferAmount', 'ns' => SERVICE_NAMESPACE)), content_at(reply.at_xpath('//ns:getStatusResponse/ns:transferCurrencyCode', 'ns' => SERVICE_NAMESPACE)), transactionStatus ) end end end
uri()
click to toggle source
# File lib/api_banking/soap/fundsTransferByCustomerService.rb, line 95 def self.uri() if self.configuration.environment.kind_of?ApiBanking::Environment::YBL::UAT return '/fundsTransferByCustomerServiceHttpService' else return '/fundsTransferByCustomerService' end end