SDK Java para España
corp-merch-java en Maven Central — JDK 17+, async vía CompletableFuture, starter Spring Boot para España.
Arquitectura — Instalación e init para España
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("España").build();. Enruta por el hub Madrid; IVA 21% calculado en servidor. JDK 17+, sin dependencia Kotlin o Scala.
Cómo integrarlo — Quickstart con 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()));. POJOs inmutables; Jackson @JsonInclude(NON_NULL). Errores como excepciones tipadas que extienden CorpMerchException.
Operación y casos límite — Starter Spring Boot
corp-merch-spring-boot-starter registra CorpMerch como bean configurado desde application.yml: corp-merch.api-key, corp-merch.country: España. Controller de webhook auto-registrado en /webhooks/corpmerch con verificación HMAC. El Actuator health indicator expone el estado del canal FACe/SII. IDs de confirmación FACe / Suministro Inmediato de Información (SII) expuestos en eventos de factura.
Preguntas frecuentes
¿Versiones JDK?
JDK 17 y 21 en CI. JDK 11 funciona en modo offline pero no está oficialmente soportado.
¿Kotlin / Scala?
Java puro — usable desde Kotlin y Scala. Extensiones idiomáticas Kotlin en módulo companion.
¿Reactor / RxJava?
Módulos adapter para Project Reactor (Mono/Flux) y RxJava 3 (Single/Observable).
¿Spring Boot 3?
Sí — el starter soporta Spring Boot 3.x. Spring Boot 2.7 en el SDK legacy 1.x.
¿IVA 21% y FACe/SII?
country: 'España' aplica IVA 21% y enruta facturas vía FACe/SII. El health indicator de Actuator expone la disponibilidad del canal FACe/SII.