SpringCard GoogleVAS .NET  19.04
Terminal-side implementation of Google Smart Tap NFC
SpringCard.GoogleVas.GoogleVasConfig Class Reference

Encapsulate the configuration of the Google VAS terminal. More...

Classes

class  CapabilitiesDetails
 Details of the terminal capabilities. More...
 
class  RequestDetails
 Details of a request. More...
 

Public Member Functions

bool IsValid ()
 Return true if the minimal settings have been populated.
 
void Validate ()
 Load configuration and private key. Must be called after any change of the configuration.
 
object GetFieldValue (string Name)
 Helper to access on the properties dynamically (read)
 
void SetFieldValue (string Name, object Value)
 Helper to access on the properties dynamically (write)
 
void LoadFromJson (IConfigReader configReader)
 Load the configuration from a JSON config file to a GoogleVasConfig object.
 
void Save (IConfigWriter configWriter)
 Save configuration to a file or a register.
 
void Load (IConfigReader configReader)
 Load configuration.
 

Static Public Member Functions

static byte [] GetCapabilitiesByteArray (GoogleVasConfig config)
 Get an array of 5 bytes representing the Capabilities configured in the terminal.
 
static List< GoogleVasServiceTypeGetServiceListToRequest (GoogleVasConfig config)
 Get a list of types to request in the Get Data command.
 
static GoogleVasConfig LoadFromJsonFile (string FileName)
 Load a configuration from a JSON file (using the format of Google-provided test Terminal App)
 
static bool SaveToSpringCoreConfigFile (GoogleVasConfig config, string fileName)
 Save config object to file in multiconf format (for SpringCore device)
 
static GoogleVasConfig GoogleDemo ()
 Load SpringCard's default test configuration.
 
static GoogleVasConfig SpringCardDemo ()
 Load SpringCard's default test configuration.
 

Public Attributes

bool UseOSE
 Use OSE command.
 
bool AllowSkippingSmartTap2Select
 Allow skipping Smart Tap 2 select.
 
ushort SmartTapVersion
 The version used in NDEF request records (0x0000 for v2.0, 0x0001 for v2.1, 0x0002 for v2.2)
 
bool DoPayment
 Request payment.
 
bool SplitValuablesConnectionFromPayment
 Payment : Split valuables connection from payment.
 
bool StopPaymentIfSmartTapFails
 Payment : Stop payment if smart tap fails.
 
byte [] CollectorId
 Merchant's Collector ID.
 
byte [] LocationId
 Location ID.
 
byte [] TerminalId
 Terminal ID.
 
string MerchantName
 Merchant name.
 
ushort MerchantCategoryCode
 Merchant category code MCC on 2 bytes instead of 4 https://github.com/greggles/mcc-codes.
 
bool UseEncryption
 
bool PresignedAuth
 
bool UseSecureElement = false
 
byte [] LongTermPrivateKey
 
byte LongTermPrivateKeyIndex
 
uint LongTermKeyVersion
 
byte [] ForceTerminalNonce
 
byte [] ForceTerminalEphemeralPrivateKey
 
bool DoRequest
 Send valuables request. See RequestDetails for details.
 
RequestDetails Request
 Details of the request.
 
bool DoPush
 Push back data. See PushDetails for details.
 
CapabilitiesDetails Capabilities
 Details of the terminal capabilities.
 

Properties

byte [] CollectorId_4 [get]
 Merchant's Collector ID, truncated or padded to 4 bytes exactly.
 

Detailed Description

Encapsulate the configuration of the Google VAS terminal.

Member Data Documentation

◆ ForceTerminalEphemeralPrivateKey

byte [] SpringCard.GoogleVas.GoogleVasConfig.ForceTerminalEphemeralPrivateKey

Force terminal ephemeral private key (must be empty for random private keys)

◆ ForceTerminalNonce

byte [] SpringCard.GoogleVas.GoogleVasConfig.ForceTerminalNonce

Force terminal nonce (must be empty for random nonces)

◆ LongTermKeyVersion

uint SpringCard.GoogleVas.GoogleVasConfig.LongTermKeyVersion

Long term key pair version

◆ LongTermPrivateKey

byte [] SpringCard.GoogleVas.GoogleVasConfig.LongTermPrivateKey

Long term private key

◆ LongTermPrivateKeyIndex

byte SpringCard.GoogleVas.GoogleVasConfig.LongTermPrivateKeyIndex

Long term private key index inside the device's secure element

◆ PresignedAuth

bool SpringCard.GoogleVas.GoogleVasConfig.PresignedAuth

Use presigned authentication

◆ UseEncryption

bool SpringCard.GoogleVas.GoogleVasConfig.UseEncryption

Use encryption

◆ UseSecureElement

bool SpringCard.GoogleVas.GoogleVasConfig.UseSecureElement = false

If this field is set to true and the device has a Secure element the field LongTermPrivateKeyIndex will be used instead of LongTermPrivateKey


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