SDK Java dla Polska
corp-merch-java na Maven Central — JDK 17+, async przez CompletableFuture, starter Spring Boot dla Polska.
Architektura — Instalacja i init dla Polska
Maven: <dependency><groupId>com.corpmerch</groupId><artifactId>corp-merch-java</artifactId><version>2.x</version></dependency>. Init: CorpMerch cm = CorpMerch.builder().apiKey(System.getenv("CM_KEY")).country("Polska").build();. Trasa przez hub Warszawa; VAT 23% liczone po stronie serwera. JDK 17+, bez zależności Kotlin/Scala.
Jak to zintegrować — Quickstart z CompletableFuture
Sync: Order o = cm.orders().create(OrderCreateParams.builder().idempotencyKey(UUID.randomUUID().toString())...build());. Async: cm.orders().createAsync(params).thenAccept(o -> log.info("id={}", o.id()));. POJO niezmienne; Jackson @JsonInclude(NON_NULL). Błędy jako typowane wyjątki dziedziczące po CorpMerchException.
Eksploatacja i przypadki brzegowe — Starter Spring Boot
corp-merch-spring-boot-starter rejestruje CorpMerch jako bean konfigurowany z application.yml: corp-merch.api-key, corp-merch.country: Polska. Kontroler webhooka auto-rejestrowany pod /webhooks/corpmerch z weryfikacją HMAC. Actuator health indicator pokazuje status kanału KSeF. ID potwierdzeń Krajowy System e-Faktur (KSeF) eksponowane na zdarzeniach faktur.
FAQ
Wersje JDK?
JDK 17 i 21 w CI. JDK 11 działa w offline mode, ale oficjalnie niewspierany.
Kotlin / Scala?
Czysta Java — używalne z Kotlin i Scala. Idiomatyczne extension Kotlin w module companion.
Reactor / RxJava?
Moduły adaptery dla Project Reactor (Mono/Flux) i RxJava 3 (Single/Observable).
Spring Boot 3?
Tak — starter wspiera Spring Boot 3.x. Spring Boot 2.7 na legacy SDK 1.x.
VAT 23% i KSeF?
country: 'Polska' aplikuje VAT 23% i kieruje fakturowanie przez KSeF. Actuator health indicator pokazuje dostępność kanału KSeF.