api_banking 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ff6de2ae09b3e08f9432dc01bcb07c6965e9e92
4
- data.tar.gz: 8ae6ed9bcffb9d0d25aaa695892a9236aeb45e41
3
+ metadata.gz: a8ac48c6e64b440bcc5464c7a72b6434e69ffe7d
4
+ data.tar.gz: 106789341846c7bd9bda683207cffd5099ad7ec4
5
5
  SHA512:
6
- metadata.gz: c1b46160154cb6b136f23a78af5aa2dd0cfb562be5b7c7b28391a61abfd0e9d1a3cb3a5720526442f4fcc8c45eb57564c67e96fe28160cb38fca2f62718c8547
7
- data.tar.gz: fc5ebbe32fa10717e99169bed71e8fac3af9559f00bbf20af58f6b392e118c0e8b7fb208c8193641a0b05634b8544506950d011ba5aaf49e2ab100bd126d4d86
6
+ metadata.gz: 8552687923c53d39f3216ef0d367858bfb2e811478696f57585acf4572fdcff1bd110f0e9164e7cbc9c201a600231ba702410b8da84ed836d5e0be5f2eb4101a
7
+ data.tar.gz: 7c5dd89d3dc2d8ece6ce944ec462a95c85ccdda47ab56c6ec7e51d2ed7e7e5a0f84ca549f4d08f407a749cd2a4b50c07b72a21ae10af31d4e4f9e399465727d9
@@ -13,7 +13,8 @@ module ApiBanking
13
13
  PrepaidCardService: 'https://uatsky.yesbank.in:7081/PrepaidCardService',
14
14
  SocialBankingService: 'https://uatsky.yesbank.in/app/uat/SocialBankingServiceHttpService',
15
15
  VirtualCardManagementService: 'https://uatsky.yesbank.in/app/uat/VirtualCardManagementService',
16
- InwardRemittanceByPartnerService: 'https://uatsky.yesbank.in:7081/InwardRemittanceByPartnerService'
16
+ InwardRemittanceByPartnerService: 'https://uatsky.yesbank.in:7081/InwardRemittanceByPartnerService',
17
+ AadhaarVerificationService: 'https://uatsky.yesbank.in/app/uat/ssl/eKYC'
17
18
  }
18
19
  end
19
20
  end
