api_banking 0.1.12 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d3321364843893705a6ce9070be44f6f3d6e513c
4
- data.tar.gz: d3069b0863bb5b5f44927f8b67337e59205aece4
3
+ metadata.gz: 1ff6de2ae09b3e08f9432dc01bcb07c6965e9e92
4
+ data.tar.gz: 8ae6ed9bcffb9d0d25aaa695892a9236aeb45e41
5
5
  SHA512:
6
- metadata.gz: 86bc18b7ddb24115c99ad19e9fc123239e6ff55edd6da5c6b88b6f1d07a7806f8a7f9ab197081c6365640f89fdfbc466b0dd8d2ffd9b0e6531ffe4b277132fa2
7
- data.tar.gz: c2a5db135b6ebb5733252b68e806d20afa29479afcf48fdd0916ec45414d948a1ba45e76baf367f5c680e7a35fb58da75beb8c4996ccaf22f90093f9d80aff10
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
@@ -1,3 +1,3 @@
1
1
  module ApiBanking
2
- VERSION = "0.1.12"
2
+ VERSION = "0.1.13"
3
3
  end
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.12
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-09-30 00:00:00.000000000 Z
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.6
171
+ rubygems_version: 2.4.7
171
172
  signing_key:
172
173
  specification_version: 4
173
174
  summary: Ruby SDK to Connect to Banks