Skip to content

Version & compatibility requirements

RequirementValueNotes
Java runtime17+The SDK targets Java 17 bytecode and is not compatible with older JVM versions.
Kotlin2.4+Only relevant to Kotlin applications. The SDK is built with Kotlin 2.4.10.
Build toolMaven 3.9+ or GradleThe SDK is built with Maven but can also be used in Gradle projects.

Configuration limitations

The following SDK settings are currently managed internally and cannot be customized through the public client interface:

  • HTTP transport. The SDK uses Java's built-in java.net.http.HttpClient. Custom HTTP clients, such as OkHttp or Apache HttpClient, are not supported.
  • Timeouts. The connection timeout is fixed at 10 seconds, and the request timeout is fixed at 30 seconds.
  • Retries. The SDK does not automatically retry failed requests. See Idempotency & retries.

You can configure your OAuth client ID, client secret, and target environment through RatepayClient.Builder. See Client configuration.

JSON serialization

The SDK uses Jackson to automatically serialize and deserialize JSON requests and responses. It is bundled within the SDK, so it's not listed as a Maven dependency.

  • Field naming: The API uses snake_case JSON fields, while the SDK exposes camelCase properties in Java and Kotlin.
  • Unknown fields: The SDK ignores unrecognized JSON fields in API responses to maintain forward compatibility.
  • Unknown enum values: Enums define an UNKNOWN, so they map unrecognized API values to it instead of throwing a deserialization exception.