SPI  1.2101.8
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.
 
namespace  NayaxVend
 This namespace contains requiered enumerators for NayaxVend 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  NayaxVendTransaction
 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  Device
 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  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...
 
struct  AcquiredBrandInfo
 A struct that reprensts information about an acquire for a brand. More...
 
struct  EndOfDayReportInfo
 A struct that reprensts information end of day report. 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_AuthoriztionNumber, Tran_CVV,
  Tran_CardHolderId, 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, NayaxVendService = 3 }
 
enum  DeviceId { ModularityDevice = 0 }
 
enum  PP_Protocol { MP3 = 0, MPOS = 1, XPI = 2 }
 
enum  ReportType {
  X_REPORT = 0, Z_REPORT = 1, ACCM_REPORT = 2, PARAM_REPORT = 3,
  QUERY_TRANSACTIONS_REPORT = 4, QUERY_REPORTS_REPORT = 5
}
 
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
}
 
enum  SPILanguage { SPILanguage_Hebrew = 1, SPILanguage_English = 2 }
 
enum  ServiceProperty {
  ServiceProperty_TransmitTime = 1, ServiceProperty_SystemTrace = 2, ServiceProperty_DeviceSerial = 3, ServiceProperty_CountryCode = 4,
  ServiceProperty_Currency = 5, ServiceProperty_DecimalPlace = 6, ServiceProperty_AcquirerTermianlId = 7
}
 
enum  DcsStatus { DcsStatus_NotActivated = 0, DcsStatus_Activated = 1, DcsStatus_TokenOnly = 2 }
 
enum  DcsActivationMode { DcsActivationMode_FullActivation = 1, DcsActivationMode_TokenOnly = 2 }
 
enum  DcsProperty { DcsProperty_RetailerNumber = 1, DcsProperty_Token = 2, DcsProperty_NayaxSN = 3 }
 
enum  MasterSlaveMode { MasterSlaveMode_None = 0, MasterSlaveMode_Master = 1, MasterSlaveMode_Slave = 2 }
 

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 179 of file SPIDEF.h.

{
Curr_Shekel = 376,
Curr_Dollar = 840,
};

Nayax DCS activation status used in GetDCSStatus

Enumerator:
DcsActivationMode_FullActivation 

Full activation

DcsActivationMode_TokenOnly 

Stop at Token state

Definition at line 318 of file SPIDEF.h.

Nayax DCS Properties used in GetDCSProperty

Enumerator:
DcsProperty_RetailerNumber 

RetailerNumber registered in machine

DcsProperty_Token 

DCS Token

DcsProperty_NayaxSN 

Nayax SN

Definition at line 325 of file SPIDEF.h.

Nayax DCS activation status used in GetDCSStatus

Enumerator:
DcsStatus_NotActivated 

Machine is not activaited

DcsStatus_Activated 

Machine is activaited

DcsStatus_TokenOnly 

Machine is not activaited Token exist

Definition at line 310 of file SPIDEF.h.

The device type supported in SPI

Enumerator:
ModularityDevice 

Device powered by Modularity

Definition at line 144 of file SPIDEF.h.

{
};

Status of a nonblocking end of day batching

Enumerator:
EndOfDay_NotCompleted 

Batching not completed

EndOfDay_Completed 

Batching completed

Definition at line 119 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 126 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 213 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 229 of file SPIDEF.h.

{
};

Work with Master/Slave SPI

Enumerator:
MasterSlaveMode_None 

Default beheaiver independent service

MasterSlaveMode_Master 

SPI as Master

MasterSlaveMode_Slave 

SPI as Slave

Definition at line 333 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 151 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

ACCM_REPORT 

Accumlated Report - Resetable report

PARAM_REPORT 

Parameters Report

QUERY_TRANSACTIONS_REPORT 

Query transaction Report

QUERY_REPORTS_REPORT 

Query end of day reports Report

Definition at line 159 of file SPIDEF.h.

The payment Services which are supported in SPI

Enumerator:
AshraitService 

Ashrait EMV

DebitService 

Debit (Not Supported this verison)

TransportationService 

Transportation (Not Supported this verison)

NayaxVendService 

Nayax veding service

Definition at line 135 of file SPIDEF.h.

Service Properties used in GetProperty

Enumerator:
ServiceProperty_TransmitTime 

Automated transmit time to the processor

ServiceProperty_SystemTrace 

System Trace number when service in Master mode

ServiceProperty_DeviceSerial 

Connected device serial number

ServiceProperty_CountryCode 

NayaxVend terminal country code

ServiceProperty_Currency 

NayaxVend terminal currency

ServiceProperty_DecimalPlace 

NayaxVend terminal currenct decimal place in unsigned int

ServiceProperty_AcquirerTermianlId 

NayaxVend ???

Definition at line 298 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.

Languages supprted in SPI in various parameters

Enumerator:
SPILanguage_Hebrew 

Hebrew

SPILanguage_English 

English

Definition at line 291 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 278 of file SPIDEF.h.

Status of a nonblocking transaction

Enumerator:
Tran_NotCompleted 

Transaction not completed

Tran_Phase1Now 

Transaction not completed, in loyalty state

Tran_AuthoriztionNumber 

Transaction not completed, in auth num state

Tran_CVV 

Transaction not completed, in cvv state

Tran_CardHolderId 

Transaction not completed, in card holder Id 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 170 of file SPIDEF.h.