SPI
1.2403.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
80
typedef
uint32_t
UnsignedNumericType
;
81
83
typedef
int32_t
SignedNumericType
;
84
85
86
87
88
namespace
Modularity {
89
90
namespace
SPI {
92
enum
SPI_RET_VAL
93
{
94
SPI_SUCCESS
= 0,
95
SPI_ALREADY_EXIST
= -1,
96
SPI_FAIL
= -2,
97
SPI_INVALID
= -3,
98
SPI_MISSING_EVENT_HANDLER
= -4,
99
SPI_NOT_SUPPORTED
= -5,
100
SPI_ABORTED
= -6,
101
SPI_CONNECTION_ERR
= -7,
102
SPI_TIME_OUT
= -8,
103
SPI_NO_INIT
= -999
104
};
105
107
enum
SPI_STATUS
108
{
109
SPI_READY
= 0,
110
SPI_READY_ONLINE
= 1,
111
SPI_NOT_ESTABLISHED
= -1,
112
SPI_NOT_READY
= -2,
113
SPI_ERROR
= -3
114
};
115
117
enum
TransactionStatus
118
{
119
Tran_NotCompleted
,
120
Tran_Phase1Now
,
121
Tran_AuthoriztionNumber
,
122
Tran_CVV
,
123
Tran_CardHolderId
,
124
Tran_Completed
125
};
126
128
enum
EndOfDayStatus
129
{
130
EndOfDay_NotCompleted
,
131
EndOfDay_Completed
132
};
133
135
enum
ExcUnitLocation
136
{
137
SPIEXCUNIT_THISINT
= 0,
138
SPIEXCUNIT_IPINT
= 1,
139
SPIEXCUNIT_SERIALINT
= 2,
140
SPIEXCUNIT_NONE
= 99
141
};
142
144
enum
ServiceID
145
{
146
AshraitService
= 0,
147
DebitService
= 1,
148
TransportationService
= 2,
149
NayaxVendService
= 3,
150
NayaxEngineService
= 4,
151
CibusService
= 5,
152
MultipassService
= 6
153
};
154
156
enum
DeviceId
157
{
158
ModularityDevice
= 0,
159
VPOSTouch
= 1,
160
};
161
162
164
enum
PP_Protocol
165
{
166
MP3
= 0,
167
MPOS
= 1,
168
XPI
= 2
169
};
170
172
enum
ReportType
173
{
174
X_REPORT
= 0,
175
Z_REPORT
= 1,
176
ACCM_REPORT
= 2,
177
PARAM_REPORT
= 3,
178
QUERY_TRANSACTIONS_REPORT
= 4,
179
QUERY_REPORTS_REPORT
= 5,
180
MINI_SETTLEMENT_REPORT
= 6,
181
QUERY_PRE_AUTH_TRANSACTIONS_REPORT
= 7,
182
QUERY_PENDING_DEFERRED_AUTH
= 8,
183
AUTHORIZE_PENDING_TRANSACTIONS
= 9,
184
BASE
= 99
185
};
186
188
enum
ZReportFormat
189
{
190
ZReport_Narrow
= 0,
191
ZReport_Medium
= 1,
192
ZReport_Wide
= 2,
193
ZReport_XML
= 3,
194
};
195
197
enum
CurrencyType
198
{
199
Curr_Shekel
= 376,
200
Curr_Dollar
= 840,
201
Curr_Foreign
= 0
202
};
203
206
struct
ReceiptLine
207
{
208
string
key
;
209
string
value
;
210
};
211
214
struct
AcquiredBrandInfo
215
{
216
string
brandName
;
217
string
acquireName
;
218
string
businessNumber
;
219
string
phoneNumber
;
220
};
221
224
struct
SubRetailer
225
{
226
string
RetailerId
;
227
string
RetailerName
;
228
bool
IsActivated
;
229
bool
StartWork
;
230
};
231
232
233
236
struct
EndOfDayReportInfo
237
{
238
string
AckNumber
;
239
string
Date
;
240
};
241
243
enum
ExtendedEMVStatus
244
{
245
EMVStatus_Idle
= 0,
246
EMVStatus_Processing
= 1,
247
EMVStatus_WaitForCard
= 2,
248
EMVStatus_ReadingCard
= 3,
249
EMVStatus_ApplicationSelection
= 4,
250
EMVStatus_Loyalty
= 5,
251
EMVStatus_PinCode
= 6,
252
EMVStatus_FirstCardDecision
= 7,
253
EMVStatus_WaitProcessorApproval
= 8,
254
EMVStatus_FinalCardDecision
= 9,
255
EMVStatus_Completed
= 10,
256
};
257
259
enum
ExtendedPeriodicStatus
260
{
261
PeriodicStatus_Idle
= 0,
262
PeriodicStatus_SendDynamicParameterRequest
= 1001,
263
PeriodicStatus_RecvDynamicParameterResponse
= 1002,
264
PeriodicStatus_RecvDynamicParameterIsraelResponse
= 1003,
265
PeriodicStatus_RecvDynamicParameterTouristResponse
= 1004,
266
PeriodicStatus_RecvDynamicParameterGeneralResponse
= 1005,
267
PeriodicStatus_RecvTkefimIsracard
= 1056,
268
PeriodicStatus_RecvTikrutPL
= 1201,
269
PeriodicStatus_RecvTikrutLocal
= 1202,
270
PeriodicStatus_RecvTikrutTourist
= 1204,
271
PeriodicStatus_RecvIsracardPermission
= 1301,
272
PeriodicStatus_RecvIsracardNames
= 1304,
273
PeriodicStatus_RecvNonPLServiceCodeChecks
= 1306,
274
PeriodicStatus_RecvCalImmediateChargeIdentification
= 1311,
275
PeriodicStatus_RecvPLServiceCodeChecks
= 1312,
276
PeriodicStatus_RecvCalPermissions
= 1315,
277
PeriodicStatus_RecvCalNames
= 1318,
278
PeriodicStatus_RecvLeumiPermissions
= 1331,
279
PeriodicStatus_RecvLeumiNames
= 1334,
280
PeriodicStatus_RecvFutureManpikPermissions
= 1341,
281
PeriodicStatus_RecvFutureNames
= 1344,
282
PeriodicStatus_RecvTouristNames
= 1364,
283
PeriodicStatus_RecvUnauthorizedIsraeliCards
= 1380,
284
PeriodicStatus_RecvBenefitsDefinitions
= 1381,
285
PeriodicStatus_RecvPrivateFieldsInChipLocation
= 1382,
286
PeriodicStatus_RecvCardMaskingDefinitions
= 1383,
287
PeriodicStatus_RecvIssuerPrefixAssociation
= 1390,
288
PeriodicStatus_RecvSolekDefinitions
= 1391,
289
PeriodicStatus_RecvBrandDefinitions
= 1392,
290
PeriodicStatus_RecvManpikDefinitions
= 1393,
291
PeriodicStatus_RecvSystemMessage
= 1400,
292
PeriodicStatus_SendBatchRequest
= 1401,
293
PeriodicStatus_SendBatchBlock
= 1402,
294
PeriodicStatus_SendBatchAmounts
= 1403,
295
PeriodicStatus_RecvBatchResponse
= 1404,
296
PeriodicStatus_RecvCommReportResponse
= 1502,
297
PeriodicStatus_SendBlockedCardsRequest
= 1601,
298
PeriodicStatus_RecvBlockedCardsResponseFull
= 1604,
299
PeriodicStatus_RecvBlockedCardsResponseSmall
= 1605,
300
PeriodicStatus_SendPinPadParametersRequest
= 1701,
301
PeriodicStatus_RecvPinPadParametersResponseParameters
= 1702,
302
PeriodicStatus_RecvPinPadParametersResponseCAKey
= 1703,
303
PeriodicStatus_RecvPinPadParametersResponseBins
= 1704,
304
PeriodicStatus_UpdatingPinpadParameters
= 1,
305
PeriodicStatus_AuthorizingPendingTransaction
= 2,
306
PeriodicStatus_Completed
= 10,
307
};
308
310
enum
SPILogLevel
311
{
312
SPILog_Emergency
= 0,
313
SPILog_Alert
= 1,
314
SPILog_Critical
= 2,
315
SPILog_Error
= 3,
316
SPILog_Warning
= 4,
317
SPILog_Notice
= 5,
318
SPILog_Info
= 6,
319
SPILog_Debug
= 7,
320
};
321
323
enum
SPILanguage
324
{
325
SPILanguage_Hebrew
= 1,
326
SPILanguage_English
= 2,
327
SPILanguage_Generic
= 3,
328
};
329
330
331
enum
SPIMode
332
{
333
SPIMode_IdleAlways
= 0,
334
SPIMode_SessionStart
= 1,
335
};
336
338
enum
ServiceProperty
339
{
340
ServiceProperty_TransmitTime
= 1,
341
ServiceProperty_SystemTrace
= 2,
342
ServiceProperty_DeviceSerial
= 3,
343
ServiceProperty_CountryCode
= 4,
344
ServiceProperty_Currency
= 5,
345
ServiceProperty_DecimalPlace
= 6,
346
ServiceProperty_AcquirerTermianlId
= 7,
347
ServiceProperty_RavSapak
= 8,
348
};
349
351
enum
DeviceProperty
352
{
353
DeviceProperty_SN
= 1,
354
DeviceProperty_NayaxSN
= 2,
355
DeviceProperty_AppVersion
= 3,
356
};
357
359
enum
DcsStatus
360
{
361
DcsStatus_NotActivated
= 0,
362
DcsStatus_Activated
= 1,
363
DcsStatus_TokenOnly
= 2,
364
};
365
367
enum
DcsActivationMode
368
{
369
DcsActivationMode_FullActivation
= 1,
370
DcsActivationMode_TokenOnly
= 2,
371
};
372
374
enum
DcsProperty
375
{
376
DcsProperty_RetailerNumber
= 1,
377
DcsProperty_Token
= 2,
378
DcsProperty_NayaxSN
= 3,
379
DcsProperty_ActivationError
= 4,
380
DcsProperty_Parameters
= 5,
381
DcsProperty_PaymentMethods
= 6,
382
DcsProperty_EMVProvider
= 7,
383
DcsProperty_CibusEnabled
= 8,
384
DcsProperty_CibusRestaurantId
= 9,
385
DcsProperty_CibusPosId
= 10,
386
DcsProperty_MultipassEnabled
= 11,
387
DcsProperty_MultipassPosId
= 12,
388
};
389
391
enum
MasterSlaveMode
392
{
393
MasterSlaveMode_None
= 0,
394
MasterSlaveMode_Master
= 1,
395
MasterSlaveMode_Slave
= 2,
396
};
397
399
enum
ReadCardEntry
400
{
401
MSR
= 0,
402
MIFARE
= 1
403
};
404
408
namespace
Ashrait {
409
411
enum
VirtualReason
412
{
413
SwipeData
= 1,
414
Balance
= 2,
415
CancelRegisteredTransaction
= 3,
416
CancelPreAuthorization
= 4,
417
GenerateStandingOrder
= 5,
418
RetreiveTransaction
= 6,
419
Settelment
= 7,
420
RetreiveTransactionByVuid
= 8,
421
};
422
424
enum
CreditTerms
425
{
426
CT_Regular
= 1,
427
CT_IsracreditVisaMaofVisa30
= 2,
428
CT_Immidiate
= 3,
429
CT_CreditFixed
= 6,
430
CT_Payments
= 8,
431
};
432
434
enum
PaymentLinked
435
{
436
ToNone
= 0,
437
ToCPI
= 1,
438
ToDollar
= 2,
439
};
440
442
enum
Status
443
{
444
Ready
= 0,
445
NotEstablished
= -1,
446
BatchNeeded
= -2,
447
DBError
= -3,
448
PinpadError
= -4,
449
VersionError
= -5,
450
Unknown
= -6,
451
BatchRequiered
= -7,
452
NotConnected
= -8,
453
};
454
456
enum
CardNotPresentType
457
{
458
CNP_Signature
= 1,
459
CNP_Phone
= 2,
460
CNP_Internet
= 3,
461
};
462
464
enum
TransactionType
465
{
466
TT_Informative
= 0,
467
TT_Regular
= 1,
468
TT_Unload
= 2,
469
TT_Forced
= 3,
470
TT_CashBack
= 6,
471
TT_Cash
= 7,
472
TT_StandingOrder
= 11,
473
TT_BalanceCheck
= 30,
474
TT_Refund
= 53,
475
TT_Charge
= 55,
476
};
477
479
enum
IPayType
480
{
481
IPay_Money
= 0,
482
IPay_Starts
= 1,
483
IPay_Points
= 2,
484
IPay_Club
= 3,
485
IPay_NoIpay
= 99,
486
};
487
489
enum
ECIType
490
{
491
ECI_InternetNoSign
= 1,
492
ECI_InternetManpikNotRegistered
= 2,
493
ECI_InternetWithSign
= 3,
494
};
495
497
enum
MissingEventType
498
{
499
MissingNone
= 0,
500
MissingAuthorizationNumber
= 1,
501
MissingAVSDeatils
= 2,
502
MissingUnknown
= 3,
503
};
504
506
enum
Manpik
507
{
508
Manpik_Tourist
= 0,
509
Manpik_Isracard
= 1,
510
Manpik_CAL
= 2,
511
Manpik_3
= 3,
512
Manpik_4
= 4,
513
Manpik_5
= 5,
514
Manpik_LeumiCard
= 6,
515
Manpik_7
= 7,
516
Manpik_8
= 8,
517
Manpik_9
= 9,
518
Manpik_10
= 10,
519
Manpik_11
= 11,
520
Manpik_12
= 12,
521
};
522
524
enum
Solek
525
{
526
Solek_Isracard
= 1,
527
Solek_Cal
= 2,
528
Solek_3
= 3,
529
Solek_4
= 4,
530
Solek_Tranzila
= 5,
531
Solek_LeumiCard
= 6,
532
Solek_Cardcom
= 7,
533
Solek_8
= 8,
534
Solek_9
= 9,
535
Solek_10
= 10,
536
Solek_11
= 11,
537
Solek_12
= 12,
538
};
539
541
enum
Mutag
542
{
543
Mutag_PL
= 0,
544
Mutag_Mastercard
= 1,
545
Mutag_Visa
= 2,
546
Mutag_Diners
= 3,
547
Mutag_Amex
= 4,
548
Mutag_Isracard
= 5,
549
Mutag_JCB
= 6,
550
Mutag_Discover
= 7,
551
Mutag_Maestro
= 8
552
};
553
555
enum
PanEntryMode
556
{
557
PEM_Magnetic
= 0,
558
PEM_Magnetic_Contactless
= 4,
559
PEM_EMV_Contactless
= 5,
560
PEM_Mobile_Magnetic_Contactless
= 6,
561
PEM_EMV_Mobile_Contactless
= 7,
562
PEM_PhoneNumber
= 10,
563
PEM_RFU
= 11,
564
PEM_EMV_Contact
= 40,
565
PEM_Phone
= 50,
566
PEM_Signeture_Only
= 51,
567
PEM_Internet
= 52,
568
PEM_Fallback
= 80,
569
PEM_Empty_Candidate_List
= 81,
570
PEM_Empty
= 99,
571
};
572
574
enum
ProcessorId
575
{
576
ABS
= 1,
577
Pelecard
= 2,
578
CreditGuard
= 3,
579
Tranzila
= 4,
580
EZCard
= 5,
581
Arkom
= 6,
582
Nayax
= 7,
583
};
584
586
enum
AuthCodeIssuer
587
{
588
AuthCodeIssuer_Unauthorized
= 0,
589
AuthCodeIssuer_ApprovedByIssuer
= 1,
590
AuthCodeIssuer_DeclinedByIssuer
= 2,
591
AuthCodeIssuer_ApprovedByAbsSTIP
= 3,
592
AuthCodeIssuer_DeclinedByAbsSTIP
= 4,
593
AuthCodeIssuer_ApprovedByVoice
= 5,
594
AuthCodeIssuer_DeclinedByVoice
= 6,
595
AuthCodeIssuer_ApprovedByIssuerPreAuth
= 7,
596
AuthCodeIssuer_ApprovedByCard
= 8,
597
};
598
599
}
600
604
namespace
NayaxVend {
605
607
enum
CardEntryType
608
{
609
CardEntry_MsrSwipe
= 1,
610
CardEntry_Contactless
= 2,
611
CardEntry_Contact
= 3,
612
CardEntry_Mifare
= 4
613
};
614
616
enum
UnitOfMeasurement
617
{
618
Measurement_Item
= 0,
620
};
621
623
enum
CardType
624
{
625
CardType_Unknown
= 0,
626
CardType_Proprietary
= 1,
627
CardType_Visa
= 2,
628
CardType_MasterCard
= 3,
629
CardType_ChinaUnionPay
= 4,
630
CardType_Maestro
= 5,
631
CardType_Interac
= 6,
632
CardType_Monyx
= 7,
634
};
635
636
}
637
641
namespace
Cibus {
642
644
enum
CibusTranType
645
{
646
CibusTranType_AddOrder
= 1,
647
CibusTranType_CancelOrder
= 2,
648
CibusTranType_BalanceInquiry
= 3,
649
CibusTranType_RetrieveByOrderId
= 4,
650
CibusTranType_RetrieveByVUID
= 5,
651
};
652
654
enum
CibusCardType
655
{
656
CibusCardType_Unkown
= 1,
657
CibusCardType_Cibus
= 2,
658
CibusCardType_TavZahav
= 3,
659
};
660
662
enum
CibusCardEntryType
663
{
664
CibusCardEntryType_Manual
= 1,
665
CibusCardEntryType_Swipe
= 2,
666
CibusCardEntryType_Mifare
= 3,
667
};
668
670
enum
CibusAcquirer
671
{
672
CibusAcquirer_Cibus
= 1,
673
CibusAcquirer_TavZahav
= 2,
674
};
675
676
678
enum
CibusReportType
679
{
680
CibusReportType_Companies
= 1,
681
};
682
685
struct
Company
686
{
687
string
CompanyId
;
688
string
CompanyName
;
689
};
690
691
}
692
696
namespace
Multipass {
697
699
enum
MultipassTransactionType
700
{
701
MultipassTransactionType_SumTrnsaction
= 1,
702
MultipassTransactionType_ItemTransaction
= 2,
703
MultipassTransactionType_RefundTransaction
= 3,
704
MultipassTransactionType_DeleteTransaction
= 4,
705
MultipassTransactionType_BalanceInquiry
= 5,
706
MultipassTransactionType_RetrieveByTransactionId
= 6,
707
MultipassTransactionType_RetrieveByVUID
= 7,
708
};
709
712
struct
MultipassItem
713
{
714
string
ItemId
;
715
AmountType
ItemAmount
;
716
CounterType
ItemQuantity
;
717
};
718
}
719
723
namespace
NayaxEngine {
724
726
enum
NayaxEngineTransactionType
727
{
728
NayaxEngineTransactionType_Sale
= 1,
729
NayaxEngineTransactionType_Refund
= 2,
730
NayaxEngineTransactionType_PreAuthorization
= 3,
731
NayaxEngineTransactionType_DeferredAuthorization
= 4,
732
};
733
}
734
735
736
737
738
739
}
740
}
741
742
743
744
745
746
747
748
Generated by
1.8.2