Skip to content

Releases: checkout/checkout-sdk-java

7.14.1

Choose a tag to compare

@github-actions github-actions released this 31 Jul 07:51
0b4a75a

Release 7.14.1 (#630)

This release updates the CardCategory and CardType enums to better align with API responses and adds comprehensive test coverage for deserialization of all supported and unknown values. The changes improve consistency, future-proof the code against new values, and ensure robust handling of unexpected input.

Enum changes and alignment with API:

  • Updated CardCategory enum: Removed ALL, NOT_SET, and OTHER values, and replaced them with a single UNKNOWN value to match API responses. (src/main/java/com/checkout/common/CardCategory.java)
  • Updated CardType enum: Added NETWORK_TOKEN and UNKNOWN values, and adjusted alternate spellings for DEFERRED_DEBIT to include a space instead of an underscore. (src/main/java/com/checkout/common/CardType.java)

Test coverage improvements:

  • Added tests to ensure all supported CardType and CardCategory values (including alternate spellings and new values) are correctly deserialized from JSON. (src/test/java/com/checkout/metadata/CardMetadataSerializationTest.java)
  • Added tests to verify that unrecognized card_type and card_category strings are deserialized as null, ensuring resilience to future API changes. (src/test/java/com/checkout/metadata/CardMetadataSerializationTest.java)

Test infrastructure:

  • Added imports for LinkedHashMap and Map to support new test cases. (src/test/java/com/checkout/metadata/CardMetadataSerializationTest.java)

7.14.0

Choose a tag to compare

@github-actions github-actions released this 29 Jul 07:54
8e3c0c1

Release 7.14.0 (#627)

This release introduces several enhancements and extensions to the Accounts API client, focusing on improved schema versioning support, expanded entity management, and broader business type and role coverage. The changes add flexible API methods to specify schema versions, introduce new model fields and types, and extend enums to support a wider range of business and company scenarios.

API client enhancements for schema versioning:

  • Added overloaded methods to ApiClient and AccountsClient (both async and sync) to accept custom headers, specifically to support specifying a schemaVersion for requests. Default schema version is set to "3.0" if not provided. (src/main/java/com/checkout/ApiClient.java, src/main/java/com/checkout/ApiClientImpl.java, src/main/java/com/checkout/accounts/AccountsClient.java, src/main/java/com/checkout/accounts/AccountsClientImpl.java) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]

Model and enum extensions:

  • Added new model classes and fields to support additional business requirements:

    • Introduced AgreedTerms model for capturing agreement metadata. (src/main/java/com/checkout/accounts/AgreedTerms.java)
    • Added additionalTradingNames and isRegisteredCompany fields to Company. (src/main/java/com/checkout/accounts/Company.java)
    • Added day field to DateOfIncorporation. (src/main/java/com/checkout/accounts/DateOfIncorporation.java)
    • Introduced new enum CompanyPosition for more granular company role identification. (src/main/java/com/checkout/accounts/CompanyPosition.java)
  • Expanded supported business types and entity roles:

    • Extended BusinessType enum with many new types (e.g., INDIVIDUAL_OR_SOLE_PROPRIETORSHIP, NON_PROFIT_ENTITY, etc.). (src/main/java/com/checkout/accounts/BusinessType.java)
    • Extended EntityRoles enum with new roles (DIRECTOR, CONTROL_PERSON). (src/main/java/com/checkout/accounts/EntityRoles.java)

These changes provide greater flexibility for clients to interact with the API using different schema versions, and ensure the models and enums better reflect the diverse range of business entities and roles that may be encountered.

7.13.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 13:41
47a1460

Release 7.13.0 (#626)

This release adds Blik as a new payment source, completes the Payment Setups request model with missing fields, and updates the forward secrets endpoint path.

Blik Payment Source Support:

  • Introduced the RequestBlikSource class to represent Blik payment sources, including the optional partnerAgreementId field used for merchant-initiated recurring payments.
  • Extended the PaymentSourceType enum with a new BLIK value, mapped to the serialized name blik.

Payment Setups:

  • Added the missing fields to PaymentSetupsRequest to align it with the current Payment Setups schema.

Forward API:

  • Moved the forward secret item path to /secrets/{name} (INT-1666).

7.12.2

Choose a tag to compare

@github-actions github-actions released this 20 Jul 12:49
4427b12

Version 7.12.2 (#622)

This release adds a new OAuth scope to the OAuthScope enum to support APME enrollment functionality.

OAuth scope additions:

Added VAULT_APME_ENROLLMENT ("vault:apme-enrollment") to the OAuthScope enum in OAuthScope.java to enable granular permission control for APME enrollment operations.

7.12.1

Choose a tag to compare

@github-actions github-actions released this 16 Jul 16:00
9bc9cbc

Release 7.12.1 (#619)

  • fix(setups): rename confirm param to paymentMethodName per spec

7.12.0

Choose a tag to compare

@github-actions github-actions released this 16 Jul 15:20
abf75f9

Release 7.12.0 (#617)

  • Align PaymentSetupsConfirmResponse with the PaymentSetup schema returned by the confirm endpoint, fixing merchant onboarding (customer.email and other setups models had the wrong shape)
  • Remove the orphaned PaymentSetupSource class

7.11.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 09:36
4d6dd5b

Release 7.11.0 (#615)
General SDK update (Issuing cards/disputes, Payment Setups, Klarna, and Platforms instrument details)

This release primarily introduces new classes to support ACH instrument details and bank account types. These changes help streamline model definitions and prepare the codebase for alternative serialization strategies or libraries.

Additionally, it removes the use of the @SerializedName annotation from most domain model classes in the com.checkout.accounts package, simplifying the codebase and decoupling it from Gson-specific serialization.

The most important changes are:

New Payment Methods Support:

  • Added Bacs, Card Present, Pay by Bank (Open Banking), and Stablecoin payment method classes, along with their configuration and supporting entities, to the PaymentMethods model. This allows handling these payment types in payment setups.

Order Amount Allocation and Commission:

  • Introduced PaymentSetupAmountAllocation, AmountAllocationCommission, and related models to support order splitting among sub-entities and specifying commissions per split. The Order class now includes an AmountAllocations property for this purpose.

Payment Setup Enhancements:

  • Added PaymentSetupBillingDescriptor, PaymentSetupPresentmentDetails, and PaymentSetupTerminal classes to enrich payment setup configuration and response, allowing for more detailed billing, presentment, and terminal information. These are now included in the PaymentSetupsResponse.

Bank Account and Instrument Details:

  • Added InstrumentAccountType enum and InstrumentDetailsAch class to support specifying bank account types (savings/checking) and ACH instrument details.

Other Payment Method Updates:

  • Updated KlarnaAccountHolder to reflect the account holder's name as returned by Klarna after verification.

Removal of Gson @SerializedName annotations:

  • All @SerializedName annotations have been removed from model classes such as RequestMetrics, AccountPhone, AccountsAccountHolder, AccountsCorporateAccountHolder, AccountsIndividualAccountHolder, AccountsPaymentInstrument, Company, ContactDetails, EntityDocument, EntityFinancialDetails, EntityFinancialDocuments, EntityRequirementListItem, EntityRequirementUpdateResponse, Identification, Individual, InstrumentDetailsFasterPayments, InstrumentDetailsSepa, and InstrumentDocument. This reduces dependency on Gson and cleans up the code. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34]

These changes modernize the codebase, reduce serialization coupling, and add support for new instrument types.

7.10.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 08:41
039f486

Release 7.10.0 (#613)

This release introduces new functionality for retrieving assets (such as face images, videos, and document images) captured during identity and face authentication attempts, including both asynchronous and synchronous methods. It also adds supporting data models for paginated asset responses and asset metadata. Additionally, there are minor enhancements to the payments API.

Identity & Face Authentication Assets Retrieval:

  • Added asynchronous and synchronous methods to both IdentityVerificationClient and FaceAuthenticationClient for retrieving attempt assets with pagination support (skip and limit), along with their implementations. [1] [2] [3] [4] [5] [6] [7] [8]
  • Introduced new response classes for paginated assets: IdentityVerificationAttemptAssetsResponse and FaceAuthenticationAttemptAssetsResponse, including asset metadata and links. [1] [2] [3]
  • Added AttemptAssetsQueryFilter for pagination parameters and AttemptAssetLinks for asset download URLs. [1] [2]

Imports and Constants:

  • Updated imports and added new constants for asset paths in client implementations. [1] [2] [3] [4] [5] [6]

Payments API Enhancements:

  • Extended PaymentSessionInfo to support new fields: authorizationType and paymentPlan, allowing for more flexible payment session handling. [1] [2]…ntegration tests

Breaking changes:

  • AmlScreeningClient, FaceAuthenticationClient, IdDocumentVerificationClient, IdentityVerificationClient, ReconciliationClient function names adjusted to the default API async/sync nomenclature, by default, the functions without suffix are async, the syncronous ones are suffixed with *Sync.

7.9.2

Choose a tag to compare

@github-actions github-actions released this 10 Jun 09:18
15f31d4

Release 7.9.2 - Transaction Link Identifier update (#610)

This release introduces support for the scheme_transaction_link_id field across several payment processing classes. This field, primarily relevant for Mastercard transactions, is now included in the models, and comprehensive test coverage ensures correct serialization and deserialization. The main focus is to enable the SDK to expose and handle this identifier, which links related transactions on the Mastercard network.

Support for Mastercard Transaction Link Identifier:

  • Added the scheme_transaction_link_id field (with documentation) to the following classes: Processing, ProcessingData, and PaymentProcessing, ensuring the field is serialized/deserialized as scheme_transaction_link_id in JSON. [1] [2] [3]
  • Updated integration and unit tests to verify correct handling of the new field, including deserialization, serialization, and null handling when the field is absent. [1] [2] [3] [4] [5] [6] [7] [8] [9]
  • Added necessary imports and assertions in test files to support the new field and its test cases. [1] [2]

These changes ensure that the SDK is ready to handle Mastercard's transaction link identifiers, providing better traceability for related transactions.

7.9.1

Choose a tag to compare

@github-actions github-actions released this 03 Jun 09:49
7922d92

Release 7.9.1 - ProcessingData fields update (#607)

This release enhances the ProcessingData model to align with the latest Checkout.com API specification, adding support for several new fields related to payment processing, and introduces comprehensive deserialization tests to ensure correct handling of these fields.

Model enhancements:

  • Added new fields to ProcessingData to support additional payment processing information, including scheme, partnerFraudStatus, partnerMerchantAdviceCode, accommodationData, and airlineData. These fields provide more granular details about the payment, such as the network used, fraud status, merchant advice codes, and booking information for accommodations and airlines.
  • Imported the necessary model classes (AccommodationData and AirlineData) to support the new list fields in ProcessingData.

Test coverage:

  • Introduced a new test class ProcessingDataDeserializationTest that verifies deserialization of all newly added fields, as well as their correct handling when absent, ensuring robust compatibility with the updated API contract.