SPI  1.1.52
Secured Payment Interface
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Namespaces | Classes | Enumerations
Modularity::SPI Namespace Reference

This namespace contains avilible classes and enumerators for SPI library. More...

Namespaces

namespace  Ashrait
 This namespace contains requiered enumerators for AshraitEMV service.
 

Classes

class  AshraitEMVTransaction
 This class contains all the input data and output data of AshraitEMV transactions, including the methods inherited from class Transaction. All data in this class is reachable through various methods which define the behaivor of the operation. More...
 
class  Config
 This class contains all the methods to Config a Service or a device when attached to a Service. More...
 
class  Report
 This class contains all the requiered operations for Reports. More...
 
class  Service
 This class contains all the operations that Avilible for a Service. Since this class is abstract, Servuce object is invlaid and can't be constructed. A Service handle is created by SPI class interface. All data in this class is reachable through various methods which define the behaivor of the operation. More...
 
class  SPI
 This class contains all the operations of the Payment Interface, Creation and Services management. More...
 
struct  ReceiptLine
 A struct which reprensts a line in receipt. More...
 
class  Transaction
 This class contains all the input data and output data of Transactions. Those methods are common to all the derived classes from Transaction. Since this class is abstract, Transaction object is invlaid and can't be constructed. All data in this class is reachable through various methods which define the behaivor of the operation. More...
 

Enumerations

enum  SPI_RET_VAL {
  SPI_SUCCESS = 0, SPI_ALREADY_EXIST = -1, SPI_FAIL = -2, SPI_INVALID = -3,
  SPI_MISSING_EVENT_HANDLER = -4, SPI_NOT_SUPPORTED = -5, SPI_ABORTED = -6, SPI_CONNECTION_ERR = -7,
  SPI_TIME_OUT = -8, SPI_NO_INIT = -999
}
 
enum  SPI_STATUS {
  SPI_READY = 0, SPI_READY_ONLINE = 1, SPI_NOT_ESTABLISHED = -1, SPI_NOT_READY = -2,
  SPI_ERROR = -3
}
 
enum  TransactionStatus { Tran_NotCompleted, Tran_Phase1Now, Tran_Completed }
 
enum  EndOfDayStatus { EndOfDay_NotCompleted, EndOfDay_Completed }
 
enum  ExcUnitLocation { SPIEXCUNIT_THISINT = 0, SPIEXCUNIT_IPINT = 1, SPIEXCUNIT_SERIALINT = 2, SPIEXCUNIT_NONE = 99 }
 
enum  ServiceID { AshraitService = 0, DebitService = 1, TransportationService = 2 }
 
enum  PP_Protocol { MP3 = 0, MPOS = 1, XPI = 2 }
 
enum  ReportType { X_REPORT = 0, Z_REPORT = 1 }
 
enum  ZReportFormat { ZReport_Narrow = 0, ZReport_Medium = 1, ZReport_Wide = 2, ZReport_XML = 3 }
 
enum  CurrencyType { Curr_Shekel = 376, Curr_Dollar = 840, Curr_Foreign = 0 }
 
enum  ExtendedEMVStatus {
  EMVStatus_Idle = 0, EMVStatus_Processing = 1, EMVStatus_WaitForCard = 2, EMVStatus_ReadingCard = 3,
  EMVStatus_ApplicationSelection = 4, EMVStatus_Loyalty = 5, EMVStatus_PinCode = 6, EMVStatus_FirstCardDecision = 7,
  EMVStatus_WaitProcessorApproval = 8, EMVStatus_FinalCardDecision = 9, EMVStatus_Completed = 10
}
 
