SPI  1.2012.0
Secured Payment Interface
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Classes | Namespaces | Typedefs | Enumerations
SPIDEF.h File Reference

This file conatins all defenitions which are used in SPI API.

More...

#include <iostream>
#include <string>
#include <cstring>
#include "types.def"

Go to the source code of this file.

Classes

struct  Modularity::SPI::ReceiptLine
 A struct which reprensts a line in receipt. More...
 
struct  Modularity::SPI::AcquiredBrandInfo
 A struct that reprensts information about an acquire for a brand. More...
 
struct  Modularity::SPI::EndOfDayReportInfo
 A struct that reprensts information end of day report. More...
 

Namespaces

namespace  Modularity
 This namespace contains avilible API from Modularity Inc.
 
namespace  Modularity::SPI
 This namespace contains avilible classes and enumerators for SPI library.
 
namespace  Modularity::SPI::Ashrait
 This namespace contains requiered enumerators for AshraitEMV service.
 
namespace  Modularity::SPI::NayaxVend
 This namespace contains requiered enumerators for NayaxVend service.
 

Typedefs

typedef void * APIHandle
 
typedef usint PortType
 
typedef uint64_t AmountType
 
typedef int32_t PaymentType
 
typedef sint PPIDType
 
typedef sint ResultType
 
typedef uint64_t RateType
 
typedef int32_t PercentType
 
typedef int32_t MonthType
 
typedef ulint TimeOutType
 
typedef byte FrequencyType
 
typedef int32_t CurrencyISOType
 
typedef usint CounterType
 

Enumerations

enum  Modularity::SPI::SPI_RET_VAL {
  Modularity::SPI::SPI_SUCCESS = 0, Modularity::SPI::SPI_ALREADY_EXIST = -1, Modularity::SPI::SPI_FAIL = -2, Modularity::SPI::SPI_INVALID = -3,
  Modularity::SPI::SPI_MISSING_EVENT_HANDLER = -4, Modularity::SPI::SPI_NOT_SUPPORTED = -5, Modularity::SPI::SPI_ABORTED = -6, Modularity::SPI::SPI_CONNECTION_ERR = -7,
  Modularity::SPI::SPI_TIME_OUT = -8, Modularity::SPI::SPI_NO_INIT = -999
}
 
enum  Modularity::SPI::SPI_STATUS {
  Modularity::SPI::SPI_READY = 0, Modularity::SPI::SPI_READY_ONLINE = 1, Modularity::SPI::SPI_NOT_ESTABLISHED = -1, Modularity::SPI::SPI_NOT_READY = -2,
  Modularity::SPI::SPI_ERROR = -3
}
 
enum  Modularity::SPI::TransactionStatus {
  Modularity::SPI::Tran_NotCompleted, Modularity::SPI::Tran_Phase1Now, Modularity::SPI::Tran_AuthoriztionNumber, Modularity::SPI::Tran_CVV,
  Modularity::SPI::Tran_CardHolderId, Modularity::SPI::Tran_Completed
}
 
enum  Modularity::SPI::EndOfDayStatus { Modularity::SPI::EndOfDay_NotCompleted, Modularity::SPI::EndOfDay_Completed }
 
enum  Modularity::SPI::ExcUnitLocation { Modularity::SPI::SPIEXCUNIT_THISINT = 0, Modularity::SPI::SPIEXCUNIT_IPINT = 1, Modularity::SPI::SPIEXCUNIT_SERIALINT = 2, Modularity::SPI::SPIEXCUNIT_NONE = 99 }
 
enum  Modularity::SPI::ServiceID { Modularity::SPI::AshraitService = 0, Modularity::SPI::DebitService = 1, Modularity::SPI::TransportationService = 2, Modularity::SPI::NayaxVendService = 3 }
 
enum  Modularity::SPI::PP_Protocol { Modularity::SPI::MP3 = 0, Modularity::SPI::MPOS = 1, Modularity::SPI::XPI = 2 }
 
