Show / Hide Table of Contents
    • Yort.LatitudePay.InStore
      • ILatitudePayClient
      • ILatitudePaySignatureGenerator
      • ILatitudePaySystemClock
      • LatitiudePayShippingLine
      • LatitudePayAddress
      • LatitudePayApiException
      • LatitudePayAuthToken
      • LatitudePayAvailability
      • LatitudePayCancelPurchaseRequest
      • LatitudePayCancelPurchaseResponse
      • LatitudePayClient
      • LatitudePayClientConfiguration
      • LatitudePayConfigurationRequest
      • LatitudePayConfigurationResponse
      • LatitudePayConstants
      • LatitudePayCreatePosPurchaseRequest
      • LatitudePayCreatePosPurchaseResponse
      • LatitudePayCreateRefundRequest
      • LatitudePayCreateRefundResponse
      • LatitudePayCurrencies
      • LatitudePayCustomer
      • LatitudePayEnvironment
      • LatitudePayHMACSHA256SignatureGenerator
      • LatitudePayMoney
      • LatitudePayProduct
      • LatitudePayPurchaseStatusRequest
      • LatitudePayPurchaseStatusResponse
      • LatitudePayReturnUrls
      • LatitudePaySystemClock

    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.

    Inheritance
    Object
    LatitudePayClientConfiguration
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: Yort.LatitudePay.InStore
    Assembly: Yort.LatitudePay.InStore.dll
    Syntax
    public sealed class LatitudePayClientConfiguration

    Constructors

    | Improve this Doc View Source

    LatitudePayClientConfiguration()

    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 Source

    ApiKey

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    | Improve this Doc View Source

    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.

    • Improve this Doc
    • View Source
    Back to top Copyright (c) 2020 Troy Willmot