Skip to content

Tyler/payment config phase 6 - #13645

Draft
tjclawson-stripe wants to merge 54 commits into
masterfrom
tyler/payment-config-phase-6
Draft

Tyler/payment config phase 6#13645
tjclawson-stripe wants to merge 54 commits into
masterfrom
tyler/payment-config-phase-6

Conversation

@tjclawson-stripe

Copy link
Copy Markdown
Collaborator

Summary

Motivation

Testing

  • Added tests
  • Modified tests
  • Manually verified

Screenshots

Before After
before screenshot after screenshot

Changelog

@tjclawson-stripe
tjclawson-stripe force-pushed the tyler/payment-config-phase-6 branch 30 times, most recently from 4bd2a87 to f57ac68 Compare July 29, 2026 21:26
Every Dagger-injected instance of ApiConfiguration.State is now
() -> ApiConfiguration.State. This eliminates all possible eager
resolution at component construction time.

Deleted ApiConfigurationStateFromProviderModule — no longer needed
since nothing injects ApiConfiguration.State directly from Dagger.

Classes updated:
- PaymentAnalyticsRequestFactory (@Inject constructor)
- DefaultPaymentNextActionHandlerRegistry (@Inject constructor)
- PaymentLauncherModule (@provides)
- CustomerSheetViewModel (constructor)
- AttestationComponent (@BindsInstance)
- AutocompleteViewModelFactoryComponent (@BindsInstance)
- AddressElementViewModelFactoryComponent (@BindsInstance)
- TapToAddCollectionHandler / TapToAddModule

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude
@tjclawson-stripe
tjclawson-stripe force-pushed the tyler/payment-config-phase-6 branch from 8c7135d to 6e78fa8 Compare August 4, 2026 18:30
tjclawson-stripe and others added 28 commits August 4, 2026 16:00
…er<>

CryptoApiRepository and OnrampModule now use the function type
consistently with the rest of the codebase.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude
Add stripeAccountId parameter to CustomerRepository.getPaymentMethods()
so PaymentElementLoader can pass the already-resolved value from
ApiConfigurationResolver during prefetch (before metadata exists).

Also fix test Dagger components missing () -> ApiConfiguration.State
bindings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude
…untId explicitly

Every method in CustomerRepository now takes stripeAccountId: String?
as a required parameter (no default). Callers pass it from their own
resolved ApiConfiguration.State. This eliminates the dependency on
ApiConfigurationModule for pre-load operations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude
…nfiguration()

This provides ApiConfiguration.State from the Link config's publishableKey
and stripeAccountId, eliminating the fallback to PaymentConfiguration.getInstance()
in ApiConfigurationResolver for the onramp/Link controller flow.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude
…ller.configure()

The onramp flow previously relied on LinkController.configure() calling
PaymentConfiguration.init() as a side effect. That call was removed
during the ApiConfiguration migration. Initialize it explicitly here
since the onramp has the publishable key available from its own config.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Committed-By-Agent: claude
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