Releases: checkout/checkout-sdk-java
Release list
7.14.1
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
CardCategoryenum: RemovedALL,NOT_SET, andOTHERvalues, and replaced them with a singleUNKNOWNvalue to match API responses. (src/main/java/com/checkout/common/CardCategory.java) - Updated
CardTypeenum: AddedNETWORK_TOKENandUNKNOWNvalues, and adjusted alternate spellings forDEFERRED_DEBITto include a space instead of an underscore. (src/main/java/com/checkout/common/CardType.java)
Test coverage improvements:
- Added tests to ensure all supported
CardTypeandCardCategoryvalues (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_typeandcard_categorystrings are deserialized asnull, ensuring resilience to future API changes. (src/test/java/com/checkout/metadata/CardMetadataSerializationTest.java)
Test infrastructure:
- Added imports for
LinkedHashMapandMapto support new test cases. (src/test/java/com/checkout/metadata/CardMetadataSerializationTest.java)
7.14.0
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
ApiClientandAccountsClient(both async and sync) to accept custom headers, specifically to support specifying aschemaVersionfor 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
AgreedTermsmodel for capturing agreement metadata. (src/main/java/com/checkout/accounts/AgreedTerms.java) - Added
additionalTradingNamesandisRegisteredCompanyfields toCompany. (src/main/java/com/checkout/accounts/Company.java) - Added
dayfield toDateOfIncorporation. (src/main/java/com/checkout/accounts/DateOfIncorporation.java) - Introduced new enum
CompanyPositionfor more granular company role identification. (src/main/java/com/checkout/accounts/CompanyPosition.java)
- Introduced
-
Expanded supported business types and entity roles:
- Extended
BusinessTypeenum with many new types (e.g.,INDIVIDUAL_OR_SOLE_PROPRIETORSHIP,NON_PROFIT_ENTITY, etc.). (src/main/java/com/checkout/accounts/BusinessType.java) - Extended
EntityRolesenum with new roles (DIRECTOR,CONTROL_PERSON). (src/main/java/com/checkout/accounts/EntityRoles.java)
- Extended
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
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
RequestBlikSourceclass to represent Blik payment sources, including the optionalpartnerAgreementIdfield used for merchant-initiated recurring payments. - Extended the
PaymentSourceTypeenum with a newBLIKvalue, mapped to the serialized nameblik.
Payment Setups:
- Added the missing fields to
PaymentSetupsRequestto align it with the current Payment Setups schema.
Forward API:
- Moved the forward secret item path to
/secrets/{name}(INT-1666).
7.12.2
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
Release 7.12.1 (#619)
- fix(setups): rename confirm param to paymentMethodName per spec
7.12.0
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
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
PaymentMethodsmodel. 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. TheOrderclass now includes anAmountAllocationsproperty for this purpose.
Payment Setup Enhancements:
- Added
PaymentSetupBillingDescriptor,PaymentSetupPresentmentDetails, andPaymentSetupTerminalclasses to enrich payment setup configuration and response, allowing for more detailed billing, presentment, and terminal information. These are now included in thePaymentSetupsResponse.
Bank Account and Instrument Details:
- Added
InstrumentAccountTypeenum andInstrumentDetailsAchclass to support specifying bank account types (savings/checking) and ACH instrument details.
Other Payment Method Updates:
- Updated
KlarnaAccountHolderto reflect the account holder's name as returned by Klarna after verification.
Removal of Gson @SerializedName annotations:
- All
@SerializedNameannotations have been removed from model classes such asRequestMetrics,AccountPhone,AccountsAccountHolder,AccountsCorporateAccountHolder,AccountsIndividualAccountHolder,AccountsPaymentInstrument,Company,ContactDetails,EntityDocument,EntityFinancialDetails,EntityFinancialDocuments,EntityRequirementListItem,EntityRequirementUpdateResponse,Identification,Individual,InstrumentDetailsFasterPayments,InstrumentDetailsSepa, andInstrumentDocument. 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
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
IdentityVerificationClientandFaceAuthenticationClientfor retrieving attempt assets with pagination support (skipandlimit), along with their implementations. [1] [2] [3] [4] [5] [6] [7] [8] - Introduced new response classes for paginated assets:
IdentityVerificationAttemptAssetsResponseandFaceAuthenticationAttemptAssetsResponse, including asset metadata and links. [1] [2] [3] - Added
AttemptAssetsQueryFilterfor pagination parameters andAttemptAssetLinksfor 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
PaymentSessionInfoto support new fields:authorizationTypeandpaymentPlan, 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
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_idfield (with documentation) to the following classes:Processing,ProcessingData, andPaymentProcessing, ensuring the field is serialized/deserialized asscheme_transaction_link_idin 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
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
ProcessingDatato support additional payment processing information, includingscheme,partnerFraudStatus,partnerMerchantAdviceCode,accommodationData, andairlineData. 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 (
AccommodationDataandAirlineData) to support the new list fields inProcessingData.
Test coverage:
- Introduced a new test class
ProcessingDataDeserializationTestthat verifies deserialization of all newly added fields, as well as their correct handling when absent, ensuring robust compatibility with the updated API contract.