Java SDK в Польше
corp-merch-java на Maven Central — JDK 17+, async через CompletableFuture, Spring Boot стартер в Польше.
Архитектура — Установка и инициализация в Польше
Maven: <dependency><groupId>com.corpmerch</groupId><artifactId>corp-merch-java</artifactId><version>2.x</version></dependency>. Инициализация: CorpMerch cm = CorpMerch.builder().apiKey(System.getenv("CM_KEY")).country("Польша").build();. Маршрутизация через хаб в Варшаве; VAT 23% рассчитывается на сервере. JDK 17+, без зависимостей на Kotlin или Scala.
Как подключить — Быстрый старт с 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 иммутабельны; Jackson @JsonInclude(NON_NULL). Ошибки как типизированные исключения, наследующие CorpMerchException.
Эксплуатация и пограничные случаи — Spring Boot стартер
corp-merch-spring-boot-starter регистрирует CorpMerch как bean, конфигурируемый из application.yml: corp-merch.api-key, corp-merch.country: Польша. Контроллер webhook автоматически регистрируется на /webhooks/corpmerch с проверкой HMAC. Actuator health indicator показывает статус канала KSeF. ID подтверждений Krajowy System e-Faktur (KSeF) доступны в событиях счетов.
Частые вопросы
Какие версии JDK?
JDK 17 и 21 в CI. JDK 11 работает в offline-режиме, но официально не поддерживается.
Kotlin / Scala?
Чистая Java — пригодна для Kotlin и Scala. Идиоматичные Kotlin extension в companion-модуле.
Reactor / RxJava?
Модули-адаптеры для Project Reactor (Mono/Flux) и RxJava 3 (Single/Observable).
Spring Boot 3?
Да — стартер поддерживает Spring Boot 3.x. Spring Boot 2.7 — на legacy SDK 1.x.
VAT 23% и KSeF?
country: 'Польша' применяет VAT 23% и маршрутизирует счета через KSeF. Health indicator Actuator показывает доступность канала KSeF.