@@ -0,0 +1,141 @@
1
+ module ApiBanking
2
+ class AadhaarVerificationService < Soap11Client
3
+
4
+ SERVICE_NAMESPACE = 'http://xmlns.yesbank.com/WS/EKYCDataElement'
5
+ SERVICE_VERSION = "1.0"
6
+
7
+ attr_accessor :request, :result
8
+
9
+ #verification
10
+ module Verification
11
+ Request = Struct.new(:getDemoAuthDataReq)
12
+ GetDemoAuthDataReq = Struct.new(:reqHdr, :reqBody)
13
+ ReqHdr = Struct.new(:consumerContext, :serviceContext)
14
+ ConsumerContext = Struct.new(:requesterID)
15
+ ServiceContext = Struct.new(:serviceName, :reqRefNum, :reqRefTimeStamp, :serviceVersionNo)
16
+ ReqBody = Struct.new(:demographicDataModel)
17
+ DemographicDataModel = Struct.new(:aadhaarName, :aadhaarNo, :agentID, :dob, :gender, :loginKey, :merchantId, :merchantTransactionId, :pincode, :terminalID)
18
+
19
+ Result = Struct.new(:getDemoAuthDataRes)
20
+ GetDemoAuthDataRes = Struct.new(:resHdr)
21
+ ResHdr = Struct.new(:consumerContext, :serviceContext, :serviceResponse, :errorDetails)
22
+ ServiceResponse = Struct.new(:esbResTimeStamp, :esbResStatus)
23
+ ErrorDetails = Struct.new(:errorInfo)
24
+ ErrorInfo = Struct.new(:errSrc, :hostErrCode, :hostErrDesc)
25
+ end
26
+
27
+ class << self
28
+ attr_accessor :configuration
29
+ end
30
+
31
+ def self.configure
32
+ self.configuration ||= Configuration.new
33
+ yield(configuration)
34
+ end
35
+
36
+ class Configuration
37
+ attr_accessor :environment, :proxy, :timeout
38
+ end
39
+
40
+ def self.getDemoAuthData(request)
41
+ reply = do_remote_call("http://xmlns.yesbank.com/WS/EKYCService/GetDemoAuthData") do |xml|
42
+ xml.GetDemoAuthDataReq("xmlns:eky" => SERVICE_NAMESPACE ) do
43
+ xml.parent.namespace = xml.parent.namespace_definitions.first
44
+ xml['eky'].ReqHdr do |header|
45
+ header.ConsumerContext do |consumer|
46
+ consumer.parent.namespace = nil
47
+ consumer.RequesterID request.getDemoAuthDataReq.reqHdr.consumerContext.requesterID
48
+ end
49
+ header.ServiceContext do |service|
50
+ service.parent.namespace = nil
51
+ service.ServiceName 'EKYCService'
52
+ service.ReqRefNum request.getDemoAuthDataReq.reqHdr.serviceContext.reqRefNum
53
+ service.ReqRefTimeStamp Time.now.strftime '%Y-%m-%dT%H:%M:%S'
54
+ service.ServiceVersionNo SERVICE_VERSION
55
+ end
56
+ end
57
+ xml['eky'].ReqBody do |body|
58
+ body['eky'].DemographicDataModel do |data|
59
+ data['eky'].AadhaarName request.getDemoAuthDataReq.reqBody.demographicDataModel.aadhaarName
60
+ data['eky'].AadhaarNo request.getDemoAuthDataReq.reqBody.demographicDataModel.aadhaarNo
61
+ data['eky'].AgentID request.getDemoAuthDataReq.reqBody.demographicDataModel.agentID
62
+ data['eky'].DOB['xsi:nil'] = true if request.getDemoAuthDataReq.reqBody.demographicDataModel.dob.nil?
63
+ data['eky'].DOB request.getDemoAuthDataReq.reqBody.demographicDataModel.dob unless request.getDemoAuthDataReq.reqBody.demographicDataModel.dob.nil?
64
+ data['eky'].Gender['xsi:nil'] = true if request.getDemoAuthDataReq.reqBody.demographicDataModel.gender.nil?
65
+ data['eky'].Gender request.getDemoAuthDataReq.reqBody.demographicDataModel.gender unless request.getDemoAuthDataReq.reqBody.demographicDataModel.gender.nil?
66
+ data['eky'].Loginkey request.getDemoAuthDataReq.reqBody.demographicDataModel.loginKey
67
+ data['eky'].MerchantId request.getDemoAuthDataReq.reqBody.demographicDataModel.merchantId
68
+ data['eky'].MerchantTransactionId request.getDemoAuthDataReq.reqBody.demographicDataModel.merchantTransactionId
69
+ data['eky'].Pincode request.getDemoAuthDataReq.reqBody.demographicDataModel.pincode
70
+ data['eky'].TerminalID request.getDemoAuthDataReq.reqBody.demographicDataModel.terminalID
71
+ end
72
+ end
73
+ end
74
+ end
75
+ parse_reply(:getDemoAuthData, reply)
76
+ end
77
+
78
+ private
79
+
80
+ def self.uri()
81
+ return '/eKYC'
82
+ end
83
+
84
+ Result = Struct.new(:getDemoAuthDataRes)
85
+ getDemoAuthDataRes = Struct.new(:resHdr)
86
+ ResHdr = Struct.new(:consumerContext, :serviceContext, :serviceResponse, :errorDetails)
87
+ ServiceResponse = Struct.new(:esbResTimeStamp, :esbResStatus)
88
+ ConsumerContext = Struct.new(:requesterID)
89
+ ServiceContext = Struct.new(:serviceName, :reqRefNum, :reqRefTimeStamp, :serviceVersionNo)
90
+ ErrorDetails = Struct.new(:errorInfo)
91
+ ErrorInfo = Struct.new(:errSrc, :hostErrCode, :hostErrDesc)
92
+
93
+ def self.parse_reply(operationName, reply)
94
+ if reply.kind_of?Fault
95
+ return reply
96
+ else
97
+ case operationName
98
+ when :getDemoAuthData
99
+ service_response = Verification::ServiceResponse.new(
100
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceResponse/EsbResTimeStamp', 'NS1' => SERVICE_NAMESPACE)),
101
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceResponse/EsbResStatus', 'NS1' => SERVICE_NAMESPACE))
102
+ )
103
+ consumer_context = Verification::ConsumerContext.new(
104
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ConsumerContext/RequesterID', 'NS1' => SERVICE_NAMESPACE))
105
+ )
106
+ service_context = Verification::ServiceContext.new(
107
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceContext/ServiceName', 'NS1' => SERVICE_NAMESPACE)),
108
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceContext/ReqRefNum', 'NS1' => SERVICE_NAMESPACE)),
109
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceContext/ReqRefTimeStamp', 'NS1' => SERVICE_NAMESPACE)),
110
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ServiceContext/ServiceVersionNo', 'NS1' => SERVICE_NAMESPACE))
111
+ )
112
+ error_info = Verification::ErrorInfo.new(
113
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ErrorDetails/ErrorInfo/ErrSrc', 'NS1' => SERVICE_NAMESPACE)),
114
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ErrorDetails/ErrorInfo/HostErrCode', 'NS1' => SERVICE_NAMESPACE)),
115
+ content_at(reply.at_xpath('//NS1:getDemoAuthDataRes/NS1:ReqHdr/ErrorDetails/ErrorInfo/HostErrDesc', 'NS1' => SERVICE_NAMESPACE))
116
+ )
117
+ error_details = Verification::ConsumerContext.new(
118
+ error_info
119
+ )
120
+ header = Verification::ResHdr.new(
121
+ consumer_context,
122
+ service_context,
123
+ service_response,
124
+ error_details
125
+ )
126
+ res = Verification::GetDemoAuthDataRes.new(
127
+ header
128
+ )
129
+ return Verification::Result.new(
130
+ res
131
+ )
132
+ end
133
+ end
134
+ end
135
+
136
+ def url
137
+ return '/eKYC'
138
+ end
139
+
140
+ end
141
+ end
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class DomesticRemittanceByPartnerService < SoapClient
2
+ class DomesticRemittanceByPartnerService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class FundsTransferByCustomerService < SoapClient
2
+ class FundsTransferByCustomerService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class FundsTransferByCustomerService2 < SoapClient
2
+ class FundsTransferByCustomerService2 < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class InstantCreditService < SoapClient
2
+ class InstantCreditService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class InstantMoneyTransferService < SoapClient
2
+ class InstantMoneyTransferService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -144,7 +144,7 @@ module ApiBanking
144
144
  end
