Skip to content

feat: add Apple Pay vault flow for editing payment method#75

Open
iisa wants to merge 7 commits intomainfrom
claude/apple-pay-integration
Open

feat: add Apple Pay vault flow for editing payment method#75
iisa wants to merge 7 commits intomainfrom
claude/apple-pay-integration

Conversation

@iisa
Copy link
Copy Markdown
Contributor

@iisa iisa commented Mar 26, 2026

  • Add applePayEmail field to BtData
  • Handle Apple Pay branch in setNewPaymentMethod mapping details.email to applePayEmail
  • Add displayApplePay property and Pay with Apple Pay button to braintree-manager
  • Add startApplePayPayment() managing ApplePaySession directly for nonce extraction
  • Dispatch ApplePayAuthorized/ApplePayError events
  • Wire ApplePayAuthorized/ApplePayError handlers in payment-method
  • Hide submit button for Apple Pay (session sheet is the confirmation)
  • Update paymentMethodDetail getter to handle Apple Pay view mode
  • Update demo to show Apple Pay email and nonce on UpdatePaymentMethod
  • Add unit tests for Apple Pay and Google Pay setNewPaymentMethod branches
  • Add integration tests for Apple Pay selection and authorization flow

iisa and others added 7 commits March 25, 2026 17:41
- Add PayPal vault button rendering in ia-mgc-braintree-manager
- Wire paypalBlockerSelected to set PaymentProvider.PayPal
- Auto-dispatch UpdatePaymentMethod on PayPal authorization (no submit button needed)
- Fix setNewPaymentMethod() to correctly set paypalEmail, clear card fields, update paymentMethodType
- Fix 'Paypal' casing in plans.ts to match PaymentProvider.PayPal
- Show PayPal email in payment method view mode
- Hide CC fields via CSS when PayPal is selected
- Add PayPalVaultError event with UI error message on SDK failure
- Update demo to show PayPal nonce and email on UpdatePaymentMethod
- Add integration tests for PayPal selection and UpdatePaymentMethod dispatch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix import order for PaymentProvider in plan.ts and plans.ts
- Add file-level no-console disable in braintree-manager.ts
- Add console.log to empty PayPal delegate methods
- Add eslint-disable-next-line for console.log in payment-method.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add username field to BTPaymentMethodUpdate details
- Handle Venmo branch in setNewPaymentMethod mapping details.username to venmoUsername
- Add displayVenmo property and Pay with Venmo button to braintree-manager
- Add startVenmoPayment() with VenmoAuthorized/VenmoError event dispatch
- Wire VenmoAuthorized/VenmoError handlers in payment-method
- Hide submit button for Venmo (vault button is the confirmation)
- Extract paymentMethodDetail getter to handle PayPal, Venmo, and card view mode
- Update demo to show Venmo username and nonce on UpdatePaymentMethod

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add googlePayEmail field to BtData
- Handle Google Pay branch in setNewPaymentMethod mapping details.email to googlePayEmail
- Add displayGooglePay property and Pay with Google Pay button to braintree-manager
- Add startGooglePayPayment() using createPaymentDataRequest/loadPaymentData/parseResponse
- Dispatch GooglePayAuthorized/GooglePayError events
- Wire GooglePayAuthorized/GooglePayError handlers in payment-method
- Hide submit button for Google Pay (sheet is the confirmation)
- Update paymentMethodDetail getter to handle Google Pay view mode
- Update demo to show Google Pay email and nonce on UpdatePaymentMethod

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add plan.test.ts: setNewPaymentMethod sets googlePayEmail, clears card fields, sets paymentMethodType
- Add integration test: selecting GooglePay sets selectedPaymentProvider
- Add integration test: GooglePayAuthorized dispatches UpdatePaymentMethod with correct provider and email

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add applePayEmail field to BtData
- Handle Apple Pay branch in setNewPaymentMethod mapping details.email to applePayEmail
- Add displayApplePay property and Pay with Apple Pay button to braintree-manager
- Add startApplePayPayment() managing ApplePaySession directly for nonce extraction
- Dispatch ApplePayAuthorized/ApplePayError events
- Wire ApplePayAuthorized/ApplePayError handlers in payment-method
- Hide submit button for Apple Pay (session sheet is the confirmation)
- Update paymentMethodDetail getter to handle Apple Pay view mode
- Update demo to show Apple Pay email and nonce on UpdatePaymentMethod
- Add unit tests for Apple Pay and Google Pay setNewPaymentMethod branches
- Add integration tests for Apple Pay selection and authorization flow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@iisa iisa changed the base branch from claude/google-pay-integration to main March 26, 2026 02:10
@github-actions
Copy link
Copy Markdown

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://internetarchive.github.io/iaux-monthly-giving-circle/pr/pr-75/

Built to branch gh-pages at 2026-03-26 02:10 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

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