The com.sumup:sumup-sdk package is the official Java SDK generated from the SumUp OpenAPI specification. It requires Java 17 or newer and ships both synchronous and asynchronous clients.
Installation
Section titled “Installation”Add the dependency to your build file.
dependencies { implementation("com.sumup:sumup-sdk:0.0.6")}dependencies { implementation 'com.sumup:sumup-sdk:0.0.6'}<dependency> <groupId>com.sumup</groupId> <artifactId>sumup-sdk</artifactId> <version>0.0.6</version></dependency>Configure Authentication
Section titled “Configure Authentication”Set the SUMUP_API_KEY environment variable or pass the token directly.
export SUMUP_API_KEY="sup_sk_MvxmLOl0..."import com.sumup.sdk.SumUpClient;
SumUpClient client = new SumUpClient("sup_sk_MvxmLOl0...");Examples
Section titled “Examples”Online Payment Checkout
Section titled “Online Payment Checkout”import com.sumup.sdk.SumUpClient;import com.sumup.sdk.models.CheckoutCreateRequest;import com.sumup.sdk.models.Currency;
SumUpClient client = SumUpClient.builder().build();
CheckoutCreateRequest request = CheckoutCreateRequest.builder() .amount(25.00f) .currency(Currency.EUR) .checkoutReference("ORDER-1001") .merchantCode(System.getenv("SUMUP_MERCHANT_CODE")) .description("Online payment via card widget") .build();
var checkout = client.checkouts().createCheckout(request);System.out.println(checkout.id());Solo Cloud API Checkout
Section titled “Solo Cloud API Checkout”import com.sumup.sdk.SumUpClient;import com.sumup.sdk.models.CreateReaderCheckoutRequest;import com.sumup.sdk.models.Money;
SumUpClient client = SumUpClient.builder().build();
String merchantCode = System.getenv("SUMUP_MERCHANT_CODE");String readerId = client.readers().listReaders(merchantCode).items().stream() .findFirst() .orElseThrow(() -> new IllegalStateException("No paired readers found.")) .id() .value();
CreateReaderCheckoutRequest request = CreateReaderCheckoutRequest.builder() .description("Reader checkout") .totalAmount( Money.builder() .currency("EUR") .minorUnit(2L) .value(1500L) .build()) .build();
client.readers().createReaderCheckout(merchantCode, readerId, request);