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: 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