Package com.adyen
Class Config
- java.lang.Object
-
- com.adyen.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 Summary
Fields Modifier and Type Field Description protected StringapiKeyAPI key for authentication.protected StringapplicationNameApplication name included in the User-Agent header.protected intconnectionRequestTimeoutMillisMaximum time in milliseconds to wait to lease a connection from the internal connection pool.protected intconnectionTimeoutMillisMaximum time in milliseconds to wait for a TCP connection (and TLS handshake) to be established.protected intdefaultKeepAliveMillisDuration in milliseconds to keep idle connections alive for reuse.protected EnvironmentenvironmentThe target environment (Test or Live).protected HostnameVerifierhostnameVerifierThe hostname verifier for Terminal Local API connections.protected StringliveEndpointUrlPrefixThe unique live URL prefix for live environment endpoints.protected StringpasswordPassword for HTTP basic authentication.protected BooleanprotocolUpgradeEnabledWhether HTTP requests should automatically attempt to upgrade to a newer protocol version.protected intreadTimeoutMillisMaximum time in milliseconds to wait for data on an already established connection (socket read timeout).protected SSLContextsslContextThe SSL context for client certificate authentication or custom trust stores.protected StringterminalApiCloudEndpointThe Cloud Terminal API endpoint URL.protected StringterminalApiLocalEndpointThe Local Terminal API endpoint URLprotected RegionterminalApiRegionThe region for the Terminal API Cloud endpoint.protected StringusernameUsername for HTTP basic authentication.
-
Constructor Summary
Constructors Constructor Description Config()Creates a new Config with default values.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigapiKey(String apiKey)ConfigapplicationName(String applicationName)ConfigconnectionRequestTimeoutMillis(int connectionRequestTimeoutMillis)Fluent setter forsetConnectionRequestTimeoutMillis(int).ConfigconnectionTimeoutMillis(int connectionTimeoutMillis)Fluent setter forsetConnectionTimeoutMillis(int).ConfigdefaultKeepAliveMillis(int defaultKeepAliveMillis)Fluent setter forsetDefaultKeepAliveMillis(int).Configenvironment(Environment environment)StringgetApiKey()StringgetApplicationName()intgetConnectionRequestTimeoutMillis()Returns the connection request timeout in milliseconds.intgetConnectionTimeoutMillis()Returns the connection timeout in milliseconds.intgetDefaultKeepAliveMillis()Returns the default keep-alive duration in milliseconds.EnvironmentgetEnvironment()HostnameVerifiergetHostnameVerifier()StringgetLiveEndpointUrlPrefix()StringgetPassword()BooleangetProtocolUpgradeEnabled()intgetReadTimeoutMillis()Returns the read timeout in milliseconds.SSLContextgetSSLContext()StringgetTerminalApiCloudEndpoint()StringgetTerminalApiLocalEndpoint()RegiongetTerminalApiRegion()StringgetUsername()ConfighostnameVerifier(HostnameVerifier hostnameVerifier)ConfigliveEndpointUrlPrefix(String liveEndpointUrlPrefix)Configpassword(String password)ConfigprotocolUpgradeEnabled(Boolean protocolUpgradeEnabled)ConfigreadTimeoutMillis(int readTimeoutMillis)Fluent setter forsetReadTimeoutMillis(int).voidsetApiKey(String apiKey)voidsetApplicationName(String applicationName)voidsetConnectionRequestTimeoutMillis(int connectionRequestTimeoutMillis)Sets the maximum time in milliseconds to wait to lease a connection from the internal connection pool.voidsetConnectionTimeoutMillis(int connectionTimeoutMillis)Sets the maximum time in milliseconds to wait for a TCP connection (and TLS handshake) to be established.voidsetDefaultKeepAliveMillis(int defaultKeepAliveMillis)Sets the duration in milliseconds to keep idle connections alive for reuse.voidsetEnvironment(Environment environment)voidsetHostnameVerifier(HostnameVerifier hostnameVerifier)Sets theHostnameVerifierfor theAdyenHttpClient.voidsetLiveEndpointUrlPrefix(String liveEndpointUrlPrefix)voidsetPassword(String password)voidsetProtocolUpgradeEnabled(Boolean protocolUpgradeEnabled)Whether the HTTP requests should automatically attempt to upgrade to a safer/newer version of the protocol.voidsetReadTimeoutMillis(int readTimeoutMillis)Sets the maximum time in milliseconds to wait for data on an already established connection.voidsetSSLContext(SSLContext sslContext)Sets theSSLContextfor theAdyenHttpClient.voidsetTerminalApiCloudEndpoint(String terminalApiCloudEndpoint)voidsetTerminalApiLocalEndpoint(String terminalApiLocalEndpoint)voidsetTerminalApiRegion(Region terminalApiRegion)voidsetUsername(String username)ConfigsslContext(SSLContext sslContext)ConfigterminalApiCloudEndpoint(String terminalApiCloudEndpoint)ConfigterminalApiLocalEndpoint(String terminalApiLocalEndpoint)ConfigterminalApiRegion(Region terminalApiRegion)Configusername(String username)
-
-
-
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.
-
-
Method Detail
-
getUsername
public String getUsername()
-
setUsername
public void setUsername(String username)
-
getPassword
public String getPassword()
-
setPassword
public void setPassword(String password)
-
getEnvironment
public Environment getEnvironment()
-
setEnvironment
public void setEnvironment(Environment environment)
-
environment
public Config environment(Environment environment)
-
getApplicationName
public String getApplicationName()
-
setApplicationName
public void setApplicationName(String applicationName)
-
getApiKey
public String getApiKey()
-
setApiKey
public void setApiKey(String apiKey)
-
getTerminalApiCloudEndpoint
public String getTerminalApiCloudEndpoint()
-
setTerminalApiCloudEndpoint
public void setTerminalApiCloudEndpoint(String terminalApiCloudEndpoint)
-
getTerminalApiLocalEndpoint
public String getTerminalApiLocalEndpoint()
-
setTerminalApiLocalEndpoint
public void setTerminalApiLocalEndpoint(String terminalApiLocalEndpoint)
-
getTerminalApiRegion
public Region getTerminalApiRegion()
-
setTerminalApiRegion
public void setTerminalApiRegion(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)
Fluent setter forsetConnectionTimeoutMillis(int).- 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 forsetReadTimeoutMillis(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)
Fluent setter forsetDefaultKeepAliveMillis(int).- 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)
Fluent setter forsetConnectionRequestTimeoutMillis(int).- 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.
-
getLiveEndpointUrlPrefix
public String getLiveEndpointUrlPrefix()
-
setLiveEndpointUrlPrefix
public void setLiveEndpointUrlPrefix(String liveEndpointUrlPrefix)
-
getSSLContext
public SSLContext getSSLContext()
-
setSSLContext
public void setSSLContext(SSLContext sslContext)
Sets theSSLContextfor theAdyenHttpClient.- Parameters:
sslContext- TheSSLContext
-
sslContext
public Config sslContext(SSLContext sslContext)
-
getHostnameVerifier
public HostnameVerifier getHostnameVerifier()
-
setHostnameVerifier
public void setHostnameVerifier(HostnameVerifier hostnameVerifier)
Sets theHostnameVerifierfor theAdyenHttpClient.- Parameters:
hostnameVerifier- TheHostnameVerifier- See Also:
TerminalLocalAPIHostnameVerifier
-
hostnameVerifier
public Config hostnameVerifier(HostnameVerifier hostnameVerifier)
-
-