Cutover Playbook — Upmind → Hostwebo Billing V2
Procedura passo-passo per la migrazione progressiva da Upmind al sistema V2. Fasi pensate per essere reversibili in ogni momento.
Filosofia
- Mai un big-bang. Si passa per modalità intermedie testate.
- Rollback sempre disponibile. Click → “Solo Upmind” annulla qualsiasi cambio.
- Tutto loggato. Ogni transizione modalità è nel log + audit.
- Cliente non si accorge di nulla quando il cutover è ben fatto.
Stato attuale del sistema
Verifica via wp-admin → Hostwebo Billing → Cutover:
- Modalità attuale
- Pre-flight checklist (14 check programmatici)
- Lista candidati migrazione
Le 5 modalità — quando usarle
Procedura standard (1-3 mesi)
Fase 1: Setup tecnico (0-7 giorni)
Goal: ottenere TUTTI i pre-flight check PASS prima di toccare la modalità.
- Impostazioni → Compila dati legali completi
- Ragione sociale, P.IVA, C.F., REA, indirizzo, PEC, codice SDI, IBAN
- Crea account Stripe live + recupera
sk_live_…+pk_live_…
- Crea webhook su https://dashboard.stripe.com/webhooks
- URL:
https://www.hostwebo.it/wp-json/hostwebo-billing/v1/webhooks/stripe - Eventi:
checkout.session.completed,invoice.paid,invoice.payment_failed,customer.subscription.created,customer.subscription.updated,customer.subscription.deleted - Copia
whsec_…→ Impostazioni
- Crea app PayPal live + recupera credentials
- Crea webhook su PayPal Developer Dashboard
- URL:
https://www.hostwebo.it/wp-json/hostwebo-billing/v1/webhooks/paypal - Eventi:
PAYMENT.CAPTURE.COMPLETED,PAYMENT.SALE.COMPLETED,BILLING.SUBSCRIPTION.* - Copia
WH-…→ Impostazioni
- Piani → Importa dal tema → 12 piani caricati
- Piani → “Sync to Stripe (all)” → tutti i Products/Prices creati
- Piani → “Sync to PayPal (all)” → tutti i Products/Billing Plans creati
- Verifica Plesk service plan mappati per ogni piano hosting
- Vai su Cutover → checklist deve essere tutti PASS (warning OK)
Rollback se serve: semplicemente lascia modalità “Solo Upmind”. Niente è cambiato per i clienti.
Fase 2: Beta testing parallelo (7-21 giorni)
Goal: validare il flow end-to-end con casi reali.
- Cutover page → Promuovi a “Parallelo” (un click)
- Impostazioni → Aggiungi tuo user_id alla lista beta tester
- Esegui ordine test reale (carta vera, importo ridotto se possibile)
- Frontend cliente →
/cloud-eco/→ click “Acquista” - Sei rediretto a
/v2-checkout/(non Upmind) - Compila billing + dominio → paga con Stripe (test mode = ok per inizio)
- Verifica
/v2-grazie/timeline si completa - Verifica fattura su
/v2-fattura/?numero=2026/0001 - Verifica Plesk subscription creato
- Verifica email benvenuto ricevuta
- Aggiungi 2-3 amici/clienti fidati alla beta list → ripetere
- Monitor:
Hostwebo AI → Audit Logfiltra perhwbi_*→ cerca errori - Run cutover checks settimanalmente → tutti devono restare PASS
Rollback se serve: Cutover → “Solo Upmind”. Gli ordini V2 esistenti restano in DB ma il flow checkout torna a Upmind.
Fase 3: V2 per nuovi (21-60 giorni)
Goal: tutti i nuovi clienti vanno su V2. Esistenti restano stabili.
- PRIMA di cambiare modalità: Cutover page → click “⚡ Marca tutti come legacy Upmind”
- Imposta
_upmind_account_iduser_meta su tutti gli utenti con Plesk client_id mappato - Idempotente. Audit
customer_bulk_upmind_marked.
- Cutover → Promuovi a “V2 per nuovi”
- Da ora:
- Nuovi visitatori che fanno checkout → V2
- Clienti esistenti che entrano in dashboard → vedono Upmind data
- Monitor 30+ giorni che:
- Nuovi clienti completano onboarding senza problemi
- Provisioning Plesk funziona per ogni nuovo ordine
- Webhook Stripe/PayPal arrivano e processano
- Fatture emesse + numerazione corretta
- Audit log review settimanale
Rollback se serve: Cutover → “Solo Upmind”. Restano tutti i dati. Solo il flow per nuovi clienti torna a Upmind.
Fase 4: Migrazione clienti esistenti (60-90 giorni)
Goal: spostare progressivamente ogni cliente esistente da Upmind a V2.
Per ora questa fase è manuale per cliente. La proceduratipica:
- Per ogni cliente con subscription Upmind attiva:
- Contattali via email annunciando la migrazione (template fornito separatamente)
- Genera invoice manuale finale Upmind
- Crea nuova subscription V2 con il loro nuovo metodo di pagamento (Stripe o PayPal)
- Una volta confermata la prima fattura V2 → cancella Upmind subscription
- Aggiorna
_upmind_account_iduser_meta a stringa vuota (così V2 li prende) - Strumento dedicato (Phase J2 — futuro): wizard customer-side per auto-migrazione
Quando hai migrato ≥80% clienti, vai a Fase 5.
Fase 5: Cutover totale (Day 90+)
Pre-requisiti:
- ≥5 ordini V2 in stato paid/active
- Tutti i check Cutover devono essere PASS (no blocker)
- Zero errori critici in audit log negli ultimi 7 giorni
- Decisione consapevole: dopo questo passo Upmind è OFF
Passi:
- Cutover → Promuovi a “V2 cutover totale”
- Sistema imposta automaticamente
hwbi_upmind_enabled = false - Tutti i checkout vanno a V2
- Verifica frontend che pagine prezzi mostrino “Acquista” → /v2-checkout/
- Verifica dashboard cliente che mostri tab “Fatturazione V2” come primaria
- Monitor 7 giorni che non ci siano regressioni
- Una volta sereno: vedi Fase 6
Fase 6: Decomissione Upmind (Day 97+)
Pre-requisiti: 7+ giorni in V2 only senza problemi.
- Backup completo del DB (Plesk → Database → Backup)
- Plugin Upmind:
- Deattivare dal wp-admin
- NON cancellare ancora (mantieni per ~30gg per audit)
- Cancella subscription Upmind dal loro pannello
- Risparmio: €25/mese × 12 = €300/anno reinvestibili in altro
- Dopo 30 giorni senza problemi → cancella plugin Upmind definitivamente
Edge cases
Cliente paga con Upmind + ha problemi → rollback urgente
- Cutover → “Solo Upmind” (1 click, 5 secondi)
- Cliente è subito sul flow legacy
- Investiga via audit log
V2 cutover totale ma scopri un bug critico → rollback
- Cutover → “Solo Upmind”
- I clienti che hanno già ordini V2 attivi: i loro rinnovi continuano a essere processati dai webhook (V2 NON deve essere disabilitata completamente, solo la modalità è solo_upmind ma il codice continua a girare per webhook in arrivo)
- Importante: NON disattivare il plugin
hostwebo-billing, solo cambiare la modalità
Pagamento webhook arriva quando il sistema è in “Solo Upmind”
- Il
WebhookControlleraccetta sempre eventi (signature valida) - Anche se BillingMode è
upmind_only, eventuali ordini V2 già paid continuano a essere processati - È SICURO
Riferimenti rapidi
Questa guida ti è stata utile?
Il tuo feedback ci aiuta a tenere la documentazione utile e aggiornata.
Continua a leggere
Stripe Integration (Phase B)
Stripe Integration (Phase B) # Componenti # HWBillingStripeStripeClient # Wrapper REST minimale (no Composer). Implementa solo gli endpoint usati: Products: product_create, product_update, product_getPrices: price_create…
Hostwebo Billing — Database Schema
Hostwebo Billing — Database Schema # Tutte le tabelle prefisso wp_hwbi_ (o {wpdb->prefix}hwbi_). Schema completo creato al primo activate via Installer::install_schema(). Tabelle # wp_hwbi_plans # Catalogo prodotti (h…
Plesk customer panel lockout — guida operativa admin
Plesk customer panel lockout — guida operativa admin # Obiettivo: i clienti non devono mai poter loggare nel pannello Plesk diretto. Tutta l’amministrazione hosting passa dalla dashboard Hostwebo (file manager, ema…
PROGRESS — Hostwebo Billing roadmap
PROGRESS — Hostwebo Billing roadmap Snapshot dello stato di avanzamento della roadmap di pulizia 2026-05 decisa dopo l’audit iniziale del backend hwbi. Aggiornare questo file alla fine di ogni sessione di lavoro co…