Skip to content

feat: add PayPal to Checkout Components native-UI payments (ORC-6513)#385

Closed
OnurVar wants to merge 1 commit into
ov/feat/ACC-6923-apple-pay-componentfrom
ov/feat/ORC-6513-native-ui-payments
Closed

feat: add PayPal to Checkout Components native-UI payments (ORC-6513)#385
OnurVar wants to merge 1 commit into
ov/feat/ACC-6923-apple-pay-componentfrom
ov/feat/ORC-6513-native-ui-payments

Conversation

@OnurVar

@OnurVar OnurVar commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

PayPal flows through the generic usePrimerPaymentMethod('PAYPAL') — no bespoke usePayPal hook. Third step of the APM hook unification (after Google Pay #376, Apple Pay #374).

Because PayPal is a both-platform NATIVE_UI method with plain list-membership availability, it needs zero method-specific code — the foundation's generic hook + startNativeUI already drive it. So this PR is the unification paying off: the bespoke usePayPal is removed and PayPal rides the same path as every other native-UI method. The diff is just the test coverage proving it.

  • usePrimerPaymentMethod('PAYPAL')kind: 'nativeUi'; start()startNativeUI('PAYPAL') → the native Headless SDK opens the PayPal approval browser; outcome arrives on the shared paymentOutcome.
  • Available on both iOS and Android whenever PayPal is in the session — no platform guard (unlike Google/Apple Pay).
  • Renders as a standard method row (no dedicated native button).

Breaking change

usePayPal and the PayPalController / PayPalAvailabilityError types are removed — use usePrimerPaymentMethod('PAYPAL') and narrow on kind: 'nativeUi'.

Base

ov/feat/ACC-6923-apple-pay-component (#374).

Jira

ORC-6513

Test plan

  • yarn typecheck / yarn lint — clean
  • yarn jest — green; new usePrimerPaymentMethod PayPal cases (routes to nativeUi; available on both platforms when listed; start() configures/shows PAYPAL)
  • Manual Android — PayPal → approval browser → onCheckoutComplete (sandbox payment succeeded)
  • Manual iOS — PayPal → approval browser → onCheckoutComplete (sandbox payment succeeded)

@OnurVar OnurVar marked this pull request as ready for review June 16, 2026 15:25
@OnurVar OnurVar requested a review from a team as a code owner June 16, 2026 15:25
@github-actions

Copy link
Copy Markdown
Warnings
⚠️ This PR doesn't seem to contain any updated Unit Test for Swift 🤔. Please consider double checking it 🙏
Messages
📖 ✅ No SwiftLint violations found.

Generated by 🚫 Danger Swift against bad5150

@github-actions

Copy link
Copy Markdown
Fails
🚫

🙁 Found 1 ESLint violations.

🚫

src/Components/hooks/useCardNetworkDescriptor.ts#L18 - ** ESLint **: Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler or be explicitly marked as ignored with the void operator. - (@typescript-eslint/no-floating-promises)

Warnings
⚠️ Please assign someone aside from CODEOWNERS (@checkout-pci-reviewers) to review this PR.

Generated by 🚫 dangerJS against bad5150

@unblocked unblocked Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ No issues found

About Unblocked

Unblocked has been set up to automatically review your team's pull requests to identify genuine bugs and issues.

📖 Documentation — Learn more in our docs.

💬 Ask questions — Mention @unblocked to request a review or summary, or ask follow-up questions.

👍 Give feedback — React to comments with 👍 or 👎 to help us improve.

⚙️ Customize — Adjust settings in your preferences.

@github-actions

Copy link
Copy Markdown
Warnings
⚠️ This PR doesn't seem to contain any updated Unit Test for Kotlin 🤔. Please consider double checking it 🙏
Messages
📖 ✅ No detekt violations found.

Generated by 🚫 Danger Kotlin against bad5150

@OnurVar OnurVar self-assigned this Jun 16, 2026
@OnurVar OnurVar marked this pull request as draft June 16, 2026 21:32
@OnurVar OnurVar force-pushed the ov/feat/ACC-6923-apple-pay-component branch from 67e4ba4 to 0b10a55 Compare June 17, 2026 19:52
@OnurVar OnurVar force-pushed the ov/feat/ACC-6923-apple-pay-component branch from 0b10a55 to 163c626 Compare June 23, 2026 10:42
@OnurVar

OnurVar commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by the consolidated APM-unification stack — #392 (native-UI) → #393 (bank) → #394 (raw-data) → #395 (QR) → #396 (Klarna). Closing in favor of those; the new stack carries the same work plus the review fixes.

@OnurVar OnurVar closed this Jun 25, 2026
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