The published SDK artifact doesn't include a fake, in-memory, or stub implementation of RatepayClient for you to import into your tests. What it does provide is a plain interface designed for exactly this purpose: you can mock it, fake it, or wrap it.
In practice, that means the standard approach, mocking RatepayClient with whatever mocking library your project already uses, works cleanly: it's a normal public interface with no final classes or sealed restrictions blocking it. See Unit testing the quickstart flow for a worked example.
Mocking RatepayClient is for testing your own code's logic against the SDK's contract, branching on outcomes, mapping exceptions, retry logic etc, without making network calls. It doesn't validate that your actual request payloads are accepted by the real API. For that, run the same flow against Environment.INTEGRATION - see Sandbox testing.