Testing Guide — Hostwebo Billing V2
Procedura concreta per fare il primo ordine test end-to-end sul sistema V2. Tempo richiesto: ~30 minuti la prima volta, 5 minuti le volte successive.
Cosa è già pronto (v0.10.0)
Cosa NON è ancora completato
Pre-requisiti (da fare UNA SOLA VOLTA)
Step 1 — Apri Stripe Dashboard in modalità Test
- Vai su https://dashboard.stripe.com/
- In alto a sinistra abilita il toggle “Test mode” (deve diventare arancione)
- Developers → API keys → copia:
- “Publishable key” (
pk_test_...) - “Secret key” (
sk_test_...)
Step 2 — Crea il webhook Stripe TEST
- Developers → Webhooks → Add endpoint
- URL endpoint: vai prima su
wp-admin → Hostwebo Billing → 🧪 Test Modee copia l’URL Stripe (es.https://www.hostwebo.it/wp-json/hostwebo-billing/v1/webhooks/stripe) - Eventi da abilitare:
checkout.session.completedinvoice.paidinvoice.payment_failedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deleted
- Salva → ti mostra “Signing secret” (
whsec_...). COPIALA.
Step 3 — Inserisci le chiavi in WordPress
wp-admin → Hostwebo Billing → Impostazioni- Sezione Stripe:
- Publishable key → incolla
pk_test_... - Secret key → incolla
sk_test_... - Webhook signing secret → incolla
whsec_...
- Sezione Dati fornitore (per fatture):
- Ragione sociale, P.IVA, C.F., REA, indirizzo, PEC, codice SDI, IBAN, telefono, email
- IMPORTANTE: senza questi dati le fatture non si generano
- Salva
Step 4 — Importa e sincronizza i piani
wp-admin → Hostwebo Billing → Piani- Click “Importa dal tema” (se non già fatto) → 12 piani caricati
- Click “Sync to Stripe (all)” → tutti i piani creati come Products+Prices in Stripe
- Verifica in Stripe Dashboard (in test mode) → Products: dovresti vedere “Hostwebo Cloud Eco S”, “M”, “L”, ecc.
Step 5 — Verifica pre-flight
wp-admin → Hostwebo Billing → Cutover- Tutti i check devono essere PASS (warnings OK, fail NO)
- Se qualcosa è
fail: segui le istruzioni mostrate
Step 6 — Aggiungi te stesso come beta tester
wp-admin → Hostwebo Billing → Impostazioni- Scorri a “Modalità sistema”
- Beta users (CSV di user_id): inserisci il tuo user_id (es.
1) - Modalità runtime: cambia da
upmind_onlyaparallel - Salva
Adesso il TUO utente WordPress vede V2, mentre tutti gli altri continuano a vedere Upmind. Zero rischio sui clienti reali.
TEST 1 — Ordine reale Stripe (test card)
Esegui il test
- Logout WP (per simulare un cliente vero) o usa una finestra in incognito loggata col tuo account
- Vai su
https://www.hostwebo.it/cloud-eco/ - Click “Acquista ora” su un piano (es. Cloud Eco S)
- Verifica: vieni rediretto a
/v2-checkout/?plan=...(NON ad Upmind). Se vai su Upmind, il tuo user non è nella beta list. Torna indietro e ricontrolla Step 6. - Compila i campi:
- Dominio: usa un dominio “ad-hoc” che hai a disposizione (es.
test-stripe-001.tuodominio.com). Non usare un dominio reale critico: il provisioning lo creerà davvero in Plesk. - Dati fatturazione: nome, cognome, email, indirizzo, città, CAP, P.IVA (se vuoi testare B2B)
- Click “Procedi al pagamento” → ti rimanda a Stripe Checkout
- Carta test:
4242 4242 4242 4242· scadenza qualsiasi futura (es.12/30) · CVC123· ZIP12345 - Click “Pay”
Cosa deve succedere (in <30 secondi)
- Stripe accetta il pagamento (è una carta test, nessun addebito vero)
- Stripe chiama il webhook
/wp-json/hostwebo-billing/v1/webhooks/stripe - Vieni rediretto a
/v2-grazie/?order_id=... - La pagina mostra una timeline live che si auto-aggiorna:
- ✅ Pagamento ricevuto
- ✅ Ordine confermato
- ⏳ Provisioning hosting (1-2 minuti)
- ⏳ Email di benvenuto
- Dopo ~1 minuto, il provisioning Plesk completa e il dominio è online
- Ricevi email di benvenuto con istruzioni
- Ricevi email con fattura (o link alla fattura HTML)
Cosa verificare
Su wp-admin → Hostwebo Billing → 🧪 Test Mode controlla in ordine:
- [ ] Ordini V2 (24h): numero a 1 (o aumentato)
- [ ] Ultimi 10 ordini: il tuo ordine in stato
paid, gatewaystripe - [ ] Ultimi 10 pagamenti/webhook: una riga
stripe, riferimentocs_test_..., statosucceeded - [ ] Provisioning jobs: stato
completedper il jobcreate_plesk_subscription - [ ] Audit log: deve contenere
hwbi_stripe_webhook_received,hwbi_order_paid,hwbi_provisioning_completed,hwbi_welcome_email_sent,hwbi_invoice_generated
Apri Plesk (https://srv1.hostwebo.cloud:8443):
- [ ] Il dominio che hai usato è creato sotto il tuo account cliente
- [ ] Il piano servizio è quello giusto
Apri wp-admin → Hostwebo Billing → Fatture:
- [ ] Una nuova fattura
2026/0001(o sequenziale) è elencata - [ ] Click “Visualizza” → si apre la fattura HTML stampabile
- [ ] Verifica che tutti i dati siano corretti (cliente, fornitore, importi, IVA 22%)
Se qualcosa non funziona
TEST 2 — Pagamento fallito (test dunning)
Stesso flow del TEST 1, ma usa la carta 4000 0000 0000 0341. Stripe accetterà il primo pagamento ma il prossimo addebito ricorrente fallirà.
Verifica:
- Subscription creata correttamente con stato
active - Dopo ~24h, Stripe simula un fallimento → webhook
invoice.payment_failed wp-admin → Hostwebo Billing → Dunningmostra la subscription inpast_due- Reminder #1 viene inviato immediatamente (controlla email)
Per accelerare il test del dunning senza aspettare:
wp-admin → Hostwebo Billing → Dunning- Click “▶ Esegui dunning_check ora”
- Forza l’avanzamento: il cron processa tutte le subscription in past_due
TEST 3 — Rifiuto pagamento
Stesso flow del TEST 1, ma usa la carta 4000 0000 0000 9995 (insufficient funds).
Verifica:
- Stripe Checkout mostra errore
- Nessun ordine viene creato in DB
- L’utente può riprovare con una carta valida
TEST 4 — PayPal sandbox
- Vai su https://developer.paypal.com/dashboard/ → My Apps & Credentials → Sandbox tab
- Crea una nuova app (se non già fatta) → copia Client ID + Secret
- Sandbox Accounts → crea un account “Personal” → ricevi email + password fake
- In WordPress → Impostazioni → PayPal:
- Mode:
sandbox - Client ID: incolla
- Secret: incolla
- Webhook ID: lo crei dopo
- PayPal Developer → la tua app → Webhooks → Add webhook:
- URL: copia dall’admin Test Mode page (
/wp-json/hostwebo-billing/v1/webhooks/paypal) - Eventi:
PAYMENT.CAPTURE.COMPLETED,BILLING.SUBSCRIPTION.ACTIVATED,BILLING.SUBSCRIPTION.CANCELLED,BILLING.SUBSCRIPTION.PAYMENT.FAILED - Copia il Webhook ID risultante in Impostazioni
- Esegui ordine come TEST 1 ma seleziona PayPal in checkout
- Login con l’account sandbox creato sopra
- Verifica come TEST 1
TEST 5 — Affiliate tracking
- Genera un link affiliato:
- Loggati come cliente nella dashboard
- Tab “Affiliazione” → copia il tuo link (es.
https://www.hostwebo.it/?ref=AFF123)
- In incognito, apri il link → vai sulla landing
- Verifica che il cookie
hwbi_affsia settato (F12 → Application → Cookies) - Compra un piano (TEST 1)
- Verifica:
wp-admin → Hostwebo Billing → Affiliazione → Commissioni: nuova commissione pending- L’importo deve essere la % configurata sul piano
Cleanup dopo i test
Resettare dati test (OPZIONALE)
I dati test rimangono in DB. Se vuoi “pulire”:
-- ATTENZIONE: cancella ordini test in DB (non in Stripe). Solo se sei sicuro.
DELETE FROM wp_hwbi_provisioning_jobs WHERE created_at > '2026-05-13';
DELETE FROM wp_hwbi_payments WHERE created_at > '2026-05-13';
DELETE FROM wp_hwbi_invoices WHERE created_at > '2026-05-13';
DELETE FROM wp_hwbi_order_items WHERE order_id IN (SELECT id FROM wp_hwbi_orders WHERE created_at > '2026-05-13');
DELETE FROM wp_hwbi_subscriptions WHERE created_at > '2026-05-13';
DELETE FROM wp_hwbi_orders WHERE created_at > '2026-05-13';
I clienti Plesk test vanno cancellati manualmente dal pannello Plesk.
Tornare a “Solo Upmind”
Quando hai finito di testare:
wp-admin → Hostwebo Billing → Cutover- Click “🔵 Solo Upmind”
- I clienti reali continuano a vedere Upmind, V2 va in standby
Checklist pronta per produzione
Una volta che TUTTI questi test passano:
- [ ] TEST 1 (Stripe test card) → ordine paid + provisioning + fattura + email
- [ ] TEST 2 (Stripe dunning) → reminder inviato
- [ ] TEST 3 (Stripe rifiuto) → nessun side effect
- [ ] TEST 4 (PayPal sandbox) → flow completo come TEST 1
- [ ] TEST 5 (Affiliate) → commissione creata
- [ ] Pre-flight checklist tutti PASS (no fail)
- [ ] Audit log nessun errore critico
- [ ] Email arrivate (controlla SPF/DKIM se Gmail/Outlook le mette in spam)
- [ ] Plesk domain creato correttamente
Quando tutto passa → puoi:
- Mettere chiavi live in Impostazioni (cambia
sk_test_consk_live_) - Webhook live su Stripe Dashboard (modalità live, NUOVO endpoint, NUOVO whsec_)
- PayPal in live mode in Impostazioni
- Promuovere modalità da
parallel→v2_new(V2 per nuovi clienti) - Seguire il
docs/cutover-playbook.mdper la migrazione progressiva
Questa guida ti è stata utile?
Il tuo feedback ci aiuta a tenere la documentazione utile e aggiornata.
Continua a leggere
DASHBOARD CLIENTE — AUDIT COMPLETO
DASHBOARD CLIENTE — AUDIT COMPLETO # Data: 2026-05-13 Sessione: Step A della trasformazione dashboard (Fase 11) Obiettivo: mappare lo stato attuale per pianificare Step B (foundation) e Step C (hub-by-hub). 📊 1. INVENTAR…
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…