2.2 KiB
Phase 12 — Controlled checkout handoff and production-readiness gate
This is a safe first cutover increment, not a completed production migration. It introduces a unified SonarDesk purchase landing page in ABSDev and an explicit, allowlisted HTTPS handoff to the existing licensing checkout. It deliberately does NOT duplicate payment processing, webhooks, licence issuance, subscription mutations or customer ownership rules.
Install
Extract this archive into the existing ABSDEV project root, preserving Modules/Licensing. No root-level module copies are included.
composer dump-autoload
php artisan optimize:clear
php artisan route:list --path=sonardesk/buy
php artisan route:list --path=sonardesk/checkout
php artisan test --filter=SonarDeskCheckoutHandoffTest
Staging-only opt-in
Add to ABSDev .env (use the real existing hosted checkout URL):
SONARDESK_CHECKOUT_ENABLED=false
SONARDESK_CHECKOUT_URL=https://sonardesk.stage.absdev.net/buy
SONARDESK_CHECKOUT_ALLOWED_HOSTS=sonardesk.stage.absdev.net
After verifying the hosted path exists and the correct Paddle sandbox account is used, set SONARDESK_CHECKOUT_ENABLED=true in staging and clear configuration cache. Hostnames are exact-match allowlisted. Do not use production until separately approved.
Acceptance and cutover gates — NOT automatically satisfied
- Verify the checkout path and Paddle sandbox checkout end to end.
- Verify webhook signatures, idempotency, retry handling, licence issuance and delivery in the existing service.
- Verify customer portal email ownership, subscription visibility and activation limits.
- Verify signed Sparkle appcast and actual updater in a signed test build; merely serving RSS is insufficient.
- Test product downloads, checksums, platform restrictions, admin permissions and backup/restore.
- Address
npm auditfindings; perform Laravel tests, integration tests and manual UI checks. - Plan DB and file migration, dual-write/rollback, DNS and webhook destination cutover before switching billing authority.
- Keep legacy production licensing service and webhook endpoint unchanged until a separate validated cutover.
No production deployment or billing authority transfer is performed by this patch.