# SDKs

SumUp maintains open-source server SDKs that wrap the public API and handle authentication, pagination, and resource helpers. You can use the same SDK for online payments and for card-present payments through the Cloud API. Each guide includes examples for creating an online checkout and starting a checkout on a paired Solo reader.

## Choose Your SDK

- **[JavaScript](/tools/sdks/javascript/)** – published on npm as `@sumup/sdk` with first-class TypeScript typings and ESM support across JavaScript runtimes.
- **[Go](/tools/sdks/go/)** – idiomatic Go module `github.com/sumup/sumup-go` with context-aware clients and pkg.go.dev documentation.
- **[Python](/tools/sdks/python/)** – `sumup-py` provides both synchronous and asynchronous clients built on top of `httpx`.
- **[Java](/tools/sdks/java/)** – Java 17+ SDK published to Maven Central as `com.sumup:sumup-sdk`.
- **[PHP](/tools/sdks/php/)** – Composer package `sumup/sumup-php` with first-party clients for SumUp APIs.
- **[Rust](/tools/sdks/rust/)** – `sumup` crate published to crates.io with comprehensive docs at docs.rs.
- **[.NET](/tools/sdks/dotnet/)** – NuGet package `SumUp` targeting supported .NET releases.

All SDKs require valid [authorisation credentials](/tools/authorization/) and work against both sandbox and production environments. Cloud API requests also require an [Affiliate Key](/tools/authorization/affiliate-keys/). After choosing an SDK, follow its guide for installation, environment variables, and example calls.

:::tip[Client-side options]
Looking for client-side or checkout experiences? See the
[React Native SDK](/online-payments/sdks/react-native/) and
[Swift Checkout SDK](/online-payments/checkouts/swift-checkout/).
:::