Skip to content

Route direct vertical payment selections through a handler - #14428

Draft
cttsai-stripe wants to merge 3 commits into
masterfrom
cttsai/vertical-payment-method-selection-handler
Draft

Route direct vertical payment selections through a handler#14428
cttsai-stripe wants to merge 3 commits into
masterfrom
cttsai/vertical-payment-method-selection-handler

Conversation

@cttsai-stripe

Copy link
Copy Markdown
Contributor

Summary

Direct vertical saved-method, Google Pay, and Link selections now route through VerticalPaymentSelectionHandler.

The immediate handler preserves the existing isUserInput flags, updates selection before invoking completion, and removes invokeRowSelectionCallback from DefaultPaymentMethodVerticalLayoutInteractor.

Committed and created by Codex.

Motivation

Embedded immediate-action flows need selection updates and completion to share one ordered boundary. This refactor centralizes that routing without changing existing selection semantics.

New payment-method selection remains in the existing form-helper selectionUpdater flow. Checkout tax, pending state, lifecycle, and Manage behavior are unchanged.

Testing

  • Added tests
  • Modified tests
  • Manually verified

Handler coverage verifies saved methods use isUserInput = true, while Google Pay and Link use false, and that selection updates occur before completion. Interactor coverage verifies all three direct selections delegate to the handler without a second interactor-level selection update.

No local Gradle or device checks were run. CI is pending.

Screenshots

N/A. This is internal routing only and has no intended visual change.

Changelog

N/A. No public API or user-visible behavior change.

cttsai-stripe and others added 3 commits September 4, 2026 15:14
Committed-By-Agent: codex
Co-authored-by: codex <noreply@openai.com>
Committed-By-Agent: codex
Co-authored-by: codex <noreply@openai.com>
Committed-By-Agent: codex
Co-authored-by: codex <noreply@openai.com>

@cttsai-stripe cttsai-stripe left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pure refactoring. Expecting no behavioral change.

updateSelection = updateSelection,
verticalPaymentSelectionHandler = ImmediateVerticalPaymentSelectionHandler(
updateSelection = { selection, isUserInput -> updateSelection(selection, isUserInput) },
completionAction = null,

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

invokeRowSelectionCallback was not passed in and default null, so here is null.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant