HostPaymentData.hpp
namespace verifone_sdk
struct HostPaymentData
- The Payment Data object is introduced to reflect the nexo/ISO20022 structure that encapsulates the data elements required to execute the required transaction, such as the Instrument used e.g. card and the authentication details (e.g. the actual signature or the encrypted PIN block if captured).
Public Functions
inline HostPaymentData(std::optional<std::string> billingStreet_, std::optional<std::string> billingCity_, std::optional<std::string> billingCountrySubdivision_, std::optional<std::string> billingPostCode_, std::optional<std::string> billingCountry_, std::optional<std::string> pinEncrytpedData_, std::optional<std::string> pinKeySerialNumber_, std::optional<InstrumentType> instrumentType_, std::optional<std::string> maskedCardNumber_, std::optional<std::unordered_map<std::string, std::string>> cardDataEmvTags_, std::optional<std::string> cardDataEparms_, std::optional<CardEncryptionType> cardDataEncryptionType_, std::optional<std::string> cardDataTrack2_, std::optional<std::string> cardDataTrack2Ksn_, std::optional<std::string> cardDataPan_, std::optional<std::string> cardDataPanKsn_, std::optional<std::string> cardDataExpiry_, std::optional<std::string> cardDataExpiryKsn_, std::optional<std::string> cardDataCvv_, std::optional<std::string> cardDataCvvKsn_, std::optional<std::string> cardBrand_, std::optional<std::string> cardproduct_, std::optional<OrderType> orderType_)
Public Members
std::optional<std::string> billingStreet
- Customer Billing Address Street
std::optional<std::string> billingCity
- Customer Billing Address City Name of a built-up area, with defined boundaries, and a local government. This could be city or town.
std::optional<std::string> billingCountrySubdivision
- Customer Billing Address Country Subdivision Identifies a sub-division of a country which may be state, region or county.
std::optional<std::string> billingPostCode
- Customer Billing Address Postal Code Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail
std::optional<std::string> billingCountry
- Customer Billing Address Country The ISO 3166-1 alpha-3 country code.
std::optional<std::string> pinEncrytpedData
- Encrypted PIN. (Personal Identification Number). The PIN data associated with the Card holder or Customer (where known). This value should be an encrypted representation of the PIN. This is attribute ISO8583 DE52. This value can never be persisted or logged. Authentication Online PinData EncryptedPINBlock The encrypted PIN content as a string.
std::optional<std::string> pinKeySerialNumber
- Authentication Online PinData EncryptedPINBlock The KSN is a constructed element that has multiple parts. In DUKPT 2009 this identification information is referred to as a Key Serial Number (KSN) sent by the initiator of the message to uniquely identify the derived key at the recipient. This is the first 5 bytes of the KSN. The structure should follow the standard:
Issuer Identification Number - 3 bytes
Merchant ID - 1 byte
Group ID - 1 byte
Device ID - 19 bits
Transaction Counter 21 bits.
std::optional<InstrumentType> instrumentType
- To identify the type of instrument whether it is a card, token or other… see InstrumentType
std::optional<std::string> maskedCardNumber
- The masked value for the Card Number.
std::optional<std::unordered_map<std::string, std::string>> cardDataEmvTags
- To identify the type of encryptionKey whether it is a Verifone keys, Acquirer/Customer keys or none.
std::optional<std::string> cardDataEparms
- VCL AES-DUKPT encryption requires the use of eParms which is an additional blob of encrypted data associated with the encrypted track data.
std::optional<CardEncryptionType> cardDataEncryptionType
- Encryption Type CardEncryptionType()
std::optional<std::string> cardDataTrack2
- Encrypted Blob Base-64 converted variable length blob.
std::optional<std::string> cardDataTrack2Ksn
- Track2 Key Serial Number NOTE: This is optional. If encryption is based on the encryption used
std::optional<std::string> cardDataPan
- PAN - Used for Manual Entry
std::optional<std::string> cardDataPanKsn
- PAN Key Serial Number - Used for Manual Entry NOTE: This is optional. If encryption is based on the encryption used
std::optional<std::string> cardDataExpiry
- Expiry - Used for Manual Entry
std::optional<std::string> cardDataExpiryKsn
- Expiry Key Serial Number - Used for Manual Entry NOTE: This is optional. If encryption is based on the encryption used
std::optional<std::string> cardDataCvv
- CVV - Used for Manual Entry
std::optional<std::string> cardDataCvvKsn
- CVV Key Serial Number - Used for Manual Entry NOTE: This is optional. If encryption is based on the encryption used
std::optional<std::string> cardBrand
- Represents a Card type or brand. It should correspond to a consistent name, the list of constants is in CardInformation
std::optional<std::string> cardproduct
- The product name associated with the card brand. e.g. Classic, Standard, Gold, Platinum, World. This must correspond to an actual product name.
std::optional<OrderType> orderType
- Order type see OrderType