Class LatitudePayClientConfiguration
Instances of this class represent configuration options for ILatitudePayClient instances. The static members of this class provide global configuration common to all instances.
Inherited Members
Namespace: Yort.LatitudePay.InStore
Assembly: Yort.LatitudePay.InStore.dll
Syntax
public sealed class LatitudePayClientConfiguration
Constructors
| Improve this Doc View SourceLatitudePayClientConfiguration()
Default contructor, creates a new instance.
Declaration
public LatitudePayClientConfiguration()
Remarks
Instances of this type become immmutable once passed to a LatitudePayClient instance. Trying to set properties after this has occurred will result in an InvalidOperationException.
Properties
| Improve this Doc View SourceApiKey
Sets or returns the API key that identifies the merchant account to use with LatitudePay.
Declaration
public string ApiKey { get; set; }
Property Value
Type | Description |
---|---|
String |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
ApiSecret
Sets or returns the secret value used to access the LatitudePay API.
Declaration
public string ApiSecret { get; set; }
Property Value
Type | Description |
---|---|
String |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
DefaultCurrency
Sets or returns the default currency for new LatitudePayMoney instances where the currency is not explicitly provided.
Declaration
public static string DefaultCurrency { get; set; }
Property Value
Type | Description |
---|---|
String |
Remarks
If this property is null or an empty string then AustralianDollars will be used as a default.
Environment
Sets or returns the LatitudePay API environment to be used.
Declaration
public LatitudePayEnvironment Environment { get; set; }
Property Value
Type | Description |
---|---|
LatitudePayEnvironment |
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
HttpClient
Sets or returns an HttpClient instance used to make calls to the LatitudePay API. If null/unset, the system will create it's own instance on first use.
Declaration
public HttpClient HttpClient { get; set; }
Property Value
Type | Description |
---|---|
HttpClient |
Remarks
The library reserves the right to modify the provided client, such as setting default headers. A client can be shared amongst configuration object, but should not be shared/use outside of other LatitudePayClient instaces. The primary purpose of this method is to allow a client with injected handlers to be used. If you do not need to inject custom handlers, then leave this blank.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
MinimumRetries
The minumum number of automatic retries to perform when a create transaction (order/refund/order reversal/refund reversal etc) times out.
Declaration
public int MinimumRetries { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
Remarks
This property defaults to a value of 2. A value of zero or less is allowed, in which case only the initial attempt will be made - no retries will be performed within the library and any error handling logic will need to be entirely implemented by the application.
The library may attempt more retries than specified if the total time since the initial call is less than the (full, LatitudePay) recommended timeout for the endpoint being called.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
ProductName
Sets or returns the product name that will be used as part of the user agent string when calling the LatitudePay API.
Declaration
public string ProductName { get; set; }
Property Value
Type | Description |
---|---|
String |
Remarks
If null, empty string or only whitespace the name of the Yort.LatitudePay.Instore assembly being used will be substituted as a default.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
ProductVendor
Sets or returns the name of the vendor that will be used as part of the user agent string when calling the LatitudePay API.
Declaration
public string ProductVendor { get; set; }
Property Value
Type | Description |
---|---|
String |
Remarks
If null, empty string or only whitespace, "Yort" assembly being used will be substituted as a default.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
ProductVersion
Sets or returns the version number of the ProductName name that will be used as part of the user agent string when calling the LatitudePay API.
Declaration
public string ProductVersion { get; set; }
Property Value
Type | Description |
---|---|
String |
Remarks
If null, empty string or only whitespace the version of the Yort.LatitudePay.Instore assembly being used will be substituted as a default.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
RetryDelaySeconds
Sets or returns the number of seconds to wait before attempting a retry.
Declaration
public int RetryDelaySeconds { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
Remarks
When a transactional call (CreateOrder/Refund etc) times out the system will perform a retry (based on the MinimumRetries setting). If that retry attempt returns a 409 conflict response indicating the first request is still in progres, then the system will wait this many seconds before the next retry. See https://docs.LatitudePay.com.au/instore-api-v1.html#distributed-state-considerations and https://docs.LatitudePay.com.au/instore-api-v1.html#create-order for more details.
The minimum value is 5 seconds. Any value less than 5 seconds will be ignored, and a 5 second delay will occur instead.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if this property is modified after it has been passed to a LatitudePayClient instance. |
SystemClock
Sets or returns an implementation of ILatitudePaySystemClock that will be used by the library to determine the current date and time.
Declaration
public static ILatitudePaySystemClock SystemClock { get; set; }
Property Value
Type | Description |
---|---|
ILatitudePaySystemClock |
Remarks
If not clock is explicitly set, or if the property is set to null, then DefaultInstance will be used (and returned as the current value of the property).
This property can be used to provide a mocked clock for unit testing, or to provide a clock adjusted by a calculated offset via an NTP client etc. if the system clock cannot be relied upon for accuracy.
This is a static property and the value set here affects all clients/objects from the Yort.LatitudePay.InStore API unless otherwise specified.