Vai al contenuto
Contenuto principale
plugin-billing

Testing Guide — Hostwebo Billing V2

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) # Co…

Aggiornato 18 Mag 2026 min di lettura

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)

ComponenteStatoNote
Stripe Checkout + webhook✅ DONETest + live mode auto-detect dalla chiave
PayPal Orders v2 + Subscriptions✅ DONESandbox + live esplicito
Provisioning Plesk✅ DONECrea dominio reale via Plesk API
Invoice generator (HTML + XML FatturaPA)✅ DONEFattura HTML stampabile + XML salvato per SDI
Dunning (rinnovi falliti)✅ DONE4 step: reminder + sospensione + cancellazione
Dashboard cliente tab Fatturazione V2✅ DONEVisibile dopo attivazione V2
Affiliate program✅ DONETracking cookie + commissioni automatiche
Domini Namecheap✅ DONEFunziona dopo configurazione API
Pre-flight checklist (14 check)✅ DONEwp-admin → Cutover
Test Mode page✅ DONEwp-admin → Test Mode

Cosa NON è ancora completato

ComponenteStatoImpatto sul testing
PDF fattura server-side❌ MISSINGWorkaround: la pagina /v2-fattura/?numero=... ha @media print → Stampa → Salva come PDF dal browser
Trasmissione SDI Aruba (SOAP)⏳ PARTIALXML viene generato e salvato su disco ma NON inviato all’Agenzia Entrate. Per B2C non blocca il test. Per B2B serve trasmissione manuale tramite portale Aruba (per ora)
Conclusione: puoi testare TUTTO il flow tranne la trasmissione automatica SDI. La fattura HTML+XML è generata correttamente.


Pre-requisiti (da fare UNA SOLA VOLTA)

Step 1 — Apri Stripe Dashboard in modalità Test

  1. Vai su https://dashboard.stripe.com/
  2. In alto a sinistra abilita il toggle “Test mode” (deve diventare arancione)
  3. Developers → API keys → copia:
  • “Publishable key” (pk_test_...)
  • “Secret key” (sk_test_...)

Step 2 — Crea il webhook Stripe TEST

  1. Developers → Webhooks → Add endpoint
  2. URL endpoint: vai prima su wp-admin → Hostwebo Billing → 🧪 Test Mode e copia l’URL Stripe (es. https://www.hostwebo.it/wp-json/hostwebo-billing/v1/webhooks/stripe)
  3. Eventi da abilitare:
  • checkout.session.completed
  • invoice.paid
  • invoice.payment_failed
  • customer.subscription.created
  • customer.subscription.updated
  • customer.subscription.deleted
  1. Salva → ti mostra “Signing secret” (whsec_...). COPIALA.

Step 3 — Inserisci le chiavi in WordPress

  1. wp-admin → Hostwebo Billing → Impostazioni
  2. Sezione Stripe:
  • Publishable key → incolla pk_test_...
  • Secret key → incolla sk_test_...
  • Webhook signing secret → incolla whsec_...
  1. 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
  1. Salva

Step 4 — Importa e sincronizza i piani

  1. wp-admin → Hostwebo Billing → Piani
  2. Click “Importa dal tema” (se non già fatto) → 12 piani caricati
  3. Click “Sync to Stripe (all)” → tutti i piani creati come Products+Prices in Stripe
  4. Verifica in Stripe Dashboard (in test mode) → Products: dovresti vedere “Hostwebo Cloud Eco S”, “M”, “L”, ecc.

Step 5 — Verifica pre-flight

  1. wp-admin → Hostwebo Billing → Cutover
  2. Tutti i check devono essere PASS (warnings OK, fail NO)
  3. Se qualcosa è fail: segui le istruzioni mostrate

Step 6 — Aggiungi te stesso come beta tester

  1. wp-admin → Hostwebo Billing → Impostazioni
  2. Scorri a “Modalità sistema”
  3. Beta users (CSV di user_id): inserisci il tuo user_id (es. 1)
  4. Modalità runtime: cambia da upmind_only a parallel
  5. 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

  1. Logout WP (per simulare un cliente vero) o usa una finestra in incognito loggata col tuo account
  2. Vai su https://www.hostwebo.it/cloud-eco/
  3. Click “Acquista ora” su un piano (es. Cloud Eco S)
  4. 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.
  5. 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)
  1. Click “Procedi al pagamento” → ti rimanda a Stripe Checkout
  2. Carta test: 4242 4242 4242 4242 · scadenza qualsiasi futura (es. 12/30) · CVC 123 · ZIP 12345
  3. Click “Pay”

