Skip to content

Releases: checkout/checkout-sdk-java

7.7.0

22 Apr 15:47
0dc1962

Choose a tag to compare

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

15 Apr 10:53
68f143a

Choose a tag to compare

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

15 Apr 10:37
ab64728

Choose a tag to compare

Release 7.6.0 (#587)

  • feat: align card metadata module with swagger spec (#581)
  • fix: change PaymentIndividualSender.dateOfBirth to LocalDate (#522) (#582)

7.5.0

09 Apr 08:31
c39a80e

Choose a tag to compare

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

01 Apr 13:32
4a851f4

Choose a tag to compare

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

01 Apr 07:48
c0cb671

Choose a tag to compare

Release 7.4.1 (#576)

  • fix: add LocalDate type adapters to prevent GSON reflection errors

7.4.0

31 Mar 12:42
3f12d92

Choose a tag to compare

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

18 Mar 17:33
8b56aa8

Choose a tag to compare

Release 7.3.1 (#558)

  • Add processing field to PayoutRequest with hub_model_origination_country support

7.3.0

18 Mar 16:56
2b02a0d

Choose a tag to compare

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 ApacheHttpClientTransport class has been refactored to remove the prepareRequestContent method, 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 Headers interface, using reflection and SerializedName annotations to map fields to header names.

Dependency Imports:

  • Additional imports for new client classes and utility libraries (such as Headers and SerializedName) 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

18 Mar 15:29
2bc083a

Choose a tag to compare

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