{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars/sdk_sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Version & compatibility requirements","description":"The specifications of Ratepay's APIs for easy payment transactions.","siteUrl":"https://docs.ratepay.com","keywords":"Ratepay developer portal, Ratepay api portal, Ratepay api reference docs","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"version--compatibility-requirements","__idx":0},"children":["Version & compatibility requirements"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Requirement"},"children":["Requirement"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Java runtime"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["17+"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The SDK targets Java 17 bytecode and is not compatible with older JVM versions."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Kotlin"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["2.4+"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Only relevant to Kotlin applications. The SDK is built with Kotlin 2.4.10."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Build tool"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maven 3.9+ or Gradle"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The SDK is built with Maven but can also be used in Gradle projects."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration-limitations","__idx":1},"children":["Configuration limitations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following SDK settings are currently managed internally and cannot be customized through the public client interface:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HTTP transport."]}," The SDK uses Java's built-in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["java.net.http.HttpClient"]},". Custom HTTP clients, such as OkHttp or Apache HttpClient, are not supported."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Timeouts."]}," The connection timeout is fixed at 10 seconds, and the request timeout is fixed at 30 seconds."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retries."]}," The SDK does not automatically retry failed requests. See"," ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/developer/sdk/errors-and-resilience/idempotency-and-retries"},"children":["Idempotency & retries"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can configure your OAuth client ID, client secret, and target ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/developer/sdk/client/authentication"},"children":["environment"]}," through ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RatepayClient.Builder"]},". See ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/docs/developer/sdk/client/client-configuration"},"children":["Client configuration"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"json-serialization","__idx":2},"children":["JSON serialization"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Field naming:"]}," The API uses snake_case JSON fields, while the SDK exposes camelCase properties in Java and Kotlin."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Unknown fields:"]}," The SDK ignores unrecognized JSON fields in API responses to maintain forward compatibility."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Unknown enum values:"]}," Enums define an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UNKNOWN"]},", so they map unrecognized API values to it instead of throwing a deserialization exception."]}]}]},"headings":[{"value":"Version & compatibility requirements","id":"version--compatibility-requirements","depth":1},{"value":"Configuration limitations","id":"configuration-limitations","depth":2},{"value":"JSON serialization","id":"json-serialization","depth":2}],"frontmatter":{"seo":{"title":"Version & compatibility requirements"}},"lastModified":"2026-11-03T13:04:38.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/developer/sdk/getting-started/compatibility","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}