enum  Modularity::SPI::ReportType {
  Modularity::SPI::X_REPORT = 0, Modularity::SPI::Z_REPORT = 1, Modularity::SPI::ACCM_REPORT = 2, Modularity::SPI::PARAM_REPORT = 3,
  Modularity::SPI::QUERY_TRANSACTIONS_REPORT = 4, Modularity::SPI::QUERY_REPORTS_REPORT = 5
}
 
enum  Modularity::SPI::ZReportFormat { Modularity::SPI::ZReport_Narrow = 0, Modularity::SPI::ZReport_Medium = 1, Modularity::SPI::ZReport_Wide = 2, Modularity::SPI::ZReport_XML = 3 }
 
enum  Modularity::SPI::CurrencyType { Modularity::SPI::Curr_Shekel = 376, Modularity::SPI::Curr_Dollar = 840, Modularity::SPI::Curr_Foreign = 0 }
 
enum  Modularity::SPI::ExtendedEMVStatus {
  Modularity::SPI::EMVStatus_Idle = 0, Modularity::SPI::EMVStatus_Processing = 1, Modularity::SPI::EMVStatus_WaitForCard = 2, Modularity::SPI::EMVStatus_ReadingCard = 3,
  Modularity::SPI::EMVStatus_ApplicationSelection = 4, Modularity::SPI::EMVStatus_Loyalty = 5, Modularity::SPI::EMVStatus_PinCode = 6, Modularity::SPI::EMVStatus_FirstCardDecision = 7,
  Modularity::SPI::EMVStatus_WaitProcessorApproval = 8, Modularity::SPI::EMVStatus_FinalCardDecision = 9, Modularity::SPI::EMVStatus_Completed = 10
}
 
enum  Modularity::SPI::ExtendedPeriodicStatus {
  Modularity::SPI::PeriodicStatus_Idle = 0, Modularity::SPI::PeriodicStatus_SendDynamicParameterRequest = 1001, Modularity::SPI::PeriodicStatus_RecvDynamicParameterResponse = 1002, Modularity::SPI::PeriodicStatus_RecvDynamicParameterIsraelResponse = 1003,
  Modularity::SPI::PeriodicStatus_RecvDynamicParameterTouristResponse = 1004, Modularity::SPI::PeriodicStatus_RecvDynamicParameterGeneralResponse = 1005, Modularity::SPI::PeriodicStatus_RecvTkefimIsracard = 1056, Modularity::SPI::PeriodicStatus_RecvTikrutPL = 1201,
  Modularity::SPI::PeriodicStatus_RecvTikrutLocal = 1202, Modularity::SPI::PeriodicStatus_RecvTikrutTourist = 1204, Modularity::SPI::PeriodicStatus_RecvIsracardPermission = 1301, Modularity::SPI::PeriodicStatus_RecvIsracardNames = 1304,
  Modularity::SPI::PeriodicStatus_RecvNonPLServiceCodeChecks = 1306, Modularity::SPI::PeriodicStatus_RecvCalImmediateChargeIdentification = 1311, Modularity::SPI::PeriodicStatus_RecvPLServiceCodeChecks = 1312, Modularity::SPI::PeriodicStatus_RecvCalPermissions = 1315,
  Modularity::SPI::PeriodicStatus_RecvCalNames = 1318, Modularity::SPI::PeriodicStatus_RecvLeumiPermissions = 1331, Modularity::SPI::PeriodicStatus_RecvLeumiNames = 1334, Modularity::SPI::PeriodicStatus_RecvFutureManpikPermissions = 1341,
  Modularity::SPI::PeriodicStatus_RecvFutureNames = 1344, Modularity::SPI::PeriodicStatus_RecvTouristNames = 1364, Modularity::SPI::PeriodicStatus_RecvUnauthorizedIsraeliCards = 1380, Modularity::SPI::PeriodicStatus_RecvBenefitsDefinitions = 1381,
  Modularity::SPI::PeriodicStatus_RecvPrivateFieldsInChipLocation = 1382, Modularity::SPI::PeriodicStatus_RecvCardMaskingDefinitions = 1383, Modularity::SPI::PeriodicStatus_RecvIssuerPrefixAssociation = 1390, Modularity::SPI::PeriodicStatus_RecvSolekDefinitions = 1391,
  Modularity::SPI::PeriodicStatus_RecvBrandDefinitions = 1392, Modularity::SPI::PeriodicStatus_RecvManpikDefinitions = 1393, Modularity::SPI::PeriodicStatus_RecvSystemMessage = 1400, Modularity::SPI::PeriodicStatus_SendBatchRequest = 1401,
  Modularity::SPI::PeriodicStatus_SendBatchBlock = 1402, Modularity::SPI::PeriodicStatus_SendBatchAmounts = 1403, Modularity::SPI::PeriodicStatus_RecvBatchResponse = 1404, Modularity::SPI::PeriodicStatus_RecvCommReportResponse = 1502,
  Modularity::SPI::PeriodicStatus_SendBlockedCardsRequest = 1601, Modularity::SPI::PeriodicStatus_RecvBlockedCardsResponseFull = 1604, Modularity::SPI::PeriodicStatus_RecvBlockedCardsResponseSmall = 1605, Modularity::SPI::PeriodicStatus_SendPinPadParametersRequest = 1701,
  Modularity::SPI::PeriodicStatus_RecvPinPadParametersResponseParameters = 1702, Modularity::SPI::PeriodicStatus_RecvPinPadParametersResponseCAKey = 1703, Modularity::SPI::PeriodicStatus_UpdatingPinpadParameters = 1, Modularity::SPI::PeriodicStatus_Completed = 10
}
 
