Skip to content

Release - 7.2.0 complete review of FlowClient#556

Merged
david-ruiz-cko merged 1 commit intomasterfrom
release/7.2.0
Mar 18, 2026
Merged

Release - 7.2.0 complete review of FlowClient#556
david-ruiz-cko merged 1 commit intomasterfrom
release/7.2.0

Conversation

@david-ruiz-cko
Copy link
Contributor

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

@david-ruiz-cko david-ruiz-cko requested a review from a team March 18, 2026 15:16
@sonarqubecloud
Copy link

@david-ruiz-cko david-ruiz-cko merged commit 2bc083a into master Mar 18, 2026
6 checks passed
@david-ruiz-cko david-ruiz-cko deleted the release/7.2.0 branch March 18, 2026 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants