Package com.adyen

Class Config


  • public class Config
    extends Object
    Configuration for the Adyen API client (authentication credentials, environment settings, HTTP timeout values, and Terminal API configuration, etc..).

    Supports a fluent builder pattern for concise configuration:

    
     Config config = new Config()
         .environment(Environment.LIVE)
         .liveEndpointUrlPrefix("myCompany")
         .apiKey("YOUR_API_KEY")
         .connectionTimeoutMillis(10000)
         .readTimeoutMillis(15000);
     

    Important: Consider setting Timeout and SSL configuration. The underlying HTTP client is created lazily on the first request and reuses the configuration captured at that point. Changes made after the first request will not take effect.

    See Also:
    Client, AdyenHttpClient
    • Field Detail

      • apiKey

        protected String apiKey
        API key for authentication.
      • username

        protected String username
        Username for HTTP basic authentication.
      • password

        protected String password
        Password for HTTP basic authentication.
      • environment

        protected Environment environment
        The target environment (Test or Live).
      • applicationName

        protected String applicationName
        Application name included in the User-Agent header.
      • connectionTimeoutMillis

        protected int connectionTimeoutMillis
        Maximum time in milliseconds to wait for a TCP connection (and TLS handshake) to be established. Default: 60000 (60 seconds).
      • readTimeoutMillis

        protected int readTimeoutMillis
        Maximum time in milliseconds to wait for data on an already established connection (socket read timeout). This is the hard upper bound on how long any single API call can take once connected. Default: 60000 (60 seconds).
      • connectionRequestTimeoutMillis

        protected int connectionRequestTimeoutMillis
        Maximum time in milliseconds to wait to lease a connection from the internal connection pool. Relevant under high concurrency when the pool is saturated. Default: 60000 (60 seconds).
      • defaultKeepAliveMillis

        protected int defaultKeepAliveMillis
        Duration in milliseconds to keep idle connections alive for reuse. Default: 60000 (60 seconds).
      • protocolUpgradeEnabled

        protected Boolean protocolUpgradeEnabled
        Whether HTTP requests should automatically attempt to upgrade to a newer protocol version. If null, the Apache HttpClient default is used.
      • terminalApiCloudEndpoint

        protected String terminalApiCloudEndpoint
        The Cloud Terminal API endpoint URL.
      • terminalApiLocalEndpoint

        protected String terminalApiLocalEndpoint
        The Local Terminal API endpoint URL
      • liveEndpointUrlPrefix

        protected String liveEndpointUrlPrefix
        The unique live URL prefix for live environment endpoints.
      • terminalApiRegion

        protected Region terminalApiRegion
        The region for the Terminal API Cloud endpoint.
      • sslContext

        protected SSLContext sslContext
        The SSL context for client certificate authentication or custom trust stores.
      • hostnameVerifier

        protected HostnameVerifier hostnameVerifier
        The hostname verifier for Terminal Local API connections.
    • Constructor Detail

      • Config

        public Config()
        Creates a new Config with default values.
    • Method Detail

      • getUsername

        public String getUsername()
      • setUsername

        public void setUsername​(String username)
      • getPassword

        public String getPassword()
      • setPassword

        public void setPassword​(String password)
      • setEnvironment

        public void setEnvironment​(Environment environment)
      • getApplicationName

        public String getApplicationName()
      • setApplicationName

        public void setApplicationName​(String applicationName)
      • applicationName

        public Config applicationName​(String applicationName)
      • getApiKey

        public String getApiKey()
      • setApiKey

        public void setApiKey​(String apiKey)
      • getTerminalApiCloudEndpoint

        public String getTerminalApiCloudEndpoint()
      • setTerminalApiCloudEndpoint

        public void setTerminalApiCloudEndpoint​(String terminalApiCloudEndpoint)
      • terminalApiCloudEndpoint

        public Config terminalApiCloudEndpoint​(String terminalApiCloudEndpoint)
      • getTerminalApiLocalEndpoint

        public String getTerminalApiLocalEndpoint()
      • setTerminalApiLocalEndpoint

        public void setTerminalApiLocalEndpoint​(String terminalApiLocalEndpoint)
      • terminalApiLocalEndpoint

        public Config terminalApiLocalEndpoint​(String terminalApiLocalEndpoint)
      • getTerminalApiRegion

        public Region getTerminalApiRegion()
      • setTerminalApiRegion

        public void setTerminalApiRegion​(Region terminalApiRegion)
      • terminalApiRegion

        public Config terminalApiRegion​(Region terminalApiRegion)
      • getConnectionTimeoutMillis

        public int getConnectionTimeoutMillis()
        Returns the connection timeout in milliseconds.
        Returns:
        the maximum time to wait for a TCP connection to be established
      • setConnectionTimeoutMillis

        public void setConnectionTimeoutMillis​(int connectionTimeoutMillis)
        Sets the maximum time in milliseconds to wait for a TCP connection (and TLS handshake) to be established. A lower value (e.g. 5000-15000) is recommended for production to fail fast when the server is unreachable.
        Parameters:
        connectionTimeoutMillis - the connection timeout in milliseconds
      • connectionTimeoutMillis

        public Config connectionTimeoutMillis​(int connectionTimeoutMillis)
        Parameters:
        connectionTimeoutMillis - the connection timeout in milliseconds
        Returns:
        this Config instance
      • getReadTimeoutMillis

        public int getReadTimeoutMillis()
        Returns the read timeout in milliseconds.
        Returns:
        the maximum time to wait for response data on an established connection
      • setReadTimeoutMillis

        public void setReadTimeoutMillis​(int readTimeoutMillis)
        Sets the maximum time in milliseconds to wait for data on an already established connection. This acts as both the HTTP response timeout and the socket-level read timeout, providing a hard upper bound on API call duration. Set this to match your maximum acceptable response time.
        Parameters:
        readTimeoutMillis - the read timeout in milliseconds
      • readTimeoutMillis

        public Config readTimeoutMillis​(int readTimeoutMillis)
        Fluent setter for setReadTimeoutMillis(int).
        Parameters:
        readTimeoutMillis - the read timeout in milliseconds
        Returns:
        this Config instance
      • getDefaultKeepAliveMillis

        public int getDefaultKeepAliveMillis()
        Returns the default keep-alive duration in milliseconds.
        Returns:
        the duration to keep idle connections alive for reuse
      • setDefaultKeepAliveMillis

        public void setDefaultKeepAliveMillis​(int defaultKeepAliveMillis)
        Sets the duration in milliseconds to keep idle connections alive for reuse.
        Parameters:
        defaultKeepAliveMillis - the keep-alive duration in milliseconds
      • defaultKeepAliveMillis

        public Config defaultKeepAliveMillis​(int defaultKeepAliveMillis)
        Parameters:
        defaultKeepAliveMillis - the keep-alive duration in milliseconds
        Returns:
        this Config instance
      • getConnectionRequestTimeoutMillis

        public int getConnectionRequestTimeoutMillis()
        Returns the connection request timeout in milliseconds.
        Returns:
        the maximum time to wait to lease a connection from the pool
      • setConnectionRequestTimeoutMillis

        public void setConnectionRequestTimeoutMillis​(int connectionRequestTimeoutMillis)
        Sets the maximum time in milliseconds to wait to lease a connection from the internal connection pool. This timeout is relevant under high concurrency when all pooled connections are in use.
        Parameters:
        connectionRequestTimeoutMillis - the connection request timeout in milliseconds
      • connectionRequestTimeoutMillis

        public Config connectionRequestTimeoutMillis​(int connectionRequestTimeoutMillis)
        Parameters:
        connectionRequestTimeoutMillis - the connection request timeout in milliseconds
        Returns:
        this Config instance
      • getProtocolUpgradeEnabled

        public Boolean getProtocolUpgradeEnabled()
      • setProtocolUpgradeEnabled

        public void setProtocolUpgradeEnabled​(Boolean protocolUpgradeEnabled)
        Whether the HTTP requests should automatically attempt to upgrade to a safer/newer version of the protocol. See also AdyenHttpClient createRequest() method.
      • protocolUpgradeEnabled

        public Config protocolUpgradeEnabled​(Boolean protocolUpgradeEnabled)
      • getLiveEndpointUrlPrefix

        public String getLiveEndpointUrlPrefix()
      • setLiveEndpointUrlPrefix

        public void setLiveEndpointUrlPrefix​(String liveEndpointUrlPrefix)
      • liveEndpointUrlPrefix

        public Config liveEndpointUrlPrefix​(String liveEndpointUrlPrefix)
      • getSSLContext

        public SSLContext getSSLContext()