Skip to content

Java SDK

Use the official Java client to talk to every SumUp public API.

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

Add the dependency to your build file.

dependencies {
implementation("com.sumup:sumup-sdk:0.0.6")
}

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

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());

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);