Skip to content

Fix(Confirm Order): handle 3DS failure

What does this MR do and why?

Fix(Confirm Order): handle 3DS failure

This MR adds error handling for 3DS flow failures.

Related issues:

  1. https://gitlab.com/gitlab-org/gitlab/-/issues/455267+
  2. https://gitlab.com/gitlab-org/gitlab/-/issues/460451+

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
Screenshot_2024-05-07_at_15.45.45 Screenshot_2024-05-07_at_15.28.28
Screenshot_2024-05-07_at_15.45.16 Screenshot_2024-05-07_at_15.35.25

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  1. Ensure you have customers.gitlab.com set up and working: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/main/doc/setup/installation_steps.md?ref_type=heads
  2. Enable the <code data-sourcepos="46:17-46:44">gitlab_purchase_3ds_payments</code> for you local customers.gitlab.com environment (you can find your user id in the rails console by running User.find_by_username('root').id)
  3. Add the key zuora_paid_signup_flow_with_3ds_payment_page_id to the secret.yml file by copying it from here (documentation update and announcement coming in https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/9171 so that we can enable the feature flag for customers-development once the key is present for everyone).
  4. Navigate to purchase a subscription: http://localhost:3000/-/subscriptions/new?plan_id=2c92a0ff76f0d5250176f2f8c86f305a (or to a group with Compute minutes or storage, navigate to "Settings > Usage quotas" and click "Buy storage" or "Buy minutes")
  5. Go through the flow and use the "always authenticate" card from the stripe test cards and submit the card (this will trigger the 3DS flow)
  6. Scroll down and click to fail in the 3D secure flow
  7. See the 3DS failed error displayed

Related to #459980

Edited by Michael Lunøe

Merge request reports