SVClient 1.0.2.2
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 +7 -0
- data/lib/SVClient/GCWebPos.rb +338 -0
- data/lib/SVClient/SVBalanceEnquiry.rb +28 -0
- data/lib/SVClient/SVCancelRedeem.rb +28 -0
- data/lib/SVClient/SVClient.rb +65 -0
- data/lib/SVClient/SVGiftCardCodes.rb +35 -0
- data/lib/SVClient/SVGiftRecentTransactions.rb +96 -0
- data/lib/SVClient/SVParamDownload.rb +24 -0
- data/lib/SVClient/SVProperties.rb +329 -0
- data/lib/SVClient/SVQcsData.rb +49 -0
- data/lib/SVClient/SVRecentTransactions.rb +10 -0
- data/lib/SVClient/SVRedeem.rb +28 -0
- data/lib/SVClient/SVRequest.rb +495 -0
- data/lib/SVClient/SVResponse.rb +1051 -0
- data/lib/SVClient/SVStatus.rb +82 -0
- data/lib/SVClient/SVTags.rb +142 -0
- data/lib/SVClient/SVType.rb +16 -0
- data/lib/SVClient/SVUtils.rb +81 -0
- metadata +59 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: f33a0988b40491e1ba93f5bfe8c31b42a31da04b
|
|
4
|
+
data.tar.gz: 1a6db3c401a1ad44be462d296b166758dbbcf2dc
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 676eba0435d9bb49a33357fd144ed7559db375a8fef16f44100e88f0a867838e546f64c91734e0426b22bb1563a37125c219e02382cd5bad0466622a0f503939
|
|
7
|
+
data.tar.gz: d6bb6939a16f0ced7f49d1d69da89183a2df93f009f8721f999ff25b1a84097dafad15e53d0a0f6bd2483518d65a905d153c3d0f8183167c694d285fa0503f1b
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
#
|
|
2
|
+
# © 2011 QwikCilver Solutions Private Limited, All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# @author Nityananda
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
require 'SVClient/SVUtils'
|
|
8
|
+
require 'SVClient/SVClient'
|
|
9
|
+
require 'SVClient/SVProperties'
|
|
10
|
+
require 'SVClient/SVBalanceEnquiry'
|
|
11
|
+
require 'SVClient/SVRedeem'
|
|
12
|
+
require 'SVClient/SVCancelRedeem'
|
|
13
|
+
|
|
14
|
+
#
|
|
15
|
+
# This Class provides the Gift Card related API for a QwikCilver WebPos Client to interface with QwikCilver Server.
|
|
16
|
+
#
|
|
17
|
+
# This class provides:
|
|
18
|
+
# - A method to initialize this library
|
|
19
|
+
# - A set of factory methods to get/create an SVRequest instance pertaining to the operation that needs to be performed
|
|
20
|
+
#
|
|
21
|
+
# *NOTE:* The caller must first initialize this library by calling GCWebPos::initlibrary method
|
|
22
|
+
# before any operation can be performed by this library. This method needs to be called after starting
|
|
23
|
+
# the web server and needs to be called only once.
|
|
24
|
+
#
|
|
25
|
+
# After this library has been initialized the caller calls the appropriate factory method to create
|
|
26
|
+
# an instance of SVRequest that will be used to perform the desired operation.
|
|
27
|
+
#
|
|
28
|
+
# Once an SVRequest instance has been created/obtained the caller can
|
|
29
|
+
# set any optional attributes, as desired, by calling the SVRequest.setvalue() method
|
|
30
|
+
#
|
|
31
|
+
# Once the desired attributes have been set the caller must call
|
|
32
|
+
# SVRequest.execute() method to perform the operation.
|
|
33
|
+
# SVRequest.execute() method will return SVResponse object.
|
|
34
|
+
#
|
|
35
|
+
# To check if the operation was performed successfully by QwikCilver Server
|
|
36
|
+
# call SVResponse.getErrorCode() method.
|
|
37
|
+
#
|
|
38
|
+
# If the return value of SVResponse.geterrorcode() method is NOT EQUAL TO SVStatus.SUCCESS then the caller should call
|
|
39
|
+
# SVResponse.geterrormessage() to get a detailed error message on why the operation failed.
|
|
40
|
+
#
|
|
41
|
+
# If the return value of SVResponse.geterrorcode() method
|
|
42
|
+
# is EQUAL TO SVStatus.SUCCESS then the caller should call
|
|
43
|
+
# the appropriate getters in SVResponse object to get the
|
|
44
|
+
# data returned by QwikCilver Server after successful execution of this operation.
|
|
45
|
+
class GCWebPos
|
|
46
|
+
|
|
47
|
+
# This method is used to initialize the SVClient Library.
|
|
48
|
+
# This method needs to be called once before using this library.
|
|
49
|
+
#
|
|
50
|
+
# The required/mandatory attributes for initializing this library are pre-assigned
|
|
51
|
+
# by QwikCilver and provided to the Caller.
|
|
52
|
+
#
|
|
53
|
+
# The list of mandatory and optional
|
|
54
|
+
# attributes are:
|
|
55
|
+
# * serverURL (Mandatory) - Server URL provided by QwikCilver
|
|
56
|
+
# * forwardingEntityId (Mandatory) - Forwarding Entity Id provided by QwikCilver
|
|
57
|
+
# * forwardingEntityPassword (Mandatory) - Forwarding Entity Password provided by QwikCilver
|
|
58
|
+
# * terminalId (Mandatory) - TerminalId is provided by QwikCilver
|
|
59
|
+
# * username (Mandatory) - username provided by QwikCilver
|
|
60
|
+
# * password (Mandatory) - password provided by QwikCilver
|
|
61
|
+
# * connectionTimeout (Optional) - default value is 17 seconds (17000 milliseconds). Actual value is provided by QwikCilver
|
|
62
|
+
# * transactionTimeout (Optional) - default value is 17 seconds (17000 milliseconds). Actual value is provided by QwikCilver
|
|
63
|
+
#
|
|
64
|
+
# To initialize this library the caller needs to create an instance of SVProperties and set the Mandatory attributes and optional
|
|
65
|
+
# attributes, as needed, and call this method by passing the SVProperties instance as a parameter to this method.
|
|
66
|
+
#
|
|
67
|
+
# ===params
|
|
68
|
+
# SVProperties - SVProperties instance that contains the attributes for initializing
|
|
69
|
+
# this library
|
|
70
|
+
#
|
|
71
|
+
# ===return
|
|
72
|
+
# SVProperties which contains QwikCilver server specific data
|
|
73
|
+
# to check if the GCWebPos.initlibrary() operation was performed successfully by QwikCilver Server
|
|
74
|
+
# call SVProperties.geterrorcode() method and check its return value.
|
|
75
|
+
# If the return value of SVProperties.geterrorcode() method
|
|
76
|
+
# is NOT EQUAL TO SVStatus.SUCCESS then the caller should call
|
|
77
|
+
# SVProperties.geterrormessage() to get a detailed error message on why the operation failed.
|
|
78
|
+
# If the return value is EQUAL TO SVStatus.SUCCESS then save this object
|
|
79
|
+
# as it needs to be passed to subsequent calls to perform card related operations.
|
|
80
|
+
#
|
|
81
|
+
# ===raises
|
|
82
|
+
# Exception If input parameter is nil or if any of the *Mandatory*
|
|
83
|
+
# attributes are nil or empty.
|
|
84
|
+
def self.initlibrary(webposprops)
|
|
85
|
+
|
|
86
|
+
if(webposprops == nil)
|
|
87
|
+
raise "Input is null"
|
|
88
|
+
end
|
|
89
|
+
if( (SVUtils::isnullorempty(webposprops.getserverurl())) ||
|
|
90
|
+
(SVUtils::isnullorempty(webposprops.getforwardingentityid())) ||
|
|
91
|
+
(SVUtils::isnullorempty(webposprops.getforwardingentitypassword())) ||
|
|
92
|
+
(SVUtils::isnullorempty(webposprops.getterminalid())) ||
|
|
93
|
+
(SVUtils::isnullorempty(webposprops.getusername())) ||
|
|
94
|
+
(SVUtils::isnullorempty(webposprops.getpassword())))
|
|
95
|
+
raise "One or More of the Mandatory attributes does not have a valid value"
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
webposprops.setsvtype(SVType::WEBPOS_GIFTCARD)
|
|
99
|
+
return SVClient::initlibrary(webposprops)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Use this factory method to create an instance of SVRequest
|
|
103
|
+
# that can be used to perform *BalanceEnquiry* operation.
|
|
104
|
+
#
|
|
105
|
+
# After the caller gets the SVRequest instance, the caller
|
|
106
|
+
# may set any of the optional attributes using the SVRequest.setvalue() method
|
|
107
|
+
#
|
|
108
|
+
# Then call SVRequest.execute() method.
|
|
109
|
+
# SVRequest.execute() method returns an instance of SVResponse.
|
|
110
|
+
# To check if the operation was performed successfully by QwikCilver Server
|
|
111
|
+
# call SVResponse.geterrorcode() method and check its return value.
|
|
112
|
+
#
|
|
113
|
+
# If the return value is EQUAL TO SVStatus.SUCCESS
|
|
114
|
+
# then read the values of the following attributes returned by QwikCilver Server
|
|
115
|
+
# using the appropriate getters
|
|
116
|
+
#
|
|
117
|
+
# * SVResponse.gettransactionid()
|
|
118
|
+
# * SVResponse.getcardbalance()
|
|
119
|
+
# * SVResponse.getcardexpiry()
|
|
120
|
+
# * SVResponse.getapprovalcode()
|
|
121
|
+
#
|
|
122
|
+
# ===params
|
|
123
|
+
# SVProperties - *Mandatory* - Data returned by QwikCilver Server in the GCWebPos.initlibrary() call.
|
|
124
|
+
#
|
|
125
|
+
# String - *Mandatory* - Card Number
|
|
126
|
+
#
|
|
127
|
+
# String - *Mandatory* - Card Pin
|
|
128
|
+
#
|
|
129
|
+
# Fixnum - *Mandatory* - Transaction ID
|
|
130
|
+
#
|
|
131
|
+
# String - *Optional* - Track Data. Can be nil
|
|
132
|
+
#
|
|
133
|
+
# String - *Optional* - Notes use as any unique cross-reference, e.g. ApprovalCode, RRN etc. Can be nil
|
|
134
|
+
#
|
|
135
|
+
# ===return
|
|
136
|
+
# SVRequest instance that should be used to perform <B>BalanceEnquiry</B> operation
|
|
137
|
+
#
|
|
138
|
+
# ===raises
|
|
139
|
+
# Exception If any input parameter that is *Mandatory* is nil or empty
|
|
140
|
+
def self.balanceenquiry(
|
|
141
|
+
serverproperties, #mandatory
|
|
142
|
+
cardnumber, #mandatory
|
|
143
|
+
cardpin, #mandatory
|
|
144
|
+
transactionid, #mandatory
|
|
145
|
+
trackdata = nil, #optional
|
|
146
|
+
notes = nil ) #optional, Use as any unique cross-reference, e.g. ApprovalCode, RRN etc, can also be nil
|
|
147
|
+
|
|
148
|
+
#Validate Mandatory attributes
|
|
149
|
+
if( ( (serverproperties == nil) ) ||
|
|
150
|
+
( SVUtils::isnullorempty(cardnumber) ) ||
|
|
151
|
+
( SVUtils::isnullorempty(cardpin) ) ||
|
|
152
|
+
( SVUtils::isnullorempty(transactionid) )
|
|
153
|
+
)
|
|
154
|
+
raise "One or More of the Mandatory attributes does not have a valid value"
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
serverproperties.setsvtype(SVType::WEBPOS_GIFTCARD)
|
|
158
|
+
@svrequest = SVBalanceEnquiry.new(serverproperties)
|
|
159
|
+
@svrequest.setcardnumber(cardnumber)
|
|
160
|
+
@svrequest.setcardpin(cardpin)
|
|
161
|
+
@svrequest.settransactionid(transactionid)
|
|
162
|
+
@svrequest.settrackdata(trackdata)
|
|
163
|
+
@svrequest.setnotes(notes)
|
|
164
|
+
return @svrequest
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Use this factory method to create an instance of @link SVRequest SVRequestend
|
|
168
|
+
# that can be used to perform <B>Redeem</B> operation.
|
|
169
|
+
#
|
|
170
|
+
# After the caller gets the SVRequest instance, the caller
|
|
171
|
+
# may set any of the optional attributes using the SVRequest.setvalue method
|
|
172
|
+
#
|
|
173
|
+
# Then call SVRequest.execute() method.
|
|
174
|
+
# SVRequest.execute() method returns an instance of SVResponse
|
|
175
|
+
# to check if the operation was performed successfully by QwikCilver Server
|
|
176
|
+
# call SVResponse.geterrorcode() method and check its return value.
|
|
177
|
+
#
|
|
178
|
+
# If the return value is EQUAL TO SVStatus.SUCCESS
|
|
179
|
+
# then read the values of the following attributes returned by QwikCilver Server
|
|
180
|
+
# using the appropriate getters
|
|
181
|
+
# * SVResponse.gettransactionid()
|
|
182
|
+
# * SVResponse.getcardbalance()
|
|
183
|
+
# * SVResponse.getcardexpiry()
|
|
184
|
+
# * SVResponse.getapprovalcode()
|
|
185
|
+
# * SVResponse.getterminalid()
|
|
186
|
+
# * SVResponse.gettransfercardnumber()
|
|
187
|
+
# * SVResponse.gettransfercardbalance()
|
|
188
|
+
# * SVResponse.gettransfercardexpiry()
|
|
189
|
+
#
|
|
190
|
+
# ===params
|
|
191
|
+
# SVProperties [Mandatory] Data returned by QwikCilver Server in the initLibrary call
|
|
192
|
+
#
|
|
193
|
+
# String - *Mandatory* - Card Number
|
|
194
|
+
#
|
|
195
|
+
# String - *Mandatory* - Card Pin
|
|
196
|
+
#
|
|
197
|
+
# Fixnum - *Mandatory* - Transaction ID
|
|
198
|
+
#
|
|
199
|
+
# String - *Mandatory* - Invoice Number
|
|
200
|
+
#
|
|
201
|
+
# Float - *Mandatory* - Amount to redeem on the Card
|
|
202
|
+
#
|
|
203
|
+
# String - *Optional* - Track Data
|
|
204
|
+
#
|
|
205
|
+
# String - *Optional* - Notes use as any unique cross-reference, e.g. ApprovalCode, RRN etc. Can be nil
|
|
206
|
+
#
|
|
207
|
+
# Float - *Optional* Total Bill Amount
|
|
208
|
+
#
|
|
209
|
+
# ===return
|
|
210
|
+
# SVRequest SVRequest instance that should be used to perform <B>Redeem</B> operation
|
|
211
|
+
#
|
|
212
|
+
# ===raises
|
|
213
|
+
# Exception If any input parameter that is *Mandatory* is nil or empty
|
|
214
|
+
def self.redeem(
|
|
215
|
+
serverproperties, #mandatory
|
|
216
|
+
cardnumber, #mandatory
|
|
217
|
+
cardpin, #mandatory
|
|
218
|
+
invoicenumber, #mandatory
|
|
219
|
+
amount, #mandatory
|
|
220
|
+
transactionid, #mandatory
|
|
221
|
+
trackdata = nil, #optional
|
|
222
|
+
notes = nil, #optional, Use as any unique cross-reference, e.g. ApprovalCode, RRN etc, can also be nil
|
|
223
|
+
billamount = nil) #optional
|
|
224
|
+
|
|
225
|
+
#Validate Mandatory attributes
|
|
226
|
+
if( ( (serverproperties == nil) ) ||
|
|
227
|
+
( SVUtils::isnullorempty(cardnumber) ) ||
|
|
228
|
+
( SVUtils::isnullorempty(cardpin) ) ||
|
|
229
|
+
( SVUtils::isnullorempty(transactionid) ) ||
|
|
230
|
+
( SVUtils::isnullorempty(invoicenumber) ) ||
|
|
231
|
+
( amount <= 0 )
|
|
232
|
+
)
|
|
233
|
+
raise "One or More of the Mandatory attributes does not have a valid value"
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
serverproperties.setsvtype(SVType::WEBPOS_GIFTCARD)
|
|
237
|
+
@svrequest = SVRedeem.new(serverproperties)
|
|
238
|
+
@svrequest.setcardnumber(cardnumber)
|
|
239
|
+
@svrequest.setcardpin(cardpin)
|
|
240
|
+
@svrequest.settransactionid(transactionid)
|
|
241
|
+
@svrequest.setinvoicenumber(invoicenumber)
|
|
242
|
+
@svrequest.setamount(amount)
|
|
243
|
+
@svrequest.setbillamount(billamount) if ( billamount != nil )
|
|
244
|
+
@svrequest.settrackdata(trackdata)
|
|
245
|
+
@svrequest.setnotes(notes)
|
|
246
|
+
return @svrequest
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
# Use this factory method to create an instance of SVRequest
|
|
250
|
+
# that can be used to perform <B>CancelRedeem</B> operation.
|
|
251
|
+
#
|
|
252
|
+
# After the caller gets the SVRequest instance, the caller
|
|
253
|
+
# may set any of the optional attributes using the SVRequest.setvalue method
|
|
254
|
+
#
|
|
255
|
+
# Then call SVRequest.execute() method.
|
|
256
|
+
# SVRequest.execute() method returns an instance of SVResponse
|
|
257
|
+
# to check if the operation was performed successfully by QwikCilver Server
|
|
258
|
+
# call SVResponse.geterrorcode() method and check its return value.
|
|
259
|
+
#
|
|
260
|
+
# If the return value is EQUAL TO SVStatus.SUCCESS
|
|
261
|
+
# then read the values of the following attributes returned by QwikCilver Server
|
|
262
|
+
# using the appropriate getters
|
|
263
|
+
#
|
|
264
|
+
# * SVResponse.gettransactionid
|
|
265
|
+
# * SVResponse.getcardbalance
|
|
266
|
+
# * SVResponse.getcardexpiry
|
|
267
|
+
# * SVResponse.getapprovalcode
|
|
268
|
+
# * SVResponse.getterminalid
|
|
269
|
+
# * SVResponse.gettransfercardnumber
|
|
270
|
+
# * SVResponse.gettransfercardbalance
|
|
271
|
+
# * SVResponse.gettransfercardexpiry
|
|
272
|
+
#
|
|
273
|
+
# ===param
|
|
274
|
+
# SVProperties - *Mandatory* - Data returned by QwikCilver Server in the GCWebPos.initlibrary call
|
|
275
|
+
#
|
|
276
|
+
# String - *Mandatory* - Card Number
|
|
277
|
+
#
|
|
278
|
+
# String - *Mandatory* - Original Invoice Number
|
|
279
|
+
#
|
|
280
|
+
# Bignum - *Mandatory* - Original Transaction Id of the Redeem operation we are trying to Cancel
|
|
281
|
+
#
|
|
282
|
+
# Bignum - *Mandatory* - Original Batch Number
|
|
283
|
+
#
|
|
284
|
+
# Float - *Mandatory* - Original Amount
|
|
285
|
+
#
|
|
286
|
+
# Bignum - *Mandatory* - Transaction Id of the Redeem operation we are trying to Cancel
|
|
287
|
+
#
|
|
288
|
+
# String - *Optional* - Original Approval Code of the Redeem operation we are trying to Cancel. Can be nil
|
|
289
|
+
#
|
|
290
|
+
# String - *Optional* - Track Data. Can be nil
|
|
291
|
+
#
|
|
292
|
+
# String - *Optional* - Use as any unique cross-reference, e.g. ApprovalCode, RRN etc. Can be nil
|
|
293
|
+
#
|
|
294
|
+
# ===return
|
|
295
|
+
# SVRequest instance that should be used to perform <B>CancelRedeem</B> operation
|
|
296
|
+
#
|
|
297
|
+
# ===raises
|
|
298
|
+
# Exception If any input parameter that is *Mandatory* is nil or empty
|
|
299
|
+
#
|
|
300
|
+
def self.cancelredeem(
|
|
301
|
+
serverproperties, #mandatory
|
|
302
|
+
cardnumber, #mandatory
|
|
303
|
+
originalinvoicenumber, #mandatory
|
|
304
|
+
originaltransactionid, #mandatory
|
|
305
|
+
originalbatchno, #mandatory
|
|
306
|
+
originalamount, #mandatory
|
|
307
|
+
transactionid, #mandatory
|
|
308
|
+
cardpin = nil, #optional
|
|
309
|
+
originalapprovalcode = nil, #Optional
|
|
310
|
+
trackdata = nil, #Optional
|
|
311
|
+
notes = nil ) #optional, Use as any unique cross-reference, e.g. ApprovalCode, RRN etci, can also be nil
|
|
312
|
+
|
|
313
|
+
#Validate Mandatory attributes
|
|
314
|
+
if( ( (serverproperties == nil) ) ||
|
|
315
|
+
( SVUtils::isnullorempty(cardnumber) ) ||
|
|
316
|
+
( SVUtils::isnullorempty(originalinvoicenumber) ) ||
|
|
317
|
+
( originaltransactionid <= 0 ) ||
|
|
318
|
+
( originalbatchno <= 0 ) ||
|
|
319
|
+
( originalamount <= 0 ) ||
|
|
320
|
+
( SVUtils::isnullorempty(transactionid) )
|
|
321
|
+
)
|
|
322
|
+
raise "One or More of the Mandatory attributes does not have a valid value"
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
serverproperties.setsvtype(SVType::WEBPOS_GIFTCARD)
|
|
326
|
+
@svrequest = SVCancelRedeem.new(serverproperties)
|
|
327
|
+
@svrequest.setcardnumber(cardnumber)
|
|
328
|
+
@svrequest.setoriginalinvoicenumber(originalinvoicenumber)
|
|
329
|
+
@svrequest.setoriginaltransactionid(originaltransactionid)
|
|
330
|
+
@svrequest.setoriginalbatchnumber(originalbatchno)
|
|
331
|
+
@svrequest.setoriginalapprovalcode(originalapprovalcode)
|
|
332
|
+
@svrequest.setoriginalamount(originalamount)
|
|
333
|
+
@svrequest.settransactionid(transactionid)
|
|
334
|
+
@svrequest.setcardpin(cardpin)
|
|
335
|
+
@svrequest.setnotes(notes)
|
|
336
|
+
return @svrequest
|
|
337
|
+
end
|
|
338
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#
|
|
2
|
+
# © 2011 QwikCilver Solutions Private Limited, All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# @author Nityananda
|
|
5
|
+
#
|
|
6
|
+
#=Overview
|
|
7
|
+
# Class used by GCWebPos to perform Balance Enquiry transaction
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'SVClient/SVRequest'
|
|
11
|
+
require 'SVClient/SVGiftCardCodes'
|
|
12
|
+
require 'SVClient/SVType'
|
|
13
|
+
|
|
14
|
+
class SVBalanceEnquiry < SVRequest
|
|
15
|
+
def initialize(type)
|
|
16
|
+
super(type)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
protected
|
|
20
|
+
def gettransactiontypeid
|
|
21
|
+
@txntypeid = 0
|
|
22
|
+
case @requestType
|
|
23
|
+
when SVType::WEBPOS_GIFTCARD
|
|
24
|
+
@txntypeid = SVGiftCardCodes::BALANCE
|
|
25
|
+
end
|
|
26
|
+
return @txntypeid
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#
|
|
2
|
+
# © 2011 QwikCilver Solutions Private Limited, All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# @author Nityananda
|
|
5
|
+
#
|
|
6
|
+
#=Overview
|
|
7
|
+
# Class used by GCWebPos to perform Balance Enquiry transaction
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require 'SVClient/SVRequest'
|
|
11
|
+
require 'SVClient/SVGiftCardCodes'
|
|
12
|
+
require 'SVClient/SVType'
|
|
13
|
+
|
|
14
|
+
class SVCancelRedeem < SVRequest
|
|
15
|
+
def initialize(type)
|
|
16
|
+
super(type)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
protected
|
|
20
|
+
def gettransactiontypeid
|
|
21
|
+
@txntypeid = 0
|
|
22
|
+
case @requestType
|
|
23
|
+
when SVType::WEBPOS_GIFTCARD
|
|
24
|
+
@txntypeid = SVGiftCardCodes::CANCEL_REDEEM
|
|
25
|
+
end
|
|
26
|
+
return @txntypeid
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#
|
|
2
|
+
# © 2011 QwikCilver Solutions Private Limited, All Rights Reserved.
|
|
3
|
+
#
|
|
4
|
+
# @author Nityananda
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
require 'SVClient/SVParamDownload'
|
|
8
|
+
|
|
9
|
+
class SVClient
|
|
10
|
+
public
|
|
11
|
+
def self.initlibrary(svprops)
|
|
12
|
+
return SVClient::getparamsfromserver(svprops)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
def self.getparamsfromserver(svprops)
|
|
17
|
+
if(svprops == nil)
|
|
18
|
+
@retprops = SVProperties.new()
|
|
19
|
+
@retprops.seterrorcode(SVStatus::INVALID_PARAM)
|
|
20
|
+
@retprops.seterrormessage(SVStatus::getmessage(SVStatus::INVALID_PARAM))
|
|
21
|
+
return @retprops
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
case svprops.getsvtype
|
|
25
|
+
when SVType::WEBPOS_GIFTCARD
|
|
26
|
+
@svrequest = SVClient::getwebposgiftcardparamdownload(svprops)
|
|
27
|
+
else
|
|
28
|
+
return SVStatus::UNSUPPORTED_TYPE_ERROR
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
@svresponse = @svrequest.execute()
|
|
32
|
+
@retval = @svresponse.geterrorcode()
|
|
33
|
+
if (@retval != SVStatus::SUCCESS.to_i)
|
|
34
|
+
@retprops = SVProperties.new()
|
|
35
|
+
@retprops.seterrorcode(@retval)
|
|
36
|
+
@retprops.seterrormessage(@svresponse.geterrormessage())
|
|
37
|
+
return @retprops
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
@serverprops = SVProperties.new(svprops)
|
|
41
|
+
@serverprops.settransactionid(@svresponse.gettransactionid)
|
|
42
|
+
@serverprops.setposentrymode(@svresponse.getposentrymode)
|
|
43
|
+
@serverprops.setpostypeid(@svresponse.getpostypeid)
|
|
44
|
+
@serverprops.setacquirerid(@svresponse.getacquirerid)
|
|
45
|
+
@serverprops.setorganizationname(@svresponse.getorganizationname)
|
|
46
|
+
@serverprops.setmerchantname(@svresponse.getmerchantname)
|
|
47
|
+
@serverprops.setmerchantoutletname(@svresponse.getmerchantoutletname)
|
|
48
|
+
@serverprops.setposname(@svresponse.getposname)
|
|
49
|
+
@serverprops.setcurrentbatchnumber(@svresponse.getcurrentbatchnumber)
|
|
50
|
+
@serverprops.seterrorcode(@svresponse.geterrorcode)
|
|
51
|
+
@serverprops.seterrormessage(@svresponse.geterrormessage)
|
|
52
|
+
return @serverprops
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def self.getwebposgiftcardparamdownload(svprops)
|
|
56
|
+
@svrequest = SVParamDownload.new(svprops)
|
|
57
|
+
@svrequest.setforwardingentityid(svprops.getforwardingentityid())
|
|
58
|
+
@svrequest.setforwardingentitypassword(svprops.getforwardingentitypassword())
|
|
59
|
+
@svrequest.setterminalid(svprops.getterminalid())
|
|
60
|
+
@svrequest.setusername(svprops.getusername())
|
|
61
|
+
@svrequest.setpassword(svprops.getpassword())
|
|
62
|
+
@svrequest.settransactionid(1)
|
|
63
|
+
return @svrequest
|
|
64
|
+
end
|
|
65
|
+
end
|