SPI
1.2101.8
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
DeviceId
145
{
146
ModularityDevice
= 0,
147
};
148
149
151
enum
PP_Protocol
152
{
153
MP3
= 0,
154
MPOS
= 1,
155
XPI
= 2
156
};
157
159
enum
ReportType
160
{
161
X_REPORT
= 0,
162
Z_REPORT
= 1,
163
ACCM_REPORT
= 2,
164
PARAM_REPORT
= 3,
165
QUERY_TRANSACTIONS_REPORT
= 4,
166
QUERY_REPORTS_REPORT
= 5
167
};
168
170
enum
ZReportFormat
171
{
172
ZReport_Narrow
= 0,
173
ZReport_Medium
= 1,
174
ZReport_Wide
= 2,
175
ZReport_XML
= 3,
176
};
177
179
enum
CurrencyType
180
{
181
Curr_Shekel
= 376,
182
Curr_Dollar
= 840,
183
Curr_Foreign
= 0
184
};
185
188
struct
ReceiptLine
189
{
190
string
key
;
191
string
value
;
192
};
193
196
struct
AcquiredBrandInfo
197
{
198
string
brandName
;
199
string
acquireName
;
200
string
businessNumber
;
201
string
phoneNumber
;
202
};
203
206
struct
EndOfDayReportInfo
207
{
208
string
AckNumber
;
209
string
Date
;
210
};
211
213
enum
ExtendedEMVStatus
214
{
215
EMVStatus_Idle
= 0,
216
EMVStatus_Processing
= 1,
217
EMVStatus_WaitForCard
= 2,
218
EMVStatus_ReadingCard
= 3,
219
EMVStatus_ApplicationSelection
= 4,
220
EMVStatus_Loyalty
= 5,
221
EMVStatus_PinCode
= 6,
222
EMVStatus_FirstCardDecision
= 7,
223
EMVStatus_WaitProcessorApproval
= 8,
224
EMVStatus_FinalCardDecision
= 9,
225
EMVStatus_Completed
= 10,
226
};
227
229
enum
ExtendedPeriodicStatus
230
{
231
PeriodicStatus_Idle
= 0,
232
PeriodicStatus_SendDynamicParameterRequest
= 1001,
233
PeriodicStatus_RecvDynamicParameterResponse
= 1002,
234
PeriodicStatus_RecvDynamicParameterIsraelResponse
= 1003,
235
PeriodicStatus_RecvDynamicParameterTouristResponse
= 1004,
236
PeriodicStatus_RecvDynamicParameterGeneralResponse
= 1005,
237
PeriodicStatus_RecvTkefimIsracard
= 1056,
238
PeriodicStatus_RecvTikrutPL
= 1201,
239
PeriodicStatus_RecvTikrutLocal
= 1202,
240
PeriodicStatus_RecvTikrutTourist
= 1204,
241
PeriodicStatus_RecvIsracardPermission
= 1301,
242
PeriodicStatus_RecvIsracardNames
= 1304,
243
PeriodicStatus_RecvNonPLServiceCodeChecks
= 1306,
244
PeriodicStatus_RecvCalImmediateChargeIdentification
= 1311,
245
PeriodicStatus_RecvPLServiceCodeChecks
= 1312,
246
PeriodicStatus_RecvCalPermissions
= 1315,
247
PeriodicStatus_RecvCalNames
= 1318,
248
PeriodicStatus_RecvLeumiPermissions
= 1331,
249
PeriodicStatus_RecvLeumiNames
= 1334,
250
PeriodicStatus_RecvFutureManpikPermissions
= 1341,
251
PeriodicStatus_RecvFutureNames
= 1344,
252
PeriodicStatus_RecvTouristNames
= 1364,
253
PeriodicStatus_RecvUnauthorizedIsraeliCards
= 1380,
254
PeriodicStatus_RecvBenefitsDefinitions
= 1381,
255
PeriodicStatus_RecvPrivateFieldsInChipLocation
= 1382,
256
PeriodicStatus_RecvCardMaskingDefinitions
= 1383,
257
PeriodicStatus_RecvIssuerPrefixAssociation
= 1390,
258
PeriodicStatus_RecvSolekDefinitions
= 1391,
259
PeriodicStatus_RecvBrandDefinitions
= 1392,
260
PeriodicStatus_RecvManpikDefinitions
= 1393,
261
PeriodicStatus_RecvSystemMessage
= 1400,
262
PeriodicStatus_SendBatchRequest
= 1401,
263
PeriodicStatus_SendBatchBlock
= 1402,
264
PeriodicStatus_SendBatchAmounts
= 1403,
265
PeriodicStatus_RecvBatchResponse
= 1404,
266
PeriodicStatus_RecvCommReportResponse
= 1502,
267
PeriodicStatus_SendBlockedCardsRequest
= 1601,
268
PeriodicStatus_RecvBlockedCardsResponseFull
= 1604,
269
PeriodicStatus_RecvBlockedCardsResponseSmall
= 1605,
270
PeriodicStatus_SendPinPadParametersRequest
= 1701,
271
PeriodicStatus_RecvPinPadParametersResponseParameters
= 1702,
272
PeriodicStatus_RecvPinPadParametersResponseCAKey
= 1703,
273
PeriodicStatus_UpdatingPinpadParameters
= 1,
274
PeriodicStatus_Completed
= 10,
275
};
276
278
enum
SPILogLevel
279
{
280
SPILog_Emergency
= 0,
281
SPILog_Alert
= 1,
282
SPILog_Critical
= 2,
283
SPILog_Error
= 3,
284
SPILog_Warning
= 4,
285
SPILog_Notice
= 5,
286
SPILog_Info
= 6,
287
SPILog_Debug
= 7,
288
};
289
291
enum
SPILanguage
292
{
293
SPILanguage_Hebrew
= 1,
294
SPILanguage_English
= 2,
295
};
296
298
enum
ServiceProperty
299
{
300
ServiceProperty_TransmitTime
= 1,
301
ServiceProperty_SystemTrace
= 2,
302
ServiceProperty_DeviceSerial
= 3,
303
ServiceProperty_CountryCode
= 4,
304
ServiceProperty_Currency
= 5,
305
ServiceProperty_DecimalPlace
= 6,
306
ServiceProperty_AcquirerTermianlId
= 7,
307
};
308
310
enum
DcsStatus
311
{
312
DcsStatus_NotActivated
= 0,
313
DcsStatus_Activated
= 1,
314
DcsStatus_TokenOnly
= 2,
315
};
316
318
enum
DcsActivationMode
319
{
320
DcsActivationMode_FullActivation
= 1,
321
DcsActivationMode_TokenOnly
= 2,
322
};
323
325
enum
DcsProperty
326
{
327
DcsProperty_RetailerNumber
= 1,
328
DcsProperty_Token
= 2,
329
DcsProperty_NayaxSN
= 3,
330
};
331
333
enum
MasterSlaveMode
334
{
335
MasterSlaveMode_None
= 0,
336
MasterSlaveMode_Master
= 1,
337
MasterSlaveMode_Slave
= 2,
338
};
339
343
namespace
Ashrait {
344
346
enum
VirtualReason
347
{
348
SwipeData
= 1,
349
Balance
= 2,
350
CancelRegisteredTransaction
= 3,
351
CancelPreAuthorization
= 4,
352
GenerateStandingOrder
= 5,
353
RetreiveTransaction
= 6,
354
Settelment
= 7,
355
RetreiveTransactionByVuid
= 8,
356
};
357
359
enum
CreditTerms
360
{
361
CT_Regular
= 1,
362
CT_IsracreditVisaMaofVisa30
= 2,
363
CT_Immidiate
= 3,
364
CT_CreditFixed
= 6,
365
CT_Payments
= 8,
366
};
367
369
enum
PaymentLinked
370
{
371
ToNone
= 0,
372
ToCPI
= 1,
373
ToDollar
= 2,
374
};
375
377
enum
Status
378
{
379
Ready
= 0,
380
NotEstablished
= -1,
381
BatchNeeded
= -2,
382
DBError
= -3,
383
PinpadError
= -4,
384
VersionError
= -5,
385
Unknown
= -6,
386
BatchRequiered
= -7,
387
NotConnected
= -8,
388
};
389
391
enum
CardNotPresentType
392
{
393
CNP_Signature
= 1,
394
CNP_Phone
= 2,
395
CNP_Internet
= 3,
396
};
397
399
enum
TransactionType
400
{
401
TT_Informative
= 0,
402
TT_Regular
= 1,
403
TT_Unload
= 2,
404
TT_Forced
= 3,
405
TT_CashBack
= 6,
406
TT_Cash
= 7,
407
TT_StandingOrder
= 11,
408
TT_BalanceCheck
= 30,
409
TT_Refund
= 53,
410
TT_Charge
= 55,
411
};
412
414
enum
IPayType
415
{
416
IPay_Money
= 0,
417
IPay_Starts
= 1,
418
IPay_Points
= 2,
419
IPay_Club
= 3,
420
IPay_NoIpay
= 99,
421
};
422
424
enum
ECIType
425
{
426
ECI_InternetNoSign
= 1,
427
ECI_InternetManpikNotRegistered
= 2,
428
ECI_InternetWithSign
= 3,
429
};
430
432
enum
MissingEventType
433
{
434
MissingNone
= 0,
435
MissingAuthorizationNumber
= 1,
436
MissingAVSDeatils
= 2,
437
MissingUnknown
= 3,
438
};
439
441
enum
Manpik
442
{
443
Manpik_Tourist
= 0,
444
Manpik_Isracard
= 1,
445
Manpik_CAL
= 2,
446
Manpik_LeumiCard
= 6,
447
};
448
450
enum
Solek
451
{
452
Solek_Isracard
= 1,
453
Solek_Cal
= 2,
454
Solek_LeumiCard
= 6,
455
Solek_Cardcom
= 7,
456
};
457
459
enum
Mutag
460
{
461
Mutag_PL
= 0,
462
Mutag_Mastercard
= 1,
463
Mutag_Visa
= 2,
464
Mutag_Diners
= 3,
465
Mutag_Amex
= 4,
466
Mutag_Isracard
= 5,
467
Mutag_JCB
= 6,
468
Mutag_Discover
= 7,
469
Mutag_Maestro
= 8
470
};
471
473
enum
PanEntryMode
474
{
475
PEM_Magnetic
= 0,
476
PEM_Magnetic_Contactless
= 4,
477
PEM_EMV_Contactless
= 5,
478
PEM_Mobile_Magnetic_Contactless
= 6,
479
PEM_EMV_Mobile_Contactless
= 7,
480
PEM_PhoneNumber
= 10,
481
PEM_RFU
= 11,
482
PEM_EMV_Contact
= 40,
483
PEM_Phone
= 50,
484
PEM_Signeture_Only
= 51,
485
PEM_Internet
= 52,
486
PEM_Fallback
= 80,
487
PEM_Empty_Candidate_List
= 81,
488
PEM_Empty
= 99,
489
};
490
492
enum
ProcessorId
493
{
494
ABS
= 1,
495
Pelecard
= 2,
496
CreditGuard
= 3,
497
Tranzila
= 4,
498
EZCard
= 5,
499
Arkom
= 6,
500
};
501
503
enum
GasolineType
504
{
505
GasolinType_None
= 0,
506
GasolinType_91
= 1,
507
GasolinType_96
= 2,
508
GasolinType_95Unleaded
= 3,
509
GasolinType_Diesel
= 4,
510
GasolinType_Motorcycle
= 5,
511
GasolinType_MiliteryGasoline
= 6,
512
GasolinType_MiliteryDiesel
= 7,
513
GasolinType_Kerosene
= 8,
514
GasolinType_Other
= 9,
515
GasolinType_91Unleaded
= 10,
516
GasolinType_98
= 11,
517
GasolinType_98Unleaded
= 12,
518
GasolinType_DieselUnleaded
= 14,
519
GasolinType_LiquefiedPetroleumGas
= 36,
520
GasolinType_Urea
= 37,
521
};
522
524
enum
AuthCodeIssuer
525
{
526
AuthCodeIssuer_Unauthorized
= 0,
527
AuthCodeIssuer_ApprovedByIssuer
= 1,
528
AuthCodeIssuer_DeclinedByIssuer
= 2,
529
AuthCodeIssuer_ApprovedByAbsSTIP
= 3,
530
AuthCodeIssuer_DeclinedByAbsSTIP
= 4,
531
AuthCodeIssuer_ApprovedByVoice
= 5,
532
AuthCodeIssuer_DeclinedByVoice
= 6,
533
AuthCodeIssuer_ApprovedByIssuerPreAuth
= 7,
534
AuthCodeIssuer_ApprovedByCard
= 8,
535
};
536
537
}
538
542
namespace
NayaxVend {
543
545
enum
CardEntryType
546
{
547
CardEntry_MsrSwipe
= 1,
548
CardEntry_Contactless
= 2,
549
CardEntry_Contact
= 3,
550
};
551
553
enum
UnitOfMeasurement
554
{
555
Measurement_Item
= 0,
557
};
558
560
enum
CardType
561
{
562
CardType_Unknown
= 0,
563
CardType_Proprietary
= 1,
564
CardType_Visa
= 2,
565
CardType_MasterCard
= 3,
566
CardType_ChinaUnionPay
= 4,
567
CardType_Maestro
= 5,
568
CardType_Interac
= 6,
569
CardType_Monyx
= 7,
571
};
572
573
}
574
}
575
}
576
577
578
579
580
581
582
583
Generated by
1.8.2