๐ New Features
๐ Redesigned Checkout Flow
The checkout process has been redesigned from 6 steps down to 4 โ cart review, shipping, payment, confirmation. The new layout reduces average checkout time by an estimated 35%, introduces a progress indicator, and supports inline address editing without page redirects.
New
Web
iOS
Android
JIRA: SE-EP-0094
๐ Apple Pay Integration
Apple Pay is now available on Safari (iOS 15+ and macOS 12+) via Stripe's PaymentRequestButton API. Customers with an Apple Pay-enabled device can complete checkout with Face ID / Touch ID without entering card details manually.
New
iOS Safari
macOS Safari
Stripe v3
๐ค Google Pay Integration
Google Pay is now available on Chrome (Android and Desktop). Customers can pay using saved Google Pay methods without entering card details. Payment is processed via Stripe. Google Pay button only renders when the API is available on the device/browser.
New
Android Chrome
Desktop Chrome
Stripe v3
๐ Wishlist Sharing
Users can now generate a shareable link to their wishlist โ valid for 30 days. Recipients can browse the wishlist and add items to their own cart without logging in. Sharing options include copy link, social media (Twitter, WhatsApp), and email. Share links respect pricing visibility rules and do not expose private pricing.
New
Web
iOS
Android
Security reviewed
๐ Bug Fixes
SE-BUG-101
Apple Pay: Payment captured but order status stuck in "Pending" โ Stripe webhook handler was not returning capture confirmation. Fixed: webhook response now correctly updates order status to "Confirmed".
Payment
SE-BUG-102
Firefox: Checkout step 2 crashed when adding a new shipping address โ null reference in address selector component. Fixed: null guard added.
Checkout
SE-BUG-103
Apple Pay: Declined payment incorrectly showed success screen. Fixed as part of SE-BUG-101 root cause fix.
Payment
SE-BUG-104
Security: Staff-discounted prices exposed via shared wishlist API response. Fixed: API response serialiser now strips staff_price field for unauthenticated/non-staff requests.
Wishlist / Security
SE-BUG-107
Checkout: Discount code SAVE20 incorrectly stacked with existing sale markdown prices. Fixed: coupon validation now checks sale flag before applying (BIZR-045 enforced).
Checkout
SE-BUG-108
Wishlist: Nav badge count not updating reactively. Fixed: Redux store mutation now dispatches correct action on wishlist update.
Wishlist
SE-BUG-110
Auth: OTP not delivered to email addresses containing "+" alias. Fixed: email value URL-encoded before passing to SendGrid API.
Authentication
SE-BUG-111
Email: Order confirmation email showed original cart quantity rather than final order quantity. Fixed: email template now reads from confirmed order object, not cart snapshot.
Email / Checkout
SE-BUG-112
Accessibility: Wishlist share modal close button missing aria-label. Fixed: aria-label="Close share modal" added.
Wishlist / A11y
SE-BUG-113
UI: Footer copyright year displayed 2024. Fixed: year now dynamically derived from server timestamp.
UI / Global
โ Known Issues
SE-BUG-106
Google Pay button overflows container on screens narrower than 360px (Android)
Affected devices: ~2.1% of Android sessions (primarily budget phones with 320โ359px viewport). Workaround: users can scroll horizontally to access the Google Pay button, or use card payment. Fix targeted for v2.3.1 hotfix within 72 hours of release.
SE-BUG-114
Product images on shared wishlist page missing alt text attributes
Accessibility issue only. No functional impact. Screen readers skip images. Deferred to v2.3.1. Tracked in SE-EP-0098.
๐ Deployment Checklist
- โ Database migrations (2 migrations: wishlist_share_links table, order_payment_source column) reviewed and rolled back tested.
- โ Stripe API keys rotated for production environment. Webhook endpoints updated in Stripe dashboard.
- โ Apple Pay domain verification file placed at /.well-known/apple-developer-merchantid-domain-association.
- โ Google Pay merchant ID registered and approved.
- โ Feature flags: checkout_v2, apple_pay_enabled, google_pay_enabled set to enabled in production config.
- โ CDN cache purge for /checkout/* and /wishlist/* routes scheduled post-deploy.
- โ Rollback plan documented: revert to v2.2.1 database snapshot available. Estimated rollback time: 12 minutes.
- โ Post-deploy smoke test suite configured to run automatically against production.
- โณ SE-BUG-105 (cancel split-shipment orders 500) โ retest sign-off pending from Dev Lead prior to deploy.
- โณ On-call rotation confirmed for 02โ04 May 2025 (Tier 1: Ahmed A., Tier 2: Zeeshan M.).
๐ Release Sign-Off
Release approved by the following stakeholders. Signature confirms review of this document and agreement that all release conditions are met.
| Role | Name | Signature | Date | Decision |
| QA Lead | Zeeshan Mustafa | | 29 Apr 2025 | GO |
| Product Owner | Sarah Mitchell | | 29 Apr 2025 | GO |
| Engineering Lead | Ahmed Al-Farsi | | 29 Apr 2025 | GO |
| Project Manager | Lena Kovaฤ | | 30 Apr 2025 | GO |