Fix(Purchase addon): handle errors in the frontend
requested to merge 455267-mlunoe-handle-load-and-payment-submission-errors-in-shared-zuora-component-authentication-required-3ds into master
What does this MR do and why?
This MR implements handling for errors in the frontend and uses that to handle the authentication required error from Stripe that is a result of the 3DS authentication failing.
Changelog: changed EE: true
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After (3DS) | After ("unknown" error) |
---|---|---|
![]() |
![]() |
![]() |
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
- Ensure you have CustomersDot set up and working: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/main/doc/setup/installation_steps.md?ref_type=heads
- Navigate to purchase storage (or another add on pack): http://localhost:3000/-/subscriptions/buy_storage?selected_group=33
- Go through the flow and use the "always authenticate" card from the stripe test cards (this will trigger the 3DS error).
- Submit the card form and see the error handled in the frontend
- Update the card number to just be one digit, e.g. 1.
- Submit the card form again and see the "unknown" error handled in the frontend gracefully
Related to #455267