enum  Modularity::SPI::SPILogLevel {
  Modularity::SPI::SPILog_Emergency = 0, Modularity::SPI::SPILog_Alert = 1, Modularity::SPI::SPILog_Critical = 2, Modularity::SPI::SPILog_Error = 3,
  Modularity::SPI::SPILog_Warning = 4, Modularity::SPI::SPILog_Notice = 5, Modularity::SPI::SPILog_Info = 6, Modularity::SPI::SPILog_Debug = 7
}
 
enum  Modularity::SPI::SPILanguage { Modularity::SPI::SPILanguage_Hebrew = 1, Modularity::SPI::SPILanguage_English = 2 }
 
enum  Modularity::SPI::ServiceProperty {
  Modularity::SPI::ServiceProperty_TransmitTime = 1, Modularity::SPI::ServiceProperty_SystemTrace = 2, Modularity::SPI::ServiceProperty_DeviceSerial = 3, Modularity::SPI::ServiceProperty_CountryCode = 4,
  Modularity::SPI::ServiceProperty_Currency = 5, Modularity::SPI::ServiceProperty_DecimalPlace = 6, Modularity::SPI::ServiceProperty_AcquirerTermianlId = 7
}
 
enum  Modularity::SPI::DcsStatus { Modularity::SPI::DcsStatus_NotActivated = 0, Modularity::SPI::DcsStatus_Activated = 1, Modularity::SPI::DcsStatus_TokenOnly = 2 }
 
enum  Modularity::SPI::DcsActivationMode { Modularity::SPI::DcsActivationMode_FullActivation = 1, Modularity::SPI::DcsActivationMode_TokenOnly = 2 }
 
enum  Modularity::SPI::DcsProperty { Modularity::SPI::DcsProperty_RetailerNumber = 1, Modularity::SPI::DcsProperty_Token = 2, Modularity::SPI::DcsProperty_NayaxSN = 3 }
 
enum  Modularity::SPI::MasterSlaveMode { Modularity::SPI::MasterSlaveMode_None = 0, Modularity::SPI::MasterSlaveMode_Master = 1, Modularity::SPI::MasterSlaveMode_Slave = 2 }
 