145
145
  end
146
146
 
147
- parse_reply(:deleteBeneficiary, reply)
147
+ parse_reply(:cancelTransfer, reply)
148
148
  end
149
149
 
150
150
  private
@@ -193,14 +193,14 @@ module ApiBanking
193
193
  beneArray
194
194
  )
195
195
  when :cancelTransfer
196
- cancelResult = CancelTransfer::CancelResult.new(
197
- content_at(reply.at_xpath('//ns:cancelTransferResponse/ns:cancelResult/ns:imtReferenceNo', 'ns' => SERVICE_NAMESPACE)),
198
- content_at(reply.at_xpath('//ns:cancelTransferResponse/ns:cancelResult/ns:bankReferenceNo', 'ns' => SERVICE_NAMESPACE))
199
- )
200
- return CancelTransfer::Result.new(
201
- content_at(reply.at_xpath('//ns:cancelTransferResponse/ns:uniqueResponseNo', 'ns' => SERVICE_NAMESPACE)),
202
- cancelResult
203
- )
196
+ cancelResult = CancelTransfer::CancelResult.new(
197
+ content_at(reply.at_xpath('//ns:cancelTransferResponse/ns:cancelResult/ns:imtReferenceNo', 'ns' => SERVICE_NAMESPACE)),
198
+ content_at(reply.at_xpath('//ns:cancelTransferResponse/ns:cancelResult/ns:bankReferenceNo', 'ns' => SERVICE_NAMESPACE))
199
+ )
200
+ return CancelTransfer::Result.new(
201
+ content_at(reply.at_xpath('//ns:cancelTransferResponse/ns:uniqueResponseNo', 'ns' => SERVICE_NAMESPACE)),
202
+ cancelResult
203
+ )
204
204
  end
205
205
  end
206
206
  end
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class InwardRemittanceByPartnerService < SoapClient
2
+ class InwardRemittanceByPartnerService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class NotificationService < SoapClient
2
+ class NotificationService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class PrepaidCardManagementService < SoapClient
2
+ class PrepaidCardManagementService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class PrepaidCardService < SoapClient
2
+ class PrepaidCardService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -7,16 +7,14 @@ module ApiBanking
7
7
  @@last_response
8
8
  end
9
9
 
10
- def self.do_remote_call(&block)
10
+ def self.do_remote_call(soapAction = nil, &block)
11
11
  data = construct_envelope(&block)
12
12
  options = {}
13
13
  options[:method] = :post
14
14
  options[:body] = data.to_xml