Cosa deve succedere (in <30 secondi)

  1. Stripe accetta il pagamento (è una carta test, nessun addebito vero)
  2. Stripe chiama il webhook /wp-json/hostwebo-billing/v1/webhooks/stripe
  3. Vieni rediretto a /v2-grazie/?order_id=...
  4. La pagina mostra una timeline live che si auto-aggiorna:
  • ✅ Pagamento ricevuto
  • ✅ Ordine confermato
  • ⏳ Provisioning hosting (1-2 minuti)
  • ⏳ Email di benvenuto
  1. Dopo ~1 minuto, il provisioning Plesk completa e il dominio è online
  2. Ricevi email di benvenuto con istruzioni
  3. 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, gateway stripe
  • [ ] Ultimi 10 pagamenti/webhook: una riga stripe, riferimento cs_test_..., stato succeeded
  • [ ] Provisioning jobs: stato completed per il job create_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

SintomoDiagnosiFix
Stripe accetta pagamento ma niente succedeWebhook non raggiuntoVerifica URL webhook corretto. In Stripe Dashboard → Webhooks → ultima delivery: dovrebbe essere 200
Webhook 200 ma audit log vuotoSigning secret sbagliatoRicontrolla whsec_... in Impostazioni
Ordine paid ma provisioning falliscePlesk service plan mancantePlans → modifica il piano → setta “Plesk service plan”
Provisioning fallisce con “client not found”PleskBridge non configuratoPlugin hostwebo-dashboard → Impostazioni Plesk: URL + API key
Fattura non generataDati fornitore incompletiImpostazioni → Dati fornitore → compila tutti i campi


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 → Dunning mostra la subscription in past_due
  • Reminder #1 viene inviato immediatamente (controlla email)

Per accelerare il test del dunning senza aspettare:

  1. wp-admin → Hostwebo Billing → Dunning
  2. Click “▶ Esegui dunning_check ora”
  3. 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

  1. Vai su https://developer.paypal.com/dashboard/ → My Apps & Credentials → Sandbox tab
  2. Crea una nuova app (se non già fatta) → copia Client ID + Secret
  3. Sandbox Accounts → crea un account “Personal” → ricevi email + password fake
  4. In WordPress → Impostazioni → PayPal:
  • Mode: sandbox
  • Client ID: incolla
  • Secret: incolla
  • Webhook ID: lo crei dopo
  1. 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
  1. Esegui ordine come TEST 1 ma seleziona PayPal in checkout
  2. Login con l’account sandbox creato sopra
  3. Verifica come TEST 1

TEST 5 — Affiliate tracking

  1. Genera un link affiliato:
  • Loggati come cliente nella dashboard
  • Tab “Affiliazione” → copia il tuo link (es. https://www.hostwebo.it/?ref=AFF123)
  1. In incognito, apri il link → vai sulla landing
  2. Verifica che il cookie hwbi_aff sia settato (F12 → Application → Cookies)
  3. Compra un piano (TEST 1)
  4. 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:

  1. wp-admin → Hostwebo Billing → Cutover
  2. Click “🔵 Solo Upmind”
  3. 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:

  1. Mettere chiavi live in Impostazioni (cambia sk_test_ con sk_live_)
  2. Webhook live su Stripe Dashboard (modalità live, NUOVO endpoint, NUOVO whsec_)
  3. PayPal in live mode in Impostazioni
  4. Promuovere modalità da parallelv2_new (V2 per nuovi clienti)
  5. Seguire il docs/cutover-playbook.md per la migrazione progressiva

Questa guida ti è stata utile?

Il tuo feedback ci aiuta a tenere la documentazione utile e aggiornata.

Continua a leggere