Skip to content

Releases: checkout/checkout-sdk-java

7.8.0

29 May 09:16
bd5d15c

Choose a tag to compare

Release 7.8.0 (#603)

This release introduces new functionality for managing and resolving compliance requirements for sub-entities in the Accounts API, and also adds support for the Onboarding Simulator client. The changes include new API methods, response classes, and enhancements to serialization logic to support these features.

Accounts API: Entity Requirements Management

  • Added new asynchronous and synchronous methods to AccountsClient and AccountsClientImpl for retrieving a list of pending requirements, fetching details for a specific requirement, and submitting responses to resolve requirements. These methods allow clients to programmatically manage compliance requirements for sub-entities. [1] [2] [3] [4]
  • Introduced new data classes: EntityRequirementListItem, representing a pending requirement, and EntityRequirementDetailsResponse, providing detailed information and schema for a requirement. [1] [2]

Onboarding Simulator Client Integration

  • Added the OnboardingSimulatorClient to the CheckoutApi interface and its implementation, making it accessible via the SDK for sandbox testing. [1] [2] [3] [4] [5] [6]

Serialization Enhancements

  • Updated the GsonSerializer to register new type adapters and deserializers for onboarding simulator entities and to support new payment source types. [1] [2] [3] [4]

7.7.4

21 May 14:14
50c03aa

Choose a tag to compare

Release 7.7.4 (#601)

This release updates the handling of file purposes in the codebase to use a type-safe enum instead of raw strings, and adds support for additional file purposes. The changes improve code reliability and clarity by enforcing the use of the FilePurpose enum throughout the code and by expanding the recognized file purposes.

File Purpose Handling Improvements:

  • Changed the purpose field in FileDetailsResponse from a String to the FilePurpose enum, ensuring type safety and consistency.
  • Updated the FilePurpose enum to include new purposes: ARBITRATION_EVIDENCE and SUBMITTED_EVIDENCE, with appropriate serialization annotations for JSON mapping.

Test Adjustments:

  • Updated test assertions in DisputesTestIT.java and previous/DisputesTestIT.java to compare FilePurpose enum values directly instead of comparing strings, reflecting the new type-safe approach. [1] [2]

7.7.3

12 May 11:56
12c1963

Choose a tag to compare

Release 7.7.3 (#598)

Summary

This release updates enum definitions to improve serialization consistency and support new payment status values. The most important changes are grouped below:

New payment status support:

  • In PaymentStatus, a new enum value RETRY_SCHEDULED with serialized name "Retry Scheduled" has been added to represent payments scheduled for retry.

Enum serialization improvements:

  • In Exemption, the @SerializedName annotation for the NONE value now uses "none" as the primary value, with "None" and "NONE" as alternates, ensuring consistent lowercase serialization and swagger definition.
  • In PaymentType, the @SerializedName annotation for the MOTO value now uses "MOTO" as the primary value, with "Moto" as an alternate, standardizing the serialized output with the swagger definition.

and

Summary

  • Adds the five exemption values (LOW_VALUE, TRUSTED_LISTING, TRUSTED_LISTING_PROMPT, TRANSACTION_RISK_ASSESSMENT, DATA_SHARE) back to com.checkout.common.ChallengeIndicator, matching the named ChallengeIndicator schema used by POST /sessions (3DS Standalone Authentication).
  • Adds ChallengeIndicatorTest covering serialization, deserialization and round-trip for all nine values via the Gson serializer.

Why

A prior refactor moved these values out of ChallengeIndicator into a separate Exemption enum, but SessionRequest.challengeIndicator was never updated to accept exemptions through any other field. That broke merchant code such as:

SessionRequest.builder()
    .challengeIndicator(ChallengeIndicator.TRANSACTION_RISK_ASSESSMENT)
    .build();

A merchant on the Standalone Authentication product is currently blocked from upgrading the SDK because of this.

The new values carry a JavaDoc note indicating they are only valid for POST /sessions. The inline challenge_indicator used by POST /payments three_ds and by session responses still only accepts the original four values — the API rejects the others at runtime.

Follow-up (separate PR)

A cleaner split is still pending: introduce com.checkout.sessions.SessionChallengeIndicator (9 values) and mark the five new values on common.ChallengeIndicator as @deprecated so the swagger-level distinction (named schema for /sessions vs inline 4-value enum for /payments) is reflected in the SDK type system. Keeping this PR minimal to unblock the merchant first.

Test plan

  • CI: ./gradlew compileJava compileTestJava passes
  • CI: ./gradlew javadoc passes (no broken JavaDoc tags)
  • CI: ./gradlew test --tests ChallengeIndicatorTest passes
  • Sanity: build a SessionRequest with each of the five new values and confirm the JSON body has the expected snake_case string for challenge_indicator

7.7.2

27 Apr 13:37
c2be139

Choose a tag to compare

Release - 7.7.2 (#595)

This release adds support for a new payment method type in the PaymentMethodType enum. The most important change is:

New payment method support:

Added the BLIK payment method to the PaymentMethodType enum, annotated with @SerializedName("blik") for proper serialization.

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