15
-
16
- options[:headers] = {'Content-Type' => "application/xml; charset=utf-8"}
17
-
18
- # SOAPAction header is not allowed for Soap12
19
- # options[:headers][:SOAPAction] = data.doc.at_xpath('/soapenv12:Envelope/soapenv12:Body/*', 'soapenv12' => 'http://www.w3.org/2003/05/soap-envelope').name
15
+
16
+ # add soap11/12 specific headers
17
+ add_soap_headers(options, soapAction)
20
18
 
21
19
  options[:proxy] = self.configuration.proxy
22
20
  options[:timeout] = self.configuration.timeout
@@ -35,6 +33,7 @@ module ApiBanking
35
33
 
36
34
 
37
35
  private
36
+
38
37
  def self.set_options_for_environment(options)
39
38
  if self.configuration.environment.kind_of?ApiBanking::Environment::YBL::PRD
40
39
  options[:userpwd] = "#{self.configuration.environment.user}:#{self.configuration.environment.password}"
@@ -54,17 +53,7 @@ module ApiBanking
54
53
  end
55
54
  end
56
55
 
57
- def self.construct_envelope(&block)
58
- Nokogiri::XML::Builder.new do |xml|
59
- xml.Envelope("xmlns:soap12" => "http://www.w3.org/2003/05/soap-envelope",
60
- "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
61
- "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema") do
62
- xml.parent.namespace = xml.parent.namespace_definitions.first
63
- xml['soap12'].Header
64
- xml['soap12'].Body(&block)
65
- end
66
- end
67
- end
56
+
68
57
 
69
58
  def self.parse_response(response)
70
59
  if response.success?
@@ -76,20 +65,18 @@ module ApiBanking
76
65
  elsif response.code == 0
77
66
  return Fault.new(response.code, "", response.return_message)
78
67
  else
79
- # http status indicating error
68
+ # http status indicating error, is either a datapower failure or a soap fault
80
69
  if response.headers['Content-Type'] =~ /xml/ then
81
70
  reply = Nokogiri::XML(response.response_body)
82
71
 
83
- # service failures return a fault
84
- unless reply.at_xpath('//soapenv12:Fault', 'soapenv12' => 'http://www.w3.org/2003/05/soap-envelope').nil? then
85
- return parse_fault(reply)
86
- end
87
-
88
72
  # datapower failures return an xml
89
73
  unless reply.at_xpath('//errorResponse').nil? then
90
74
  return parse_dp_reply(reply)
91
75
  end
92
76
 
77
+ # has to be a soapfault
78
+ return parse_fault(reply)
79
+
93
80
  end
94
81
  return Fault.new("#{response.code.to_s}", "", response.status_message)
95
82
  end
@@ -101,26 +88,77 @@ module ApiBanking
101
88
  return Fault.new(code, "", reasonText)
102
89
  end
103
90
 
91
+ def self.content_at(node)
92
+ node.content unless node.nil?
93
+ end
94
+
95
+ end
96
+
97
+ class Soap12Client < SoapClient
98
+ private
99
+
100
+ def self.add_soap_headers(options, soapAction)
101
+ options[:headers] = {'Content-Type' => "application/xml; charset=utf-8"}
102
+
103
+ # SOAPAction header is not allowed for Soap12
104
+ # options[:headers][:SOAPAction] = data.doc.at_xpath('/soapenv12:Envelope/soapenv12:Body/*', 'soapenv12' => 'http://www.w3.org/2003/05/soap-envelope').name
105
+
106
+ end
107
+
108
+ def self.construct_envelope(&block)
109
+ Nokogiri::XML::Builder.new do |xml|
110
+ xml.Envelope("xmlns:soap12" => "http://www.w3.org/2003/05/soap-envelope",
111
+ "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
112
+ "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema") do
113
+ xml.parent.namespace = xml.parent.namespace_definitions.first
114
+ xml['soap12'].Header
115
+ xml['soap12'].Body(&block)
116
+ end
117
+ end
118
+ end
119
+
104
120
  def self.parse_fault(reply)
105
121
  code = content_at(reply.at_xpath('//soapenv12:Fault/soapenv12:Code/soapenv12:Subcode/soapenv12:Value', 'soapenv12' => 'http://www.w3.org/2003/05/soap-envelope'))
106
122
  subcode = content_at(reply.at_xpath('//soapenv12:Fault/soapenv12:Code/soapenv12:Subcode/soapenv12:Subcode/soapenv12:Value', 'soapenv12' => 'http://www.w3.org/2003/05/soap-envelope'))
