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 +4 -4
- data/lib/api_banking/environment/ybl/env.rb +2 -1
- data/lib/api_banking/soap/aadhaarVerificationService.rb +141 -0
- data/lib/api_banking/soap/domesticRemittanceByPartnerService.rb +1 -1
- data/lib/api_banking/soap/fundsTransferByCustomerService.rb +1 -1
- data/lib/api_banking/soap/fundsTransferByCustomerService2.rb +1 -1
- data/lib/api_banking/soap/instantCreditService.rb +1 -1
- data/lib/api_banking/soap/instantMoneyTransferService.rb +10 -10
- data/lib/api_banking/soap/inwardRemittanceByPartnerService.rb +1 -1
- data/lib/api_banking/soap/notificationService.rb +1 -1
- data/lib/api_banking/soap/prepaidCardManagementService.rb +1 -1
- data/lib/api_banking/soap/prepaidCardService.rb +1 -1
- data/lib/api_banking/soap/soap_client.rb +69 -31
- data/lib/api_banking/soap/socialBankingService.rb +1 -1
- data/lib/api_banking/soap/virtualCardManagementService.rb +1 -1
- data/lib/api_banking/version.rb +1 -1
- data/lib/api_banking.rb +1 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8ac48c6e64b440bcc5464c7a72b6434e69ffe7d
|
4
|
+
data.tar.gz: 106789341846c7bd9bda683207cffd5099ad7ec4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 InstantMoneyTransferService <
|
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(:
|
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
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
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
|
@@ -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
|
-
|
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
|
-
|
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
|
-
|
115
|
-
|
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.
|
119
|
-
|
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
|
-
|
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
|
data/lib/api_banking/version.rb
CHANGED
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.
|
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-
|
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.
|
172
|
+
rubygems_version: 2.4.6
|
172
173
|
signing_key:
|
173
174
|
specification_version: 4
|
174
175
|
summary: Ruby SDK to Connect to Banks
|