enum  Modularity::SPI::Ashrait::VirtualReason {
  Modularity::SPI::Ashrait::SwipeData = 1, Modularity::SPI::Ashrait::Balance = 2, Modularity::SPI::Ashrait::CancelRegisteredTransaction = 3, Modularity::SPI::Ashrait::CancelPreAuthorization = 4,
  Modularity::SPI::Ashrait::GenerateStandingOrder = 5, Modularity::SPI::Ashrait::RetreiveTransaction = 6, Modularity::SPI::Ashrait::Settelment = 7, Modularity::SPI::Ashrait::RetreiveTransactionByVuid = 8
}
 
enum  Modularity::SPI::Ashrait::CreditTerms {
  Modularity::SPI::Ashrait::CT_Regular = 1, Modularity::SPI::Ashrait::CT_IsracreditVisaMaofVisa30 = 2, Modularity::SPI::Ashrait::CT_Immidiate = 3, Modularity::SPI::Ashrait::CT_CreditFixed = 6,
  Modularity::SPI::Ashrait::CT_Payments = 8
}
 
enum  Modularity::SPI::Ashrait::PaymentLinked { Modularity::SPI::Ashrait::ToNone = 0, Modularity::SPI::Ashrait::ToCPI = 1, Modularity::SPI::Ashrait::ToDollar = 2 }
 
enum  Modularity::SPI::Ashrait::Status {
  Modularity::SPI::Ashrait::Ready = 0, Modularity::SPI::Ashrait::NotEstablished = -1, Modularity::SPI::Ashrait::BatchNeeded = -2, Modularity::SPI::Ashrait::DBError = -3,
  Modularity::SPI::Ashrait::PinpadError = -4, Modularity::SPI::Ashrait::VersionError = -5, Modularity::SPI::Ashrait::Unknown = -6, Modularity::SPI::Ashrait::BatchRequiered = -7,
  Modularity::SPI::Ashrait::NotConnected = -8
}
 
enum  Modularity::SPI::Ashrait::CardNotPresentType { Modularity::SPI::Ashrait::CNP_Signature = 1, Modularity::SPI::Ashrait::CNP_Phone = 2, Modularity::SPI::Ashrait::CNP_Internet = 3 }
 
enum  Modularity::SPI::Ashrait::TransactionType {
  Modularity::SPI::Ashrait::TT_Informative = 0, Modularity::SPI::Ashrait::TT_Regular = 1, Modularity::SPI::Ashrait::TT_Unload = 2, Modularity::SPI::Ashrait::TT_Forced = 3,
  Modularity::SPI::Ashrait::TT_CashBack = 6, Modularity::SPI::Ashrait::TT_Cash = 7, Modularity::SPI::Ashrait::TT_StandingOrder = 11, Modularity::SPI::Ashrait::TT_BalanceCheck = 30,
  Modularity::SPI::Ashrait::TT_Refund = 53, Modularity::SPI::Ashrait::TT_Charge = 55
}
 
enum  Modularity::SPI::Ashrait::IPayType {
  Modularity::SPI::Ashrait::IPay_Money = 0, Modularity::SPI::Ashrait::IPay_Starts = 1, Modularity::SPI::Ashrait::IPay_Points = 2, Modularity::SPI::Ashrait::IPay_Club = 3,
  Modularity::SPI::Ashrait::IPay_NoIpay = 99
}
 
enum  Modularity::SPI::Ashrait::ECIType { Modularity::SPI::Ashrait::ECI_InternetNoSign = 1, Modularity::SPI::Ashrait::ECI_InternetManpikNotRegistered = 2, Modularity::SPI::Ashrait::ECI_InternetWithSign = 3 }
 
enum  Modularity::SPI::Ashrait::MissingEventType { Modularity::SPI::Ashrait::MissingNone = 0, Modularity::SPI::Ashrait::MissingAuthorizationNumber = 1, Modularity::SPI::Ashrait::MissingAVSDeatils = 2, Modularity::SPI::Ashrait::MissingUnknown = 3 }
 
enum  Modularity::SPI::Ashrait::Manpik { Modularity::SPI::Ashrait::Manpik_Tourist = 0, Modularity::SPI::Ashrait::Manpik_Isracard = 1, Modularity::SPI::Ashrait::Manpik_CAL = 2, Modularity::SPI::Ashrait::Manpik_LeumiCard = 6 }
 