enum  ExtendedPeriodicStatus {
  PeriodicStatus_Idle = 0, PeriodicStatus_SendDynamicParameterRequest = 1001, PeriodicStatus_RecvDynamicParameterResponse = 1002, PeriodicStatus_RecvDynamicParameterIsraelResponse = 1003,
  PeriodicStatus_RecvDynamicParameterTouristResponse = 1004, PeriodicStatus_RecvDynamicParameterGeneralResponse = 1005, PeriodicStatus_RecvTkefimIsracard = 1056, PeriodicStatus_RecvTikrutPL = 1201,
  PeriodicStatus_RecvTikrutLocal = 1202, PeriodicStatus_RecvTikrutTourist = 1204, PeriodicStatus_RecvIsracardPermission = 1301, PeriodicStatus_RecvIsracardNames = 1304,
  PeriodicStatus_RecvNonPLServiceCodeChecks = 1306, PeriodicStatus_RecvCalImmediateChargeIdentification = 1311, PeriodicStatus_RecvPLServiceCodeChecks = 1312, PeriodicStatus_RecvCalPermissions = 1315,
  PeriodicStatus_RecvCalNames = 1318, PeriodicStatus_RecvLeumiPermissions = 1331, PeriodicStatus_RecvLeumiNames = 1334, PeriodicStatus_RecvFutureManpikPermissions = 1341,
  PeriodicStatus_RecvFutureNames = 1344, PeriodicStatus_RecvTouristNames = 1364, PeriodicStatus_RecvUnauthorizedIsraeliCards = 1380, PeriodicStatus_RecvBenefitsDefinitions = 1381,
  PeriodicStatus_RecvPrivateFieldsInChipLocation = 1382, PeriodicStatus_RecvCardMaskingDefinitions = 1383, PeriodicStatus_RecvIssuerPrefixAssociation = 1390, PeriodicStatus_RecvSolekDefinitions = 1391,
  PeriodicStatus_RecvBrandDefinitions = 1392, PeriodicStatus_RecvManpikDefinitions = 1393, PeriodicStatus_RecvSystemMessage = 1400, PeriodicStatus_SendBatchRequest = 1401,
  PeriodicStatus_SendBatchBlock = 1402, PeriodicStatus_SendBatchAmounts = 1403, PeriodicStatus_RecvBatchResponse = 1404, PeriodicStatus_RecvCommReportResponse = 1502,
  PeriodicStatus_SendBlockedCardsRequest = 1601, PeriodicStatus_RecvBlockedCardsResponseFull = 1604, PeriodicStatus_RecvBlockedCardsResponseSmall = 1605, PeriodicStatus_SendPinPadParametersRequest = 1701,
  PeriodicStatus_RecvPinPadParametersResponseParameters = 1702, PeriodicStatus_RecvPinPadParametersResponseCAKey = 1703, PeriodicStatus_UpdatingPinpadParameters = 1, PeriodicStatus_Completed = 10
}
 
enum  SPILogLevel {
  SPILog_Emergency = 0, SPILog_Alert = 1, SPILog_Critical = 2, SPILog_Error = 3,
  SPILog_Warning = 4, SPILog_Notice = 5, SPILog_Info = 6, SPILog_Debug = 7
}
 

Detailed Description

This namespace contains avilible classes and enumerators for SPI library.

Enumeration Type Documentation

The type of currency used to perform the transaction

Enumerator:
Curr_Shekel 

New Israeli Shekel

Curr_Dollar 

United States Dollar

Curr_Foreign 

Foreign Currency - Must set Foreign currency

Definition at line 164 of file SPIDEF.h.

{
Curr_Shekel = 376,
Curr_Dollar = 840,
};

Status of a nonblocking end of day batching

Enumerator:
EndOfDay_NotCompleted 

Batching not completed

EndOfDay_Completed 

Batching completed

Definition at line 116 of file SPIDEF.h.

Execution unit Location. Can be defined either to Service or to Pinpad while is added.

Enumerator:
SPIEXCUNIT_THISINT 

Local

SPIEXCUNIT_IPINT 

Remoted Service/Device over TCP/IP

SPIEXCUNIT_SERIALINT 

Remoted Service/Device over Serial port

SPIEXCUNIT_NONE 

None

Definition at line 123 of file SPIDEF.h.

Extended status about ongoing EMV transaction

Enumerator:
EMVStatus_Idle 

Transaction in idle mode

EMVStatus_Processing 

Processing

EMVStatus_WaitForCard 

Transaction waiting for card

EMVStatus_ReadingCard 

Reading the card

EMVStatus_ApplicationSelection 

Application selection

EMVStatus_Loyalty 

Card detected - In loyalty (Phase 1)

EMVStatus_PinCode 

Waiting for PIN code (Not supported yet)

EMVStatus_FirstCardDecision 

Doing first card decision

EMVStatus_WaitProcessorApproval 

Waiting for online approval from the processor

EMVStatus_FinalCardDecision 

Doing first card decision

EMVStatus_Completed 

Transaction completed

Definition at line 180 of file SPIDEF.h.

Extended status about ongoing periodic process (EndOfDay or DoEstablishment)

Enumerator:
PeriodicStatus_Idle 

Periodic in idle status

PeriodicStatus_SendDynamicParameterRequest 

Periodic status

PeriodicStatus_RecvDynamicParameterResponse 

Periodic status

PeriodicStatus_RecvDynamicParameterIsraelResponse 

Periodic status

PeriodicStatus_RecvDynamicParameterTouristResponse 

Periodic status

PeriodicStatus_RecvDynamicParameterGeneralResponse 

Periodic status

PeriodicStatus_RecvTkefimIsracard 

Periodic status

PeriodicStatus_RecvTikrutPL 

Periodic status

PeriodicStatus_RecvTikrutLocal 

Periodic status

PeriodicStatus_RecvTikrutTourist 

Periodic status

PeriodicStatus_RecvIsracardPermission 

Periodic status

PeriodicStatus_RecvIsracardNames 

Periodic status

PeriodicStatus_RecvNonPLServiceCodeChecks 

Periodic status

PeriodicStatus_RecvCalImmediateChargeIdentification 

Periodic status

PeriodicStatus_RecvPLServiceCodeChecks 

Periodic status

