SPI  1.2404.0
Secured Payment Interface
Public Member Functions | List of all members
Modularity::SPI::EmvTransaction Class Reference

This class contains all the input data and output data of EmvTransaction 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...

#include <EmvTransaction.h>

Inheritance diagram for Modularity::SPI::EmvTransaction:
Modularity::SPI::Transaction Modularity::SPI::NayaxEngineTransaction

Public Member Functions

virtual SPILIBRARY_API std::string GetTransactionResultMessage () const
 Get transaction result message. Messages are in English. More...
 
SPILIBRARY_API ~EmvTransaction ()
 Class desrstructor

 
APIHandle GetEmvHandle () const
 Handle get - reserved for internal useage.
 
EMV Pre Transaction Information

Those methods can be called before EMV transaction is executed.

SPILIBRARY_API EmvTransaction (string VendorUID, AmountType Amount)
 Class constructor. When this an item must be added using AddItem() More...
 
SPILIBRARY_API void SetAsCNP (string PAN, string Exp, string CVV)
 Set card data manually. More...
 
SPILIBRARY_API void SetEmvData (UnsignedNumericType Tag, string Value)
 Set EMV data manually when card was read externally. More...
 
Post Transaction Information

Those methods can be called after transaction is executed.

SPILIBRARY_API bool WasApproved () const
 A method that tells post transaction weather transaction succeded or not. More...
 
SPILIBRARY_API std::vector< ReceiptLine > GetMerchentRecipt () const
 Get a list of (key,value). Vending application prints the list provided from this function by it's order. Each member of the vector is a line. The key member is the field name and value is the field value. e.g. key=Type , value=SALE e.g. key=AID , value=A00000003010 Receipt exists only if WasSuccessful() is true or GetResultCode() is 0. This function returns all the lines that belongs to the merchant copy. More...
 
SPILIBRARY_API std::vector< ReceiptLine > GetCustomerRecipt () const
 Get a list of (key,value). Vending application prints the list provided from this function by it's order. Each member of the vector is a line. The key member is the field name and value is the field value. e.g. key=Type , value=SALE e.g. key=AID , value=A00000003010 Receipt exists only if WasSuccessful() is true or GetResultCode() is 0. This function returns all the lines that belongs to the merchant copy. More...
 
SPILIBRARY_API string GetCurrencyISOCode () const
 Get Currency code used for for transaction. More...
 
SPILIBRARY_API string GetMaskedPAN () const
 Get PAN with masked digits except 6 first and last 4 digits. More...
 
SPILIBRARY_API string GetRRN () const
 Get transaction RRN from processor. More...
 
- Public Member Functions inherited from Modularity::SPI::Transaction
APIHandle GetTransactionHandle () const
 Reserved for internal useage.
 
SPILIBRARY_API Transaction (AmountType Amount, CurrencyType Currency, string VendorUID)
 Transaction constructor. Can't be used explicitly as Transaction is pure virtual. More...
 
virtual SPILIBRARY_API ~Transaction ()=0
 Class destructor.
 
SPILIBRARY_API PPIDType GetPinPadId () const
 Get device identification number used to make the transaction. More...
 
SPILIBRARY_API void SetPinPadId (PPIDType PinPadID)
 Set device identification number used to make the transaction. More...
 
SPILIBRARY_API void SetVendorUID (string Vuid)
 Set VUID during Loyalty phase. This method will override the current Vuid from the Constructor and will assert uniqueness only during Loyalty phase. The method doesn't apply the new Vuid immediately. The new value will be applied only after legal call to service method as mentioned above. It's highly recomanded to assert your new vuid with GetVendorUID() to make sure the new Vuid was applied. Supported services: Ashrait. More...
 
SPILIBRARY_API string GetVendorUID () const
 Get vendor unique ID as initialized at derived class constructor. More...
 
SPILIBRARY_API AmountType GetAmount () const
 Get Transaction original amount as initialized at derived class constructor. More...
 
SPILIBRARY_API CurrencyType GetCurrency () const
 Get currency enumerator as initialized at derived class constructor. More...
 
