SPI
1.2012.0
Secured Payment Interface
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Pages
SPIDEF.h
Go to the documentation of this file.
1
13
#pragma once
14
15
#include <iostream>
16
#include <string>
17
#include <cstring>
18
#include "types.def"
19
20
#ifdef WIN32
21
#ifdef SPI_EXPORTS
22
#define SPILIBRARY_API __declspec(dllexport)
23
#elif SPI_NOEXPORTS
24
#define SPILIBRARY_API
25
#else
26
#define SPILIBRARY_API __declspec(dllimport)
27
#endif
28
#elif __GNUC__
29
#ifdef SPI_EXPORTS
30
#define SPILIBRARY_API __attribute__((visibility("default")))
31
#else
32
#define SPILIBRARY_API
33
#endif
34
#endif
35
36
37
38
using
std::string;
39
41
typedef
void
*
APIHandle
;
42
44
typedef
usint
PortType
;
45
47
typedef
uint64_t
AmountType
;
48
50
typedef
int32_t
PaymentType
;
51
53
typedef
sint
PPIDType
;
54
56
typedef
sint
ResultType
;
57
59
typedef
uint64_t
RateType
;
60
62
typedef
int32_t
PercentType
;
63
65
typedef
int32_t
MonthType
;
66
68
typedef
ulint
TimeOutType
;
69
71
typedef
byte
FrequencyType
;
72
74
typedef
int32_t
CurrencyISOType
;
75
77
typedef
usint
CounterType
;
78
79
namespace
Modularity {
80
81
namespace
SPI {
83
enum
SPI_RET_VAL
84
{
85
SPI_SUCCESS
= 0,
86
SPI_ALREADY_EXIST
= -1,
87
SPI_FAIL
= -2,
88
SPI_INVALID
= -3,
89
SPI_MISSING_EVENT_HANDLER
= -4,
90
SPI_NOT_SUPPORTED
= -5,
91
SPI_ABORTED
= -6,
92
SPI_CONNECTION_ERR
= -7,
93
SPI_TIME_OUT
= -8,
94
SPI_NO_INIT
= -999
95
};
96
98
enum
SPI_STATUS
99
{
100
SPI_READY
= 0,
101
SPI_READY_ONLINE
= 1,
102
SPI_NOT_ESTABLISHED
= -1,
103
SPI_NOT_READY
= -2,
104
SPI_ERROR
= -3
105
};
106
108
enum
TransactionStatus
109
{
110
Tran_NotCompleted
,
111
Tran_Phase1Now
,
112
Tran_AuthoriztionNumber
,
113
Tran_CVV
,
114
Tran_CardHolderId
,
115
Tran_Completed
116
};
117
119
enum
EndOfDayStatus
120
{
121
EndOfDay_NotCompleted
,
122
EndOfDay_Completed
123
};
124
126
enum
ExcUnitLocation
127
{
128
SPIEXCUNIT_THISINT
= 0,
129
SPIEXCUNIT_IPINT
= 1,
130
SPIEXCUNIT_SERIALINT
= 2,
131
SPIEXCUNIT_NONE
= 99
132
};
133
135
enum
ServiceID
136
{
137
AshraitService
= 0,
138
DebitService
= 1,
139
TransportationService
= 2,
140
NayaxVendService
= 3
141
};
142
144
enum
PP_Protocol
145
{
146
MP3
= 0,
147
MPOS
= 1,
148
XPI
= 2
149
};
150
152
enum
ReportType
153
{
154
X_REPORT
= 0,
155
Z_REPORT
= 1,
156
ACCM_REPORT
= 2,
157
PARAM_REPORT
= 3,
158
QUERY_TRANSACTIONS_REPORT
= 4,
159
QUERY_REPORTS_REPORT
= 5
160
};
161
163
enum
ZReportFormat
164
{
165
ZReport_Narrow
= 0,
166
ZReport_Medium
= 1,
167
ZReport_Wide
= 2,
168
ZReport_XML
= 3,
169
};
170
172
enum
CurrencyType
173
{
174
Curr_Shekel
= 376,
175
Curr_Dollar
= 840,
176
Curr_Foreign
= 0
177
};
178
181
struct
ReceiptLine
182
{
183
string
key
;
184
string
value
;
185
};
186
189
struct
AcquiredBrandInfo
190
{
191
string
brandName
;
192
string
acquireName
;
193
string
businessNumber
;
194
string
phoneNumber
;
195
};
196
199
struct
EndOfDayReportInfo
200
{
201
string
AckNumber
;
202
string
Date
;
203
};
204
206
enum
ExtendedEMVStatus
207
{
208
EMVStatus_Idle
= 0,
209
EMVStatus_Processing
= 1,
210
EMVStatus_WaitForCard
= 2,
211
EMVStatus_ReadingCard
= 3,
212
EMVStatus_ApplicationSelection
= 4,
213
EMVStatus_Loyalty
= 5,
214
EMVStatus_PinCode
= 6,
215
EMVStatus_FirstCardDecision
= 7,
216
EMVStatus_WaitProcessorApproval
= 8,
217
EMVStatus_FinalCardDecision
= 9,
218
EMVStatus_Completed
= 10,
219
};
220
222
enum
ExtendedPeriodicStatus
223
{
224
PeriodicStatus_Idle
= 0,
225
PeriodicStatus_SendDynamicParameterRequest
= 1001,
226
PeriodicStatus_RecvDynamicParameterResponse
= 1002,
227
PeriodicStatus_RecvDynamicParameterIsraelResponse
= 1003,
228
PeriodicStatus_RecvDynamicParameterTouristResponse
= 1004,
229
PeriodicStatus_RecvDynamicParameterGeneralResponse
= 1005,
230
PeriodicStatus_RecvTkefimIsracard
= 1056,
231
PeriodicStatus_RecvTikrutPL
= 1201,
232
PeriodicStatus_RecvTikrutLocal
= 1202,
233
PeriodicStatus_RecvTikrutTourist
= 1204,
234
PeriodicStatus_RecvIsracardPermission
= 1301,
235
PeriodicStatus_RecvIsracardNames
= 1304,
236
PeriodicStatus_RecvNonPLServiceCodeChecks
= 1306,
237
PeriodicStatus_RecvCalImmediateChargeIdentification
= 1311,
238
PeriodicStatus_RecvPLServiceCodeChecks
= 1312,
239
PeriodicStatus_RecvCalPermissions
= 1315,
240
PeriodicStatus_RecvCalNames
= 1318,
241
PeriodicStatus_RecvLeumiPermissions
= 1331,
242
PeriodicStatus_RecvLeumiNames
= 1334,
243
PeriodicStatus_RecvFutureManpikPermissions
= 1341,
244
PeriodicStatus_RecvFutureNames
= 1344,
245
PeriodicStatus_RecvTouristNames
= 1364,
246
PeriodicStatus_RecvUnauthorizedIsraeliCards
= 1380,
247
PeriodicStatus_RecvBenefitsDefinitions
= 1381,
248
PeriodicStatus_RecvPrivateFieldsInChipLocation
= 1382,
249
PeriodicStatus_RecvCardMaskingDefinitions
= 1383,
250
PeriodicStatus_RecvIssuerPrefixAssociation
= 1390,
251
PeriodicStatus_RecvSolekDefinitions
= 1391,
252
PeriodicStatus_RecvBrandDefinitions
= 1392,
253
PeriodicStatus_RecvManpikDefinitions
= 1393,
254
PeriodicStatus_RecvSystemMessage
= 1400,
255
PeriodicStatus_SendBatchRequest
= 1401,
256
PeriodicStatus_SendBatchBlock
= 1402,
257
PeriodicStatus_SendBatchAmounts
= 1403,
258
PeriodicStatus_RecvBatchResponse
= 1404,
259
PeriodicStatus_RecvCommReportResponse
= 1502,
260
PeriodicStatus_SendBlockedCardsRequest
= 1601,
261
PeriodicStatus_RecvBlockedCardsResponseFull
= 1604,
262
PeriodicStatus_RecvBlockedCardsResponseSmall
= 1605,
263
PeriodicStatus_SendPinPadParametersRequest
= 1701,
264
PeriodicStatus_RecvPinPadParametersResponseParameters
= 1702,
265
PeriodicStatus_RecvPinPadParametersResponseCAKey
= 1703,
266
PeriodicStatus_UpdatingPinpadParameters
= 1,
267
PeriodicStatus_Completed
= 10,
268
};
269
271
enum
SPILogLevel
272
{
273
SPILog_Emergency
= 0,
274
SPILog_Alert
= 1,
275
SPILog_Critical
= 2,
276
SPILog_Error
= 3,
277
SPILog_Warning
= 4,
278
SPILog_Notice
= 5,
279
SPILog_Info
= 6,
280
SPILog_Debug
= 7,
281
};
282
284
enum
SPILanguage
285
{
286
SPILanguage_Hebrew
= 1,
287
SPILanguage_English
= 2,
288
};
289
291
enum
ServiceProperty
292
{
293
ServiceProperty_TransmitTime
= 1,
294
ServiceProperty_SystemTrace
= 2,
295
ServiceProperty_DeviceSerial
= 3,
296
ServiceProperty_CountryCode
= 4,
297
ServiceProperty_Currency
= 5,
298
ServiceProperty_DecimalPlace
= 6,
299
ServiceProperty_AcquirerTermianlId
= 7,
300
};
301
303
enum
DcsStatus
304
{
305
DcsStatus_NotActivated
= 0,
306
DcsStatus_Activated
= 1,
307
DcsStatus_TokenOnly
= 2,
308
};
309
311
enum
DcsActivationMode
312
{
313
DcsActivationMode_FullActivation
= 1,
314
DcsActivationMode_TokenOnly
= 2,
315
};
316
318
enum
DcsProperty
319
{
320
DcsProperty_RetailerNumber
= 1,
321
DcsProperty_Token
= 2,
322
DcsProperty_NayaxSN
= 3,
323
};
324
326
enum
MasterSlaveMode
327
{
328
MasterSlaveMode_None
= 0,
329
MasterSlaveMode_Master
= 1,
330
MasterSlaveMode_Slave
= 2,
331
};
332
336
namespace
Ashrait {
337
339
enum
VirtualReason
340
{
341
SwipeData
= 1,
342
Balance
= 2,
343
CancelRegisteredTransaction
= 3,
344
CancelPreAuthorization
= 4,
345
GenerateStandingOrder
= 5,
346
RetreiveTransaction
= 6,
347
Settelment
= 7,
348
RetreiveTransactionByVuid
= 8,
349
};
350
352
enum
CreditTerms
353
{
354
CT_Regular
= 1,
355
CT_IsracreditVisaMaofVisa30
= 2,
356
CT_Immidiate
= 3,
357
CT_CreditFixed
= 6,
358
CT_Payments
= 8,
359
};
360
362
enum
PaymentLinked
363
{
364
ToNone
= 0,
365
ToCPI
= 1,
366
ToDollar
= 2,
367
};
368
370
enum
Status
371
{
372
Ready
= 0,
373
NotEstablished
= -1,
374
BatchNeeded
= -2,
375
DBError
= -3,
376
PinpadError
= -4,
377
VersionError
= -5,
378
Unknown
= -6,
379
BatchRequiered
= -7,
380
NotConnected
= -8,
381
};
382
384
enum
CardNotPresentType
385
{
386
CNP_Signature
= 1,
387
CNP_Phone
= 2,
388
CNP_Internet
= 3,
389
};
390
392
enum
TransactionType
393
{
394
TT_Informative
= 0,
395
TT_Regular
= 1,
396
TT_Unload
= 2,
397
TT_Forced
= 3,
398
TT_CashBack
= 6,
399
TT_Cash
= 7,
400
TT_StandingOrder
= 11,
401
TT_BalanceCheck
= 30,
402
TT_Refund
= 53,
403
TT_Charge
= 55,
404
};
405
407
enum
IPayType
408
{
409
IPay_Money
= 0,
410
IPay_Starts
= 1,
411
IPay_Points
= 2,
412
IPay_Club
= 3,
413
IPay_NoIpay
= 99,
414
};
415
417
enum
ECIType
418
{
419
ECI_InternetNoSign
= 1,
420
ECI_InternetManpikNotRegistered
= 2,
421
ECI_InternetWithSign
= 3,
422
};
423
425
enum
MissingEventType
426
{
427
MissingNone
= 0,
428
MissingAuthorizationNumber
= 1,
429
MissingAVSDeatils
= 2,
430
MissingUnknown
= 3,
431
};
432
434
enum
Manpik
435
{
436
Manpik_Tourist
= 0,
437
Manpik_Isracard
= 1,
438
Manpik_CAL
= 2,
439
Manpik_LeumiCard
= 6,
440
};
441
443
enum
Solek
444
{
445
Solek_Isracard
= 1,
446
Solek_Cal
= 2,
447
Solek_LeumiCard
= 6,
448
};
449
451
enum
Mutag
452
{
453
Mutag_PL
= 0,
454
Mutag_Mastercard
= 1,
455
Mutag_Visa
= 2,
456
Mutag_Diners
= 3,
457
Mutag_Amex
= 4,
458
Mutag_Isracard
= 5,
459
Mutag_JCB
= 6,
460
Mutag_Discover
= 7,
461
Mutag_Maestro
= 8
462
};
463
465
enum
PanEntryMode
466
{
467
PEM_Magnetic
= 0,
468
PEM_Magnetic_Contactless
= 4,
469
PEM_EMV_Contactless
= 5,
470
PEM_Mobile_Magnetic_Contactless
= 6,
471
PEM_EMV_Mobile_Contactless
= 7,
472
PEM_PhoneNumber
= 10,
473
PEM_RFU
= 11,
474
PEM_EMV_Contact
= 40,
475
PEM_Phone
= 50,
476
PEM_Signeture_Only
= 51,
477
PEM_Internet
= 52,
478
PEM_Fallback
= 80,
479
PEM_Empty_Candidate_List
= 81,
480
PEM_Empty
= 99,
481
};
482
484
enum
ProcessorId
485
{
486
ABS
= 1,
487
Pelecard
= 2,
488
CreditGuard
= 3,
489
Tranzila
= 4,
490
EZCard
= 5,
491
};
492
494
enum
GasolineType
495
{
496
GasolinType_None
= 0,
497
GasolinType_91
= 1,
498
GasolinType_96
= 2,
499
GasolinType_95Unleaded
= 3,
500
GasolinType_Diesel
= 4,
501
GasolinType_Motorcycle
= 5,
502
GasolinType_MiliteryGasoline
= 6,
503
GasolinType_MiliteryDiesel
= 7,
504
GasolinType_Kerosene
= 8,
505
GasolinType_Other
= 9,
506
GasolinType_91Unleaded
= 10,
507
GasolinType_98
= 11,
508
GasolinType_98Unleaded
= 12,
509
GasolinType_DieselUnleaded
= 14,
510
GasolinType_LiquefiedPetroleumGas
= 36,
511
GasolinType_Urea
= 37,
512
};
513
515
enum
AuthCodeIssuer
516
{
517
AuthCodeIssuer_Unauthorized
= 0,
518
AuthCodeIssuer_ApprovedByIssuer
= 1,
519
AuthCodeIssuer_DeclinedByIssuer
= 2,
520
AuthCodeIssuer_ApprovedByAbsSTIP
= 3,
521
AuthCodeIssuer_DeclinedByAbsSTIP
= 4,
522
AuthCodeIssuer_ApprovedByVoice
= 5,
523
AuthCodeIssuer_DeclinedByVoice
= 6,
524
AuthCodeIssuer_ApprovedByIssuerPreAuth
= 7,
525
AuthCodeIssuer_ApprovedByCard
= 8,
526
};
527
528
}
529
533
namespace
NayaxVend {
534
536
enum
CardEntryType
537
{
538
CardEntry_MsrSwipe
= 1,
539
CardEntry_Contactless
= 2,
540
CardEntry_Contact
= 3,
541
};
542
544
enum
UnitOfMeasurement
545
{
546
Measurement_Item
= 0,
548
};
549
551
enum
CardType
552
{
553
CardType_Unknown
= 0,
554
CardType_Proprietary
= 1,
555
CardType_Visa
= 2,
556
CardType_MasterCard
= 3,
557
CardType_ChinaUnionPay
= 4,
558
CardType_Maestro
= 5,
559
CardType_Interac
= 6,
560
CardType_Monyx
= 7,
562
};
563
564
}
565
}
566
}
567
568
569
570
571
572
573
574
Generated by
1.8.2