Skip to content

Wire JavaScript Checkout controllers - #2584

Draft
porter-stripe wants to merge 11 commits into
porter/checkout-native-controllersfrom
porter/checkout-controller-creation
Draft

porter-stripe wants to merge 11 commits into
porter/checkout-native-controllersfrom
porter/checkout-controller-creation

Conversation

@porter-stripe

@porter-stripe porter-stripe commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

Wires createCheckout to the native bridge and returns a stable JavaScript controller backed by ordered session snapshots. Scopes event buffering to pending creations and releases event state on failure or destruction. Mutation, confirmation, and presentation methods remain follow-ups.

Review order: #2641 (Android serialization), #2638 (iOS serialization), #2642 (iOS lifecycle), #2639 (Android lifecycle), then #2584 (JavaScript).

Motivation

CheckoutSessions

Testing

  • I tested this manually
  • I added automated tests
  • 134 JavaScript tests pass. TypeScript, ESLint, and API report checks pass; complete-stack native build and test validation is recorded in the preceding PRs.

Documentation

  • I have added relevant documentation for my changes.
  • This PR does not result in any developer-facing changes.

Comment on lines +57 to +60
// TODO(porter): Uncomment when the reviewed native line item ships.
// putMap("unitAmountDecimal", amount(lineItem.unitAmountDecimal, session.currency))
// putString("unitLabel", lineItem.unitLabel)
// putMap("adjustableQuantity", serializeAdjustableQuantity(lineItem.adjustableQuantity))

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Android hasn't yet added some properties that are flagged with TODOs.

@porter-stripe
porter-stripe force-pushed the porter/checkout-controller-creation branch from 4026a56 to 857de91 Compare August 25, 2026 16:39
@porter-stripe
porter-stripe marked this pull request as ready for review August 25, 2026 17:25
@porter-stripe
porter-stripe requested review from a team as code owners August 25, 2026 17:25
@gbirch-stripe

Copy link
Copy Markdown
Collaborator

Could you split this PR into more easily reviewable chunks?

Base automatically changed from porter/checkout-configuration-mapping to master September 14, 2026 14:12
porter-stripe and others added 3 commits September 14, 2026 08:12
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>
@porter-stripe
porter-stripe force-pushed the porter/checkout-controller-creation branch from b77f761 to d2d91ba Compare September 14, 2026 14:12
@porter-stripe
porter-stripe removed this pull request from stack #2580 September 14, 2026 14:27
@porter-stripe
porter-stripe changed the base branch from master to porter/checkout-native-controllers September 14, 2026 14:27
@porter-stripe
porter-stripe added this pull request to stack #2640 September 14, 2026 14:27
@porter-stripe porter-stripe changed the title Create Checkout controllers and session snapshots Wire JavaScript Checkout controllers Sep 14, 2026
porter-stripe and others added 6 commits September 14, 2026 09:34
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>
@porter-stripe
porter-stripe removed this pull request from stack #2640 September 14, 2026 16:38
@porter-stripe
porter-stripe added this pull request to stack #2643 September 14, 2026 16:38
@porter-stripe
porter-stripe marked this pull request as draft September 14, 2026 21:34
@porter-stripe

Copy link
Copy Markdown
Collaborator Author

@gbirch-stripe yep split this one up!

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.

2 participants