Releases: checkout/checkout-sdk-java
7.7.0
Release 7.7.0 (#589)
- Add new payment methods for Payment Setups (ACH, AlipayHK/CN, ApplePay, Bancontact, SEPA, Swish, Tamara, and more)
- Add UpdateInstrumentAch and UpdateInstrumentSepa request/response classes
- Add AccommodationData, AccommodationGuest, AccommodationRoom for payments
- Add TrustedListing and TrustedListingStatus to ThreeDSData
- Add PayPalResponseSource response class
- Add DunningRetryRequest and DowntimeRetryRequest for payment retry
- Add Aggregator and AchServiceType classes
- Extend PaymentProcessing, ProcessingSettings, PaymentRequest, PayoutRequest with new fields
- Extend HostedPaymentRequest and PaymentLinkRequest with new fields
- Extend Dispute and CompellingEvidence with new evidence fields
- Add MobileRedirectLink, QrCode, and Product common classes
- Extend GetCardInstrumentResponse with InstrumentNetworkToken
- Add schema serialization tests for new and updated classes
7.6.1
Release - 7.6.1 (#585)
This release removes the country field of type CountryCode from the PaymentRecipient class and updates related test code to reflect this change. This simplifies the data model for payment recipients by eliminating the country information.
Model simplification:
Removed the country field (of type CountryCode) from the PaymentRecipient class in PaymentRecipient.java.
Removed the unused import of CountryCode from PaymentRecipient.java.
Test updates:
Updated TestHelper.java and GetPaymentsTestIT.java to remove usage of the country field when creating PaymentRecipient instances in tests. [1] [2]
7.6.0
7.5.0
Release 7.5.0 (#580)
Changes:
- feat: update Google Pay enrollment/domain models and add new response types
- feat: refactor payment methods, add PayPal support and PaymentMethodStatus enum
- feat: add new fields to issuing card create requests (metadata, purpose, additional properties)
- feat: add routing, subscription, and authentication fields to payments
- feat: add Agentic Commerce delegate payment endpoint with new AgenticCommerceClient
- feat: wire new API clients in CheckoutApi and update build config
- feat: extract IHeaders interface and add DelegatePaymentHeaders for Agentic Commerce
- refactor: centralize idempotencyKey header in buildRequest method
7.4.2
Release 7.4.2 (#578)
- Release 7.4.2
- fix: remove locale field from PaymentSessionSubmitRequest to prevent locale_invalid errors on submit
- fix: add polymorphic deserialization for PaymentSubmissionResponse status values (Approved, Declined, Action Required)
- fix: add locale field to PaymentSessionCompleteRequest
- feat: add new LocaleType and StorePaymentDetailsType enum values
- test: add FlowLocaleAndStatusDeserializationTest regression tests
- fix: update Maven Central badge link in README
Replace deprecated maven-badges.herokuapp.com with shields.io badge
and central.sonatype.com artifact link.
- docs: update README for 7.x release
- Update version callout from 6.0.0 to 7.x
- Add sync methods and Flow client to feature highlights
- Fix Maven Central badge (previous commit)
- Fix typo: "Aync" -> "Async"
- Fix grammar in synchronous mode description
- Fix misleading comment in async/sync comparison example
7.4.1
7.4.0
Release 7.4.0 (#569)
New Features
New API Clients
-
GooglePay Client: Enrollments, domain registration, and state management
- POST /googlepay/enrollments
- POST /googlepay/enrollments/{entity_id}/domain
- GET /googlepay/enrollments/{entity_id}/domains
- GET /googlepay/enrollments/{entity_id}/state
-
Compliance Client: Compliance request management
- GET /compliance-requests/{payment_id}
- POST /compliance-requests/{payment_id}
Payment Enhancements
-
Payment Cancellation: New cancelPayment() endpoint
- POST /payments/{id}/cancellations
- CancellationRequest and CancellationAcceptedResponse classes
-
New Payment Methods (9): BIZUM, MOBILEPAY, OCTOPUS, PAYNOW, PLAID, REMEMBER_ME, STORED_CARD, TWINT, VIPPS
-
New APM Sources (11): Alipay CN/HK, DANA, GCash, Kakaopay, MobilePay, Swish, TNG, TrueMoney, Twint, Vipps
Issuing Enhancements
- Digital cards: GET /issuing/digital-cards/{digitalCardId}
- OOB authentication simulation: POST /issuing/simulate/oob/authentication
API Improvements
- PaymentSessionSubmitRequest now extends PaymentSessionInfo (exposes all required fields)
Fixes
- Security: Sanitize Cko-Idempotency-Key from request logs
- Security: Exclude responseHeaders from CheckoutApiException toString
- Logging: Route deserialization errors through standard logging framework
Maintenance
- Add final modifier to 258 leaf classes (technical debt cleanup)
- Dependency updates: commons-codec 1.21.0, log4j 2.25.3, develocity 4.3.2, lombok plugin 8.14.4
7.3.1
7.3.0
Release - 7.3.0 (#557)
This release introduces several enhancements and refactors to the Checkout API Java client. The main changes include expanding the API with new client interfaces for additional payment and account features, and refactoring the HTTP client transport to improve request handling, particularly for headers and content types.
API Expansion:
- New client interfaces and implementations have been added for features such as Payment Methods, Apple Pay, Network Tokens, and Standalone Account Updater, making these services directly accessible via the main API. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
HTTP Client Transport Refactor:
- The
ApacheHttpClientTransportclass has been refactored to remove theprepareRequestContentmethod, simplifying how request bodies are handled and serialized. Now, the request object is passed directly, and serialization or entity creation occurs closer to the HTTP call. [1] [2] [3] [4] [5] [6] - Improved handling of different request body types (e.g., JSON, form-encoded, multipart) and automatic setting of appropriate content-type headers.
Dynamic Header Injection:
- Added a mechanism to extract and set HTTP headers from request objects that implement the new
Headersinterface, using reflection andSerializedNameannotations to map fields to header names.
Dependency Imports:
- Additional imports for new client classes and utility libraries (such as
HeadersandSerializedName) have been added to support the above changes. [1] [2] [3]
These changes collectively improve the extensibility, maintainability, and usability of the Checkout API client, making it easier to add new features and handle advanced request scenarios.
7.2.0
Release - 7.2.0 complete review of FlowClient (#556)
This release introduces significant updates to the Flow payment sessions API, focusing on unifying and simplifying request/response types, improving type safety, and adding extensible configuration entities for payment methods. The changes modernize the Flow client interface, update serialization logic, and introduce new configuration/data classes for payment sessions.
Flow API Modernization and Type Unification:
The FlowClient and FlowClientImpl interfaces have been refactored to use unified request and response types (PaymentSessionCreateRequest, PaymentSessionSubmitRequest, PaymentSessionCompleteRequest, and PaymentSubmissionResponse) instead of split request/response classes for each operation. This simplifies the API and improves consistency. [1] [2] [3]
The method signatures and validation logic in FlowClientImpl have been updated to match the new types and naming conventions, ensuring clearer parameter validation and more maintainable code.
Serialization Enhancements:
The GsonSerializer now registers a type adapter factory for the new PaymentSubmissionResponse polymorphic hierarchy, enabling proper deserialization based on payment session status (approved, declined, action required). [1] [2]
A new constant STATUS is added to CheckoutUtils to support status-based polymorphic deserialization.
New Payment Session Entities and Configuration:
Introduces new configuration/data classes for the Flow payment sessions API:
ApplePayConfiguration, GooglePayConfiguration, and CardConfiguration provide extensible configuration options for specific payment methods. [1] [2] [3]
Customer and its nested CustomerSummary class encapsulate comprehensive customer information and transaction history for risk assessment.
CustomerRetry defines retry logic for asynchronous payment attempts.
PaymentAction models instructions for further customer action when required (e.g., redirects, additional data).