Skip to content

feat: Add presentation scopes & container wiring#1642

Open
bthebladeprimer wants to merge 4 commits into
bn/feature/cc-12-payment-methodsfrom
bn/feature/cc-13-scopes-container
Open

feat: Add presentation scopes & container wiring#1642
bthebladeprimer wants to merge 4 commits into
bn/feature/cc-12-payment-methodsfrom
bn/feature/cc-13-scopes-container

Conversation

@bthebladeprimer
Copy link
Copy Markdown
Contributor

Summary

  • Add ComposableContainer — the DI container that wires all CheckoutComponents dependencies together
  • Add DefaultCheckoutScope and DefaultPaymentMethodSelectionScope for top-level checkout orchestration
  • Add DefaultCardFormScope (with field builders and validation extensions) for card input management
  • Add payment-method-specific scopes: DefaultAchScope, DefaultApplePayScope, DefaultFormRedirectScope, DefaultKlarnaScope, DefaultPayPalScope, DefaultQRCodeScope, DefaultWebRedirectScope
  • Add DefaultSelectCountryScope for country selection in ACH/form flows
  • Add CheckoutSDKInitializer service update for scope initialization

Context

PR 13 of 16 in the CheckoutComponents feature split. Depends on PR 12 (payment method verticals).

Notion tracker

Test plan

  • DefaultCheckoutScopeTests — verify top-level checkout scope lifecycle
  • DefaultPaymentMethodSelectionScopeTests — verify payment method selection logic
  • DefaultCardFormScopeTests — verify card form field building and validation
  • DefaultSelectCountryScopeTests — verify country selection scope
  • PrimerCardFormScopeTests — verify card form scope protocol conformance
  • PrimerPaymentMethodScopeTests — verify payment method scope protocol
  • PrimerCheckoutPresenterTests — verify presenter delegate coordination

@bthebladeprimer bthebladeprimer requested a review from a team as a code owner March 26, 2026 15:54
@bthebladeprimer bthebladeprimer self-assigned this Mar 26, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 26, 2026

Warnings
⚠️ > Pull Request size seems relatively large. If this Pull Request contains multiple changes, please split each into separate PR will helps faster, easier review.

Generated by 🚫 Danger Swift against fa88163

@bthebladeprimer bthebladeprimer marked this pull request as draft March 26, 2026 16:32
@bthebladeprimer bthebladeprimer force-pushed the bn/feature/cc-12-payment-methods branch from 6331e36 to 0ca46cf Compare March 31, 2026 14:07
@bthebladeprimer bthebladeprimer force-pushed the bn/feature/cc-13-scopes-container branch from 9218886 to 5322150 Compare March 31, 2026 14:07
@bthebladeprimer bthebladeprimer marked this pull request as ready for review April 3, 2026 18:09
@bthebladeprimer bthebladeprimer force-pushed the bn/feature/cc-12-payment-methods branch from cf11538 to ddfc7fb Compare April 15, 2026 13:03
@bthebladeprimer bthebladeprimer requested a review from a team as a code owner April 15, 2026 13:03
Change paymentMethodScopeCache from private to internal so tests can
pre-populate it, avoiding the async race where createView() is called
before the background Task populates the cache.
@bthebladeprimer bthebladeprimer force-pushed the bn/feature/cc-13-scopes-container branch from 4f2e4de to fa88163 Compare April 15, 2026 13:03
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.

1 participant