# TechShop Commerce OS V7 — Premium Shop & Checkout Release

V7 retains the V6/V5 commerce features and adds the September 9 Shop/mobile design specification and payment infrastructure repair.

## New in V7

- Premium Shop layout based on `docs/V7_SHOP_DESIGN_REFERENCE.png`, with desktop filters and mobile filter drawer.
- Fixed mobile bottom navigation: Home, Shop, glowing central TechCare, Cart and Account/Login.
- Floating WhatsApp guest/customer support; number can be set by Admin in Payment Control Centre or by environment fallback.
- Default VAT is 0% for fresh databases; `php bin/upgrade-v7.php` sets an existing installation's current default VAT to 0 once. Admin may change it afterwards.
- Featured-product descriptions are visible and the featured set is deterministically reshuffled every 10 minutes.
- Most-viewed product carousel appears beside the homepage hero using real product-view analytics.
- Trending Searches is a vertical desktop rail and mobile bottom drawer. If there is no search history it uses random active catalogue products and refreshes every 10 minutes.
- Product image viewer supports zoom, wheel zoom, left/right rotation and pointer-driven X/Y tilt.
- Customer Voice workspace lets Admin import genuine customer feedback in bulk using `Name | Rating | Comment` or `Name | Rating | Title | Comment`, with optional images. Missing photos render initials. Imported feedback is kept distinct from verified-purchase reviews.
- Payment settings infrastructure self-creates `payment_gateway_settings` if missing, eliminating the reported checkout fatal error.
- Paystack, Monnify and Flutterwave remain configurable from Admin.
- Generic configurable BNPL REST adapter added for an approved merchant/provider, including endpoint paths, response mappings, HMAC webhook settings and order min/max controls.
- Pay on Delivery is enforced only when the payable cart total is **strictly below ₦100,000** by default. Admin can change the threshold.
- Shop link now opens `/search`, the complete Shop page.

## Existing installation

Back up the database, `.env` and `public/uploads`, replace application files, restore `.env` and uploads, then run:

```powershell
composer install --no-dev --optimize-autoloader
php bin\upgrade-v7.php
php bin\validate-v7.php
php bin\diagnose-v7.php
```

`upgrade-v7.php` is additive and does not delete existing users, products or orders.

## Review integrity

The bulk Customer Voice importer is for customer feedback TechShop actually received. It does not mark imported feedback as a verified purchase unless an actual order-verification workflow supports that label.

## External production dependencies

Real-money Paystack/Monnify/Flutterwave operation requires the merchant's own approved credentials and correctly registered callback/webhook URLs. BNPL also requires an approved provider account and its exact API contract. Passkeys/PHPMailer require Composer dependencies; image similarity search requires PHP GD.