PeriodicStatus_RecvCalPermissions 

Periodic status

PeriodicStatus_RecvCalNames 

Periodic status

PeriodicStatus_RecvLeumiPermissions 

Periodic status

PeriodicStatus_RecvLeumiNames 

Periodic status

PeriodicStatus_RecvFutureManpikPermissions 

Periodic status

PeriodicStatus_RecvFutureNames 

Periodic status

PeriodicStatus_RecvTouristNames 

Periodic status

PeriodicStatus_RecvUnauthorizedIsraeliCards 

Periodic status

PeriodicStatus_RecvBenefitsDefinitions 

Periodic status

PeriodicStatus_RecvPrivateFieldsInChipLocation 

Periodic status

PeriodicStatus_RecvCardMaskingDefinitions 

Periodic status

PeriodicStatus_RecvIssuerPrefixAssociation 

Periodic status

PeriodicStatus_RecvSolekDefinitions 

Periodic status

PeriodicStatus_RecvBrandDefinitions 

Periodic status

PeriodicStatus_RecvManpikDefinitions 

Periodic status

PeriodicStatus_RecvSystemMessage 

Periodic status

PeriodicStatus_SendBatchRequest 

Periodic status

PeriodicStatus_SendBatchBlock 

Periodic status

PeriodicStatus_SendBatchAmounts 

Periodic status

PeriodicStatus_RecvBatchResponse 

Periodic status

PeriodicStatus_RecvCommReportResponse 

Periodic status

PeriodicStatus_SendBlockedCardsRequest 

Periodic status

PeriodicStatus_RecvBlockedCardsResponseFull 

Periodic status

PeriodicStatus_RecvBlockedCardsResponseSmall 

Periodic status

PeriodicStatus_SendPinPadParametersRequest 

Periodic status

PeriodicStatus_RecvPinPadParametersResponseParameters 

Periodic status

PeriodicStatus_RecvPinPadParametersResponseCAKey 

Periodic status

PeriodicStatus_UpdatingPinpadParameters 

Periodic status

PeriodicStatus_Completed 

Periodic in completed status

Definition at line 196 of file SPIDEF.h.

{
};

The Pinpad Protocol used when Adding a Pinpad

Enumerator:
MP3 

MP3

MPOS 

mPos (Not Supported this verison)

XPI 

XPI (Not Supported this verison)

Definition at line 140 of file SPIDEF.h.

{
MP3 = 0,
MPOS = 1,
XPI = 2
};

The type of report produced by a Service

Enumerator:
X_REPORT 

X Report - Current status of the service

Z_REPORT 

Z Report - Produced when batching all transactions in Service at end of day

Definition at line 148 of file SPIDEF.h.

{
X_REPORT = 0,
Z_REPORT = 1
};

The payment Services which are supported in SPI

Enumerator:
AshraitService 

Ashrait EMV

DebitService 

Debit (Not Supported this verison)

TransportationService 

Transportation (Not Supported this verison)

Definition at line 132 of file SPIDEF.h.

Return value from SPI API functions

Enumerator:
SPI_SUCCESS 

Operation OK

SPI_ALREADY_EXIST 

Can't perform operation, already been done

SPI_FAIL 

Operation failed

SPI_INVALID 

Invalid input according to the operation

SPI_MISSING_EVENT_HANDLER 

Missing information

SPI_NOT_SUPPORTED 

Operation isn't supported

SPI_ABORTED 

Aborted by user

SPI_CONNECTION_ERR 

Connection Error

SPI_TIME_OUT 

Time out

SPI_NO_INIT 

SPI/Service not initiated

Definition at line 83 of file SPIDEF.h.

SPI status

Enumerator:
SPI_READY 

Service is ready to use

SPI_READY_ONLINE 

Service is ready to use. All transactions verified against processor

SPI_NOT_ESTABLISHED 

Service isn't established

SPI_NOT_READY 

Service isn't ready to use

SPI_ERROR 

A general error occured

Definition at line 98 of file SPIDEF.h.

Return value from SPI API functions

Enumerator:
SPILog_Emergency 

Emergency/off

SPILog_Alert 

Alert

SPILog_Critical 

Critical

SPILog_Error 

Error

SPILog_Warning 

Warning

SPILog_Notice 

Notice

SPILog_Info 

Info

SPILog_Debug 

Debug

Definition at line 245 of file SPIDEF.h.

Status of a nonblocking transaction

Enumerator:
Tran_NotCompleted 

Transaction not completed

Tran_Phase1Now 

Transaction not completed, in loyalty state

Tran_Completed 

Transaction completed

Definition at line 108 of file SPIDEF.h.

Z Reprt format

Enumerator:
ZReport_Narrow 

Used for narrow paper

ZReport_Medium 

Used for medium paper

ZReport_Wide 

Used for wide paper

ZReport_XML 

This report is not printable and delivered in XML format for self parsing

Definition at line 155 of file SPIDEF.h.