imperfectandcompany / Imperfect-Gamers-Site-Store

Our robust community site integrating Steam for enhanced user interactions and data management, powered by Remix with Tailwind CSS for optimistic, responsive UI. Features CI/CD with GitHub Actions and Docker for seamless deployment and maintenance.
https://store.imperfectgamers.org/
Other
0 stars 0 forks source link

Comprehensive Improvements to Checkout, UI Responsiveness, and Error Management #85

Closed cheesea3 closed 1 month ago

cheesea3 commented 1 month ago

This issue consolidates various enhancements and fixes needed across our platform to improve user experience, particularly for mobile users, and enhance the robustness of our checkout and authentication flows.

Description:

1. UI Adjustments and Mobile Experience Improvements:

2. Checkout Flow and Popup Management:

3. Error Handling and Redirect Issues:

4. Event Handling:

5. Authentication and Security Enhancements:

6. General UI Enhancements:

Goals:

Expected Outcomes:

These enhancements are critical to ensuring our platform remains competitive and continues to meet the expectations of our users, particularly those accessing our services via mobile devices.

cheesea3 commented 1 month ago

Checklist:

1. UI Adjustments and Mobile Experience Improvements:

2. Checkout Flow and Popup Management:

3. Error Handling and Redirect Issues:

4. Event Handling:

5. Authorization and Security Enhancements:

6. General UI Enhancements:

cheesea3 commented 1 month ago

TODO: Discuss with Tebex the potential need for an error_returnURL option in cases where the basket has already been paid. Currently shows "{Title: Something went wrong, Subtitle: The basket with that identifier has already been paid for"} to the customer on external checkout. Refer to: https://docs.tebex.io/developers/checkout-api/endpoints#baskets complete_auto_redirect: boolean - If true, the user will be redirected to the complete_returnURL if the basket has been paid for. Current complete_auto_redirect support: return_url, complete_url

Proposed: error_url e.g., body = {complete_auto_redirect: true, error_url: "https://store.imperfectgamers.org/error-notification"} error_url: string - The URL to redirect to if the basket has already been paid for.

Flow: If the basket was created with complete_auto_redirect set to true...

  1. Check if the basket has already been paid for.
  2. If not, redirect to the complete_returnURL.
  3. If yes, redirect to the error_url to handle the situation on customer's store.

Pending investigation: IG team-member provided feedback: "I assume 404 at the end of payment is okay?" > "on the tebex page". Context: Tebex page referred: checkout.tebex.io. (Appears to be Laravel's default 404 error page) Confirm if this is reproducible and, if so, determine the impact on the user experience and the cause of the error.

Additional comments: Confirm if cancel_url is missed or undocumented within developer documentation. Discovery confirmed that the cancel_url is settable in the body of the request. Confirmed that the cancel_url is returned in the response with the complete_auto_redirect set to true (documented in developer docs). Refer to: https://docs.tebex.io/developers/checkout-api/endpoints#baskets-ident-packages

cheesea3 commented 1 month ago

task 6 and and task 3b have been deferred to the next issue.