SPI  1.2111.4
Secured Payment Interface
Namespaces | Classes | Enumerations
Modularity::SPI Namespace Reference

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

Namespaces

 Ashrait
 This namespace contains requiered enumerators for AshraitEMV service.
 
 NayaxVend
 This namespace contains requiered enumerators for NayaxVend service.
 

Classes

struct  AcquiredBrandInfo
 A struct that reprensts information about an acquire for a brand. More...
 
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  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...
 
struct  EndOfDayReportInfo
 A struct that reprensts information end of day report. More...
 
class  NayaxEngineTransaction
 This class contains all the input data and output data of NayaxEngineTransaction 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...
 
struct  ReceiptLine
 A struct which reprensts a line in receipt. 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  SubRetailer
 A struct that reprensts information about sub retailer in RavSapak mode. 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,
  NayaxEngineService = 4
}
 
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, MINI_SETTLEMENT_REPORT = 6
}
 
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_RecvPinPadParametersResponseBins = 1704, 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, ServiceProperty_RavSapak = 8
}
 
enum  DeviceProperty { DeviceProperty_SN = 1, DeviceProperty_NayaxSN = 2, DeviceProperty_AppVersion = 3 }
 
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, DcsProperty_ActivationError = 4,
  DcsProperty_Parameters = 5, DcsProperty_PaymentMethods = 6
}
 
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

◆ CurrencyType

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

◆ DcsActivationMode

Nayax DCS activation status used in GetDCSStatus

Enumerator
DcsActivationMode_FullActivation 

Full activation

DcsActivationMode_TokenOnly 

Stop at Token state

Definition at line 347 of file SPIDEF.h.

◆ DcsProperty

Nayax DCS Properties used in GetDCSProperty

Enumerator
DcsProperty_RetailerNumber 

RetailerNumber registered in machine

DcsProperty_Token 

DCS Token

DcsProperty_NayaxSN 

Nayax SN

DcsProperty_ActivationError 

Error when DoDcsActivation fails

DcsProperty_Parameters 

Set of machine parameters from DCS

DcsProperty_PaymentMethods 

Set of payment methods enabled for machine seperated by ;

Definition at line 354 of file SPIDEF.h.

◆ DcsStatus

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

◆ DeviceId

The device type supported in SPI

Enumerator
ModularityDevice 

Device powered by Modularity

Definition at line 150 of file SPIDEF.h.

151  {
152  ModularityDevice = 0,
153  };

◆ DeviceProperty

Device Properties used in GetProperty of Device

Enumerator
DeviceProperty_SN 

Device serial number

DeviceProperty_NayaxSN 

Device serial number in Nayax DCS system

DeviceProperty_AppVersion 

Application version

Definition at line 331 of file SPIDEF.h.

◆ EndOfDayStatus

Status of a nonblocking end of day batching

Enumerator
EndOfDay_NotCompleted 

Batching not completed

EndOfDay_Completed 

Batching completed

Definition at line 124 of file SPIDEF.h.

◆ ExcUnitLocation

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

◆ ExtendedEMVStatus

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

◆ ExtendedPeriodicStatus

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_RecvPinPadParametersResponseBins 

Periodic status

PeriodicStatus_UpdatingPinpadParameters 

Periodic status

PeriodicStatus_Completed 

Periodic in completed status

Definition at line 248 of file SPIDEF.h.

249  {
250  PeriodicStatus_Idle = 0,
295  };

◆ MasterSlaveMode

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

◆ PP_Protocol

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

158  {
159  MP3 = 0,
160  MPOS = 1,
161  XPI = 2
162  };

◆ ReportType

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

MINI_SETTLEMENT_REPORT 

When performing mini settlement only

Definition at line 165 of file SPIDEF.h.

◆ ServiceID

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

NayaxEngineService 

Nayax Engine Methods service

Definition at line 140 of file SPIDEF.h.

◆ ServiceProperty

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 ???

ServiceProperty_RavSapak 

Ashrait Rav sapak

Definition at line 318 of file SPIDEF.h.

◆ SPI_RET_VAL

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

◆ SPI_STATUS

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

◆ SPILanguage

Languages supprted in SPI in various parameters

Enumerator
SPILanguage_Hebrew 

Hebrew

SPILanguage_English 

English

Definition at line 311 of file SPIDEF.h.

◆ SPILogLevel

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

◆ TransactionStatus

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

◆ ZReportFormat

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