enum  Modularity::SPI::Ashrait::Solek { Modularity::SPI::Ashrait::Solek_Isracard = 1, Modularity::SPI::Ashrait::Solek_Cal = 2, Modularity::SPI::Ashrait::Solek_LeumiCard = 6 }
 
enum  Modularity::SPI::Ashrait::Mutag {
  Modularity::SPI::Ashrait::Mutag_PL = 0, Modularity::SPI::Ashrait::Mutag_Mastercard = 1, Modularity::SPI::Ashrait::Mutag_Visa = 2, Modularity::SPI::Ashrait::Mutag_Diners = 3,
  Modularity::SPI::Ashrait::Mutag_Amex = 4, Modularity::SPI::Ashrait::Mutag_Isracard = 5, Modularity::SPI::Ashrait::Mutag_JCB = 6, Modularity::SPI::Ashrait::Mutag_Discover = 7,
  Modularity::SPI::Ashrait::Mutag_Maestro = 8
}
 
enum  Modularity::SPI::Ashrait::PanEntryMode {
  Modularity::SPI::Ashrait::PEM_Magnetic = 0, Modularity::SPI::Ashrait::PEM_Magnetic_Contactless = 4, Modularity::SPI::Ashrait::PEM_EMV_Contactless = 5, Modularity::SPI::Ashrait::PEM_Mobile_Magnetic_Contactless = 6,
  Modularity::SPI::Ashrait::PEM_EMV_Mobile_Contactless = 7, Modularity::SPI::Ashrait::PEM_PhoneNumber = 10, Modularity::SPI::Ashrait::PEM_RFU = 11, Modularity::SPI::Ashrait::PEM_EMV_Contact = 40,
  Modularity::SPI::Ashrait::PEM_Phone = 50, Modularity::SPI::Ashrait::PEM_Signeture_Only = 51, Modularity::SPI::Ashrait::PEM_Internet = 52, Modularity::SPI::Ashrait::PEM_Fallback = 80,
  Modularity::SPI::Ashrait::PEM_Empty_Candidate_List = 81, Modularity::SPI::Ashrait::PEM_Empty = 99
}
 
enum  Modularity::SPI::Ashrait::ProcessorId {
  Modularity::SPI::Ashrait::ABS = 1, Modularity::SPI::Ashrait::Pelecard = 2, Modularity::SPI::Ashrait::CreditGuard = 3, Modularity::SPI::Ashrait::Tranzila = 4,
  Modularity::SPI::Ashrait::EZCard = 5
}
 
enum  Modularity::SPI::Ashrait::GasolineType {
  Modularity::SPI::Ashrait::GasolinType_None = 0, Modularity::SPI::Ashrait::GasolinType_91 = 1, Modularity::SPI::Ashrait::GasolinType_96 = 2, Modularity::SPI::Ashrait::GasolinType_95Unleaded = 3,
  Modularity::SPI::Ashrait::GasolinType_Diesel = 4, Modularity::SPI::Ashrait::GasolinType_Motorcycle = 5, Modularity::SPI::Ashrait::GasolinType_MiliteryGasoline = 6, Modularity::SPI::Ashrait::GasolinType_MiliteryDiesel = 7,
  Modularity::SPI::Ashrait::GasolinType_Kerosene = 8, Modularity::SPI::Ashrait::GasolinType_Other = 9, Modularity::SPI::Ashrait::GasolinType_91Unleaded = 10, Modularity::SPI::Ashrait::GasolinType_98 = 11,
  Modularity::SPI::Ashrait::GasolinType_98Unleaded = 12, Modularity::SPI::Ashrait::GasolinType_DieselUnleaded = 14, Modularity::SPI::Ashrait::GasolinType_LiquefiedPetroleumGas = 36, Modularity::SPI::Ashrait::GasolinType_Urea = 37
}
 
