Skip to content

Releases: checkout/checkout-sdk-java

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

7.1.0

12 Mar 11:39
d628aff

Choose a tag to compare

Release - 7.1.0 (#552)

This release introduces improved handling of request serialization and adds support for new identity-related API clients. The most significant update is the refactoring of the transport layer to support both JSON and form-encoded requests, making it more flexible for different content types. Additionally, several new clients for identity verification and screening have been integrated into the main API interface.

Transport layer improvements

  • Refactored ApacheHttpClientTransport to accept an Object as the request payload, allowing both JSON and UrlEncodedFormEntity form-encoded requests. Added logic to serialize objects to JSON or pass form entities directly, and set the appropriate Content-Type header. (src/main/java/com/checkout/ApacheHttpClientTransport.java) [1] [2] [3]
  • Updated ApiClientImpl methods to pass raw request objects to the transport layer instead of pre-serializing them, aligning with the new transport interface. (src/main/java/com/checkout/ApiClientImpl.java) [1] [2] [3] [4]

Identity API client integration

  • Added new identity-related clients (FaceAuthenticationClient, ApplicantClient, IdentityVerificationClient, IdDocumentVerificationClient, AmlScreeningClient) to CheckoutApi and CheckoutApiImpl, including their instantiation and interface methods. (src/main/java/com/checkout/CheckoutApi.java, src/main/java/com/checkout/CheckoutApiImpl.java) [1] [2] [3] [4] [5] [6]

Supporting changes

  • Updated imports in GsonSerializer.java to support form-encoded serialization, including UrlEncodedFormEntity and related classes. (src/main/java/com/checkout/GsonSerializer.java) [1] [2]

These changes enhance the SDK's flexibility for handling different request types and expand its functionality for identity verification workflows.

7.0.2

04 Mar 18:23
caaf808

Choose a tag to compare

Release - 7.0.2 (#550)

- Added new PaymentProcessing.bizum_payment_id field
- PaymentType paymentType = PaymentType.REGULAR fix

7.0.1

10 Feb 12:28
e9c866b

Choose a tag to compare

Release 7.0.1 (#548)

  • Remove "no_preference" option as Default ExemptionType
  • Removed default value for ExemptionType

7.0.0

04 Feb 15:41
1adc8bb

Choose a tag to compare

Release 7.0.0 - Add synchronous API methods (#545)

- Add synchronous API methods and Resilience4j configuration support
- PaymentsLoadTest, load test battery to check cal performance
- Updated and simplified the README file regarding configs and new modes
- Added the multithreaded configuration example and documented the async/sync mode
- Added HTTP Connection Pool Optimization by Throughput in the README
- Update dependencies for Gson and SLF4J to latest versions
- Build for gradle with junit.jupiter

6.14.0

28 Jan 18:36
7fa2672

Choose a tag to compare

Release 6.14.0 - Merchant-specific DNS names Support for access (#539)

6.13.0

22 Jan 09:47
aaa2db3

Choose a tag to compare

Release 6.13.0 - DateofBirth for IndividualSender to String type (#532)