api_banking 0.1.12 → 0.1.13
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ff6de2ae09b3e08f9432dc01bcb07c6965e9e92
|
4
|
+
data.tar.gz: 8ae6ed9bcffb9d0d25aaa695892a9236aeb45e41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1b46160154cb6b136f23a78af5aa2dd0cfb562be5b7c7b28391a61abfd0e9d1a3cb3a5720526442f4fcc8c45eb57564c67e96fe28160cb38fca2f62718c8547
|
7
|
+
data.tar.gz: fc5ebbe32fa10717e99169bed71e8fac3af9559f00bbf20af58f6b392e118c0e8b7fb208c8193641a0b05634b8544506950d011ba5aaf49e2ab100bd126d4d86
|
data/lib/api_banking.rb
CHANGED
@@ -18,6 +18,7 @@ require_relative "api_banking/soap/prepaidCardManagementService"
|
|
18
18
|
require_relative "api_banking/soap/prepaidCardService"
|
19
19
|
require_relative "api_banking/soap/socialBankingService"
|
20
20
|
require_relative "api_banking/soap/virtualCardManagementService"
|
21
|
+
require_relative "api_banking/soap/inwardRemittanceByPartnerService"
|
21
22
|
|
22
23
|
require_relative "api_banking/json/json_client"
|
23
24
|
require_relative "api_banking/json/singlePayment"
|
@@ -12,7 +12,8 @@ module ApiBanking
|
|
12
12
|
PrepaidCardManagementService: 'https://uatsky.yesbank.in:7081/PrepaidCardManagementService',
|
13
13
|
PrepaidCardService: 'https://uatsky.yesbank.in:7081/PrepaidCardService',
|
14
14
|
SocialBankingService: 'https://uatsky.yesbank.in/app/uat/SocialBankingServiceHttpService',
|
15
|
-
VirtualCardManagementService: 'https://uatsky.yesbank.in/app/uat/VirtualCardManagementService'
|
15
|
+
VirtualCardManagementService: 'https://uatsky.yesbank.in/app/uat/VirtualCardManagementService',
|
16
|
+
InwardRemittanceByPartnerService: 'https://uatsky.yesbank.in:7081/InwardRemittanceByPartnerService'
|
16
17
|
}
|
17
18
|
end
|
18
19
|
end
|
@@ -0,0 +1,176 @@
|
|
1
|
+
module ApiBanking
|
2
|
+
class InwardRemittanceByPartnerService < SoapClient
|
3
|
+
|
4
|
+
SERVICE_NAMESPACE = 'http://www.quantiguous.com/services'
|
5
|
+
SERVICE_VERSION = 1
|
6
|
+
|
7
|
+
attr_accessor :request, :result
|
8
|
+
|
9
|
+
#remit
|
10
|
+
module Remit
|
11
|
+
Name = Struct.new(:fullName)
|
12
|
+
Address = Struct.new(:address1, :address2, :address3, :postalCode, :city, :stateOrProvince, :country)
|
13
|
+
Contact = Struct.new(:mobileNo, :emailID)
|
14
|
+
Identities = Struct.new(:identity)
|
15
|
+
Identity = Struct.new(:idType, :idNumber, :idCountry, :issueDate, :expiryDate)
|
16
|
+
Request = Struct.new(:version, :uniqueRequestNo, :partnerCode, :remitterType, :remitterName, :remitterAddress, :remitterContact, :remitterIdentities,
|
17
|
+
:beneficiaryType, :beneficiaryName, :beneficiaryAddress, :beneficiaryContact, :beneficiaryIdentities, :beneficiaryAccountNo,
|
18
|
+
:beneficiaryIFSC, :transferType, :transferCurrencyCode, :transferAmount, :remitterToBeneficiaryInfo, :purposeCode)
|
19
|
+
TransactionStatus = Struct.new(:statusCode, :subStatusCode, :bankReferenceNo, :beneficiaryReferenceNo)
|
20
|
+
ItemsForReview = Struct.new(:itemForReview)
|
21
|
+
ItemForReview = Struct.new(:justificationCode, :justificationText, :statusCode, :reviewedOn, :reviewRemark)
|
22
|
+
ReviewStatus = Struct.new(:reviewRequired, :itemsForReview)
|
23
|
+
Result = Struct.new(:version, :uniqueResponseNo, :attemptNo, :transferType, :lowBalanceAlert, :transactionStatus, :reviewStatus)
|
24
|
+
end
|
25
|
+
|
26
|
+
class << self
|
27
|
+
attr_accessor :configuration
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.configure
|
31
|
+
self.configuration ||= Configuration.new
|
32
|
+
yield(configuration)
|
33
|
+
end
|
34
|
+
|
35
|
+
class Configuration
|
36
|
+
attr_accessor :environment, :proxy, :timeout
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.remit(request)
|
40
|
+
reply = do_remote_call do |xml|
|
41
|
+
xml.remit("xmlns:ns" => SERVICE_NAMESPACE ) do
|
42
|
+
xml.parent.namespace = xml.parent.namespace_definitions.first
|
43
|
+
xml['ns'].version SERVICE_VERSION
|
44
|
+
xml['ns'].uniqueRequestNo request.uniqueRequestNo
|
45
|
+
xml['ns'].partnerCode request.partnerCode
|
46
|
+
xml['ns'].remitterType request.remitterType
|
47
|
+
xml['ns'].remitterName do |xml|
|
48
|
+
xml.fullName request.remitterName.fullName
|
49
|
+
end
|
50
|
+
unless request.remitterAddress.address1.nil?
|
51
|
+
xml.remitterAddress do |xml|
|
52
|
+
xml.address1 request.remitterAddress.address1
|
53
|
+
xml.address2 request.remitterAddress.address2 unless request.remitterAddress.address2.nil?
|
54
|
+
xml.address3 request.remitterAddress.address3 unless request.remitterAddress.address3.nil?
|
55
|
+
xml.postalCode request.remitterAddress.postalCode unless request.remitterAddress.postalCode.nil?
|
56
|
+
xml.city request.remitterAddress.city unless request.remitterAddress.city.nil?
|
57
|
+
xml.stateOrProvince request.remitterAddress.stateOrProvince unless request.remitterAddress.stateOrProvince.nil?
|
58
|
+
xml.country request.remitterAddress.country unless request.remitterAddress.country.nil?
|
59
|
+
end
|
60
|
+
end
|
61
|
+
xml.remitterContact do |xml|
|
62
|
+
xml.mobileNo request.remitterContact.mobileNo unless request.remitterContact.mobileNo.nil?
|
63
|
+
xml.mobileNo request.remitterContact.emailID unless request.remitterContact.emailID.nil?
|
64
|
+
end
|
65
|
+
xml.remitterIdentities do |xml|
|
66
|
+
unless request.remitterIdentities.identity.nil?
|
67
|
+
request.remitterIdentities.identity.each_with_index do |identity, index|
|
68
|
+
xml.identity do |xml|
|
69
|
+
xml.idType request.remitterIdentities.identity[index].idType unless request.remitterIdentities.identity[index].idType.nil?
|
70
|
+
xml.idNumber request.remitterIdentities.identity[index].idNumber unless request.remitterIdentities.identity[index].idNumber.nil?
|
71
|
+
xml.idCountry request.remitterIdentities.identity[index].idCountry unless request.remitterIdentities.identity[index].idCountry.nil?
|
72
|
+
xml.issueDate request.remitterIdentities.identity[index].issueDate unless request.remitterIdentities.identity[index].issueDate.nil?
|
73
|
+
xml.expiryDate request.remitterIdentities.identity[index].expiryDate unless request.remitterIdentities.identity[index].expiryDate.nil?
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
xml.beneficiaryType request.beneficiaryType
|
79
|
+
xml['ns'].beneficiaryName do |xml|
|
80
|
+
xml.fullName request.beneficiaryName.fullName
|
81
|
+
end
|
82
|
+
unless request.beneficiaryAddress.address1.nil?
|
83
|
+
xml.beneficiaryAddress do |xml|
|
84
|
+
xml.address1 request.beneficiaryAddress.address1
|
85
|
+
xml.address2 request.beneficiaryAddress.address2 unless request.beneficiaryAddress.address2.nil?
|
86
|
+
xml.address3 request.beneficiaryAddress.address3 unless request.beneficiaryAddress.address3.nil?
|
87
|
+
xml.postalCode request.beneficiaryAddress.postalCode unless request.beneficiaryAddress.postalCode.nil?
|
88
|
+
xml.city request.beneficiaryAddress.city unless request.beneficiaryAddress.city.nil?
|
89
|
+
xml.stateOrProvince request.beneficiaryAddress.stateOrProvince unless request.beneficiaryAddress.stateOrProvince.nil?
|
90
|
+
xml.country request.beneficiaryAddress.country unless request.beneficiaryAddress.country.nil?
|
91
|
+
end
|
92
|
+
end
|
93
|
+
xml.beneficiaryContact do |xml|
|
94
|
+
xml.mobileNo request.beneficiaryContact.mobileNo unless request.beneficiaryContact.mobileNo.nil?
|
95
|
+
xml.mobileNo request.beneficiaryContact.emailID unless request.beneficiaryContact.emailID.nil?
|
96
|
+
end
|
97
|
+
xml.beneficiaryIdentities do |xml|
|
98
|
+
unless request.beneficiaryIdentities.identity.nil?
|
99
|
+
request.beneficiaryIdentities.identity.each_with_index do |identity, index|
|
100
|
+
xml.identity do |xml|
|
101
|
+
xml.idType request.beneficiaryIdentities.identity[index].idType unless request.beneficiaryIdentities.identity[index].idType.nil?
|
102
|
+
xml.idNumber request.beneficiaryIdentities.identity[index].idNumber unless request.beneficiaryIdentities.identity[index].idNumber.nil?
|
103
|
+
xml.idCountry request.beneficiaryIdentities.identity[index].idCountry unless request.beneficiaryIdentities.identity[index].idCountry.nil?
|
104
|
+
xml.issueDate request.beneficiaryIdentities.identity[index].issueDate unless request.beneficiaryIdentities.identity[index].issueDate.nil?
|
105
|
+
xml.expiryDate request.beneficiaryIdentities.identity[index].expiryDate unless request.beneficiaryIdentities.identity[index].expiryDate.nil?
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
xml.beneficiaryAccountNo request.beneficiaryAccountNo
|
111
|
+
xml.beneficiaryIFSC request.beneficiaryIFSC
|
112
|
+
xml.transferType request.transferType
|
113
|
+
xml.transferCurrencyCode request.transferCurrencyCode
|
114
|
+
xml.transferAmount request.transferAmount
|
115
|
+
xml.remitterToBeneficiaryInfo request.remitterToBeneficiaryInfo
|
116
|
+
xml.purposeCode request.purposeCode
|
117
|
+
end
|
118
|
+
end
|
119
|
+
parse_reply(:remit, reply)
|
120
|
+
end
|
121
|
+
|
122
|
+
private
|
123
|
+
|
124
|
+
def self.uri()
|
125
|
+
return '/InwardRemittanceByPartnerService'
|
126
|
+
end
|
127
|
+
|
128
|
+
def self.parse_reply(operationName, reply)
|
129
|
+
if reply.kind_of?Fault
|
130
|
+
return reply
|
131
|
+
else
|
132
|
+
case operationName
|
133
|
+
when :remit
|
134
|
+
# numItems = reply.xpath('//ns:remitResponse/ns:itemsForReview/ns:itemForReview', 'ns' => SERVICE_NAMESPACE).count
|
135
|
+
# i = 1
|
136
|
+
# itemsArray = Array.new
|
137
|
+
# until i > numItems
|
138
|
+
# itemsArray << Remit::ItemForReview.new(
|
139
|
+
# content_at(reply.at_xpath("//ns:remitResponse/ns:reviewStatus/ns:/itemsForReview/ns:itemForReview[#{i}]/ns:justificationCode", 'ns' => SERVICE_NAMESPACE)),
|
140
|
+
# content_at(reply.at_xpath("//ns:remitResponse/ns:reviewStatus/ns:/itemsForReview/ns:itemForReview[#{i}]/ns:justificationText", 'ns' => SERVICE_NAMESPACE)),
|
141
|
+
# content_at(reply.at_xpath("//ns:remitResponse/ns:reviewStatus/ns:/itemsForReview/ns:itemForReview[#{i}]/ns:statusCode", 'ns' => SERVICE_NAMESPACE)),
|
142
|
+
# content_at(reply.at_xpath("//ns:remitResponse/ns:reviewStatus/ns:/itemsForReview/ns:itemForReview[#{i}]/ns:reviewedOn", 'ns' => SERVICE_NAMESPACE)),
|
143
|
+
# content_at(reply.at_xpath("//ns:remitResponse/ns:reviewStatus/ns:/itemsForReview/ns:itemForReview[#{i}]/ns:reviewRemark", 'ns' => SERVICE_NAMESPACE))
|
144
|
+
# )
|
145
|
+
# i = i + 1
|
146
|
+
# end
|
147
|
+
# itemsForReview = Remit::ItemsForReview.new(itemsArray)
|
148
|
+
transactionStatus = Remit::TransactionStatus.new(
|
149
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:transactionStatus/ns:statusCode', 'ns' => SERVICE_NAMESPACE)),
|
150
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:transactionStatus/ns:subStatusCode', 'ns' => SERVICE_NAMESPACE)),
|
151
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:transactionStatus/ns:bankReferenceNo', 'ns' => SERVICE_NAMESPACE)),
|
152
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:transactionStatus/ns:beneficiaryReferenceNo', 'ns' => SERVICE_NAMESPACE))
|
153
|
+
)
|
154
|
+
reviewStatus = Remit::ReviewStatus.new(
|
155
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:reviewStatus/ns:reviewRequired', 'ns' => SERVICE_NAMESPACE)),
|
156
|
+
nil#itemsForReview
|
157
|
+
)
|
158
|
+
return Remit::Result.new(
|
159
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:version', 'ns' => SERVICE_NAMESPACE)),
|
160
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:uniqueResponseNo', 'ns' => SERVICE_NAMESPACE)),
|
161
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:attemptNo', 'ns' => SERVICE_NAMESPACE)),
|
162
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:transferType', 'ns' => SERVICE_NAMESPACE)),
|
163
|
+
content_at(reply.at_xpath('//ns:remitResponse/ns:lowBalanceAlert', 'ns' => SERVICE_NAMESPACE)),
|
164
|
+
transactionStatus,
|
165
|
+
reviewStatus
|
166
|
+
)
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
def url
|
172
|
+
return '/InwardRemittanceByPartnerService'
|
173
|
+
end
|
174
|
+
|
175
|
+
end
|
176
|
+
end
|
data/lib/api_banking/version.rb
CHANGED
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.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akil
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -140,6 +140,7 @@ files:
|
|
140
140
|
- lib/api_banking/soap/fundsTransferByCustomerService2.rb
|
141
141
|
- lib/api_banking/soap/instantCreditService.rb
|
142
142
|
- lib/api_banking/soap/instantMoneyTransferService.rb
|
143
|
+
- lib/api_banking/soap/inwardRemittanceByPartnerService.rb
|
143
144
|
- lib/api_banking/soap/notificationService.rb
|
144
145
|
- lib/api_banking/soap/prepaidCardManagementService.rb
|
145
146
|
- lib/api_banking/soap/prepaidCardService.rb
|
@@ -167,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
168
|
version: '0'
|
168
169
|
requirements: []
|
169
170
|
rubyforge_project:
|
170
|
-
rubygems_version: 2.4.
|
171
|
+
rubygems_version: 2.4.7
|
171
172
|
signing_key:
|
172
173
|
specification_version: 4
|
173
174
|
summary: Ruby SDK to Connect to Banks
|