107
123
  reasonText = content_at(reply.at_xpath('//soapenv12:Fault/soapenv12:Reason/soapenv12:Text', 'soapenv12' => 'http://www.w3.org/2003/05/soap-envelope'))
108
- # detail = parse_detail(reply.at_xpath('//soapenv12:Fault/soapenv12:Detail', 'soapenv12' => 'http://www.w3.org/2003/05/soap-envelope'))
109
124
 
110
125
  code ||= 'ns:E500' # in certain cases, a fault code isn't set by the server
111
126
  return Fault.new(code, subcode, reasonText)
112
127
  end
128
+
113
129
 
114
- def self.parse_detail(node)
115
- return content_at(node.at_xpath('Text')) #
130
+ end
131
+
132
+ class Soap11Client < SoapClient
133
+ private
134
+
135
+ def self.add_soap_headers(options, soapAction)
136
+ options[:headers] = {'Content-Type' => "text/xml;charset=UTF-8"}
137
+
138
+ # SOAPAction header is mandatory for Soap11
139
+ options[:headers][:SOAPAction] = soapAction
116
140
  end
141
+
142
+ def self.construct_envelope(&block)
143
+ Nokogiri::XML::Builder.new do |xml|
144
+ xml.Envelope("xmlns:soap11" => "http://schemas.xmlsoap.org/soap/envelope/",
145
+ "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
146
+ "xmlns:xsd" => "http://www.w3.org/2001/XMLSchema") do
147
+ xml.parent.namespace = xml.parent.namespace_definitions.first
148
+ xml['soap11'].Header
149
+ xml['soap11'].Body(&block)
150
+ end
151
+ end
152
+ end
117
153
 
118
- def self.content_at(node)
119
- node.content unless node.nil?
154
+ def self.parse_fault(reply)
155
+ code = nil # soap11 fault codes are meaningless
156
+ reasonText = content_at(reply.at_xpath('//soapenv11:Fault/faultstring', 'soapenv11' => 'http://schemas.xmlsoap.org/soap/envelope/'))
157
+
158
+ code ||= 'ns:E500' # in certain cases, a fault code isn't set by the server
159
+ return Fault.new(code, nil, reasonText)
120
160
  end
121
161
 
122
- def self.part_name(message)
123
- message.at_xpath('/soapenv12:Envelope/soapenv12:Body/*', 'soapenv12' => 'http://www.w3.org/2003/05/soap-envelope').name
124
- end
162
+
125
163
  end
126
164
  end
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class SocialBankingService < SoapClient
2
+ class SocialBankingService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,5 +1,5 @@
1
1
  module ApiBanking
2
- class VirtualCardManagementService < SoapClient
2
+ class VirtualCardManagementService < Soap12Client
3
3
 
4
4
  SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
5
5
  SERVICE_VERSION = 1
@@ -1,3 +1,3 @@
1
1
  module ApiBanking
2
- VERSION = "0.1.13"
2
+ VERSION = "0.1.14"
3
3
  end
data/lib/api_banking.rb CHANGED
@@ -19,6 +19,7 @@ require_relative "api_banking/soap/prepaidCardService"
19
19
  require_relative "api_banking/soap/socialBankingService"
20
20
  require_relative "api_banking/soap/virtualCardManagementService"
21
21
  require_relative "api_banking/soap/inwardRemittanceByPartnerService"
22
+ require_relative "api_banking/soap/aadhaarVerificationService"
22
23
 
23
24
  require_relative "api_banking/json/json_client"
24
25
  require_relative "api_banking/json/singlePayment"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_banking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - akil
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-18 00:00:00.000000000 Z
11
+ date: 2016-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -134,6 +134,7 @@ files:
134
134
  - lib/api_banking/environment/ybl/prd.pem
135
135
  - lib/api_banking/json/json_client.rb
136
136
  - lib/api_banking/json/singlePayment.rb
137
+ - lib/api_banking/soap/aadhaarVerificationService.rb
137
138
  - lib/api_banking/soap/domesticRemittanceByPartnerService.rb
138
139
  - lib/api_banking/soap/fault.rb
139
140
  - lib/api_banking/soap/fundsTransferByCustomerService.rb
@@ -168,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
169
  version: '0'
169
170
  requirements: []
170
171
  rubyforge_project:
171
- rubygems_version: 2.4.7
172
+ rubygems_version: 2.4.6
172
173
  signing_key:
173
174
  specification_version: 4
174
175
  summary: Ruby SDK to Connect to Banks