enum  Modularity::SPI::Ashrait::AuthCodeIssuer {
  Modularity::SPI::Ashrait::AuthCodeIssuer_Unauthorized = 0, Modularity::SPI::Ashrait::AuthCodeIssuer_ApprovedByIssuer = 1, Modularity::SPI::Ashrait::AuthCodeIssuer_DeclinedByIssuer = 2, Modularity::SPI::Ashrait::AuthCodeIssuer_ApprovedByAbsSTIP = 3,
  Modularity::SPI::Ashrait::AuthCodeIssuer_DeclinedByAbsSTIP = 4, Modularity::SPI::Ashrait::AuthCodeIssuer_ApprovedByVoice = 5, Modularity::SPI::Ashrait::AuthCodeIssuer_DeclinedByVoice = 6, Modularity::SPI::Ashrait::AuthCodeIssuer_ApprovedByIssuerPreAuth = 7,
  Modularity::SPI::Ashrait::AuthCodeIssuer_ApprovedByCard = 8
}
 
enum  Modularity::SPI::NayaxVend::CardEntryType { Modularity::SPI::NayaxVend::CardEntry_MsrSwipe = 1, Modularity::SPI::NayaxVend::CardEntry_Contactless = 2, Modularity::SPI::NayaxVend::CardEntry_Contact = 3 }
 
enum  Modularity::SPI::NayaxVend::UnitOfMeasurement { Modularity::SPI::NayaxVend::Measurement_Item = 0 }
 
enum  Modularity::SPI::NayaxVend::CardType {
  Modularity::SPI::NayaxVend::CardType_Unknown = 0, Modularity::SPI::NayaxVend::CardType_Proprietary = 1, Modularity::SPI::NayaxVend::CardType_Visa = 2, Modularity::SPI::NayaxVend::CardType_MasterCard = 3,
  Modularity::SPI::NayaxVend::CardType_ChinaUnionPay = 4, Modularity::SPI::NayaxVend::CardType_Maestro = 5, Modularity::SPI::NayaxVend::CardType_Interac = 6, Modularity::SPI::NayaxVend::CardType_Monyx = 7
}
 

Detailed Description

This file conatins all defenitions which are used in SPI API.

Author
Ido Algom
Date
1/12/2017

Definition in file SPIDEF.h.

Typedef Documentation

typedef uint64_t AmountType

Number. Uses to describe amount of money or units. Can't be double/float or negative.

Definition at line 47 of file SPIDEF.h.

typedef void* APIHandle

The class handle. Only for internal use

Definition at line 41 of file SPIDEF.h.

typedef usint CounterType

Number. Uses to describe counted number. Can't be double/float or negative.

Definition at line 77 of file SPIDEF.h.

typedef int32_t CurrencyISOType

Number. Uses to describe ISO code of foreign currencies. Can't be double/float or negative.

Definition at line 74 of file SPIDEF.h.

typedef byte FrequencyType

Number. Uses to describe frequency in months. Can't be double/float or negative.

Definition at line 71 of file SPIDEF.h.

typedef int32_t MonthType

Number. Uses to describe amount of months. Can't be double/float or negative.

Definition at line 65 of file SPIDEF.h.

typedef int32_t PaymentType

Number. Uses to describe amount of payments. Can't be double/float or negative.

Definition at line 50 of file SPIDEF.h.

typedef int32_t PercentType

Number. Uses to describe partial in percunts. Can't be double/float or negative.

Definition at line 62 of file SPIDEF.h.

typedef usint PortType

Number. Uses to describe port number of a server

Definition at line 44 of file SPIDEF.h.

typedef sint PPIDType

Number. Uses to describe identification number of Pinpad device. Can't be double/float or negative.

Definition at line 53 of file SPIDEF.h.

typedef uint64_t RateType

Number. Uses to describe change rate of foreign currency. Can't be double/float or negative.

Definition at line 59 of file SPIDEF.h.

typedef sint ResultType

Number. Uses to describe result code of Transaction or a property.

Definition at line 56 of file SPIDEF.h.

typedef ulint TimeOutType

Number. Uses to describe timeout. Can't be double/float or negative.

Definition at line 68 of file SPIDEF.h.