SPILIBRARY_API ResultType GetTransactionResultCode () const
 Get transaction result code. If called before transaction was ended, a speical code -999 (Transaction in progress) is returned. Each code has a message. You may see Result Codes Messages for reference. More...
 

Detailed Description

This class contains all the input data and output data of EmvTransaction 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.

Definition at line 32 of file EmvTransaction.h.

Constructor & Destructor Documentation

◆ EmvTransaction()

SPILIBRARY_API Modularity::SPI::EmvTransaction::EmvTransaction ( string  VendorUID,
AmountType  Amount 
)

Class constructor. When this an item must be added using AddItem()

Parameters
[in]VendorUIDis an identifier string generated by the ECR. Can't be empty string.
[in]Amountis the amount with currency configured in the Machine.

Member Function Documentation

◆ GetCurrencyISOCode()

SPILIBRARY_API string Modularity::SPI::EmvTransaction::GetCurrencyISOCode ( ) const

Get Currency code used for for transaction.

Returns
Currrency code as std::string ("826" , "840" . etc.. )

◆ GetCustomerRecipt()

SPILIBRARY_API std::vector<ReceiptLine> Modularity::SPI::EmvTransaction::GetCustomerRecipt ( ) const

Get a list of (key,value). Vending application prints the list provided from this function by it's order. Each member of the vector is a line. The key member is the field name and value is the field value. e.g. key=Type , value=SALE e.g. key=AID , value=A00000003010 Receipt exists only if WasSuccessful() is true or GetResultCode() is 0. This function returns all the lines that belongs to the merchant copy.

Returns
list of key,value in ReceiptLine struct

◆ GetMaskedPAN()

SPILIBRARY_API string Modularity::SPI::EmvTransaction::GetMaskedPAN ( ) const

Get PAN with masked digits except 6 first and last 4 digits.

Returns
Masked PAN as std::string ("512345******7890")

◆ GetMerchentRecipt()

SPILIBRARY_API std::vector<ReceiptLine> Modularity::SPI::EmvTransaction::GetMerchentRecipt ( ) const

Get a list of (key,value). Vending application prints the list provided from this function by it's order. Each member of the vector is a line. The key member is the field name and value is the field value. e.g. key=Type , value=SALE e.g. key=AID , value=A00000003010 Receipt exists only if WasSuccessful() is true or GetResultCode() is 0. This function returns all the lines that belongs to the merchant copy.

Returns
list of key,value in ReceiptLine struct

◆ GetRRN()

SPILIBRARY_API string Modularity::SPI::EmvTransaction::GetRRN ( ) const

Get transaction RRN from processor.

Returns
RRN as std::string

◆ GetTransactionResultMessage()

virtual SPILIBRARY_API std::string Modularity::SPI::EmvTransaction::GetTransactionResultMessage ( ) const
virtual

Get transaction result message. Messages are in English.

See also
GetTransactionResultCode()
Returns
Result as std::string

Reimplemented from Modularity::SPI::Transaction.

◆ SetAsCNP()

SPILIBRARY_API void Modularity::SPI::EmvTransaction::SetAsCNP ( string  PAN,
string  Exp,
string  CVV 
)

Set card data manually.

Parameters
PANcard PAN
Expcard Expiry as "YYMM" (e.g. "2301" - Jan 2023)
CVVcard CVV2
Returns
void

◆ SetEmvData()

SPILIBRARY_API void Modularity::SPI::EmvTransaction::SetEmvData ( UnsignedNumericType  Tag,
string  Value 
)

Set EMV data manually when card was read externally.

Parameters
Tagis EMV tag in hex (e.g. 0x9f02, 0x95)
Valueis the TAG value in string according to the TAG spec E.g. 0x9f02 , "000000002200" E.g. 0x95 , "aabbccddee"
Returns
void

◆ WasApproved()

SPILIBRARY_API bool Modularity::SPI::EmvTransaction::WasApproved ( ) const

A method that tells post transaction weather transaction succeded or not.

Returns
weather transaction succeded or not

The documentation for this class was generated from the following file: