GMC Licenses documentazione
GMC Licenses documentazione
Gateway self-hosted per licenze, aggiornamenti e download di prodotti CMS.
Cosa fa questo componente
GMC Licenses belongs to the FuerteventuraTV CMS catalogue and is supported through GMC AI Ticketing. Product package key: com_gmclicenses / pkg_gmclicenses.
Requisiti
- A supported Joomla 5/6 or WordPress install according to the product platform.
- PHP 8.1 or newer unless the product page says otherwise.
- Administrator access for installation, configuration and update checks.
- A valid FuerteventuraTV purchase/licence for paid downloads and private updates.
Flusso quotidiano
- Usa GMC Licenses dal backend CMS, non da dashboard SaaS esterne salvo integrazioni esplicite.
- Annota pagina, shortcode, posizione modulo o voce menu dove l'output e' pubblicato.
- Mantieni un elemento test pubblicato per riprodurre rapidamente problemi di display e update.
Aggiornamenti e controlli licenza
- Apri l'amministrazione CMS e controlla la versione installata prima di modificare file.
- Mantieni attiva la licenza/download id nelle impostazioni del prodotto quando il campo e' presente.
- Per Joomla usa Estensioni > Aggiorna, clicca Check For Updates, seleziona il prodotto e lancia Update.
- Se l'update non appare, svuota la cache update e verifica che l'update site punti al feed FuerteventuraTV.
Ticket di supporto
Open a support ticket with product name, installed version, domain, order email, licence/download id if available, and the exact error message. The AI assistant must cite this documentation or escalate to a human when the answer is not fully covered.
Pagine correlate
Guida installazione
Usa la guida installazione Joomla o WordPress collegata dalla documentazione CMS. Installa lo ZIP corretto, fai backup, salva la licenza quando richiesta e testa su pagina privata prima del live.
Guida configurazione
Apri le impostazioni prodotto nel pannello CMS. Controlla licenza, ruoli, cache, privacy, notifiche e chiavi provider solo quando quel prodotto usa un provider esterno.
Documentazione utente
Queste note sono per proprietari sito ed editor: primo test, uso quotidiano, limiti supporto, privacy e dati da inviare in un ticket. Non richiedono modifiche al codice sorgente.
Tutto incluso
86 funzionalità reali, raggruppate per area — l'intera profondità della piattaforma di store, licensing e aggiornamenti.
Vetrina & mercato delle applicazioni
- Marketplace di prodotti integrato — uno store pubblico (
view=market) che elenca i tuoi prodotti pubblicati come card raggruppate per categoria, con gli articoli in evidenza per primi e i badge di piattaforma e "in evidenza". - Pagine prodotto ricche — ogni prodotto ha una vera pagina di dettaglio: hero con prezzo e CTA di acquisto, descrizione HTML ricca, accordion FAQ, changelog dello storico versioni comprimibile, link alla documentazione e una striscia di "estensioni correlate".
- Pagine prodotto editoriali/SEO — collega qualsiasi prodotto a un articolo Joomla così la pagina store può essere un editoriale completo ottimizzato per la SEO mentre il catalogo gestito continua a fornire il prezzo e il pulsante di checkout.
- Ricerca live & filtro per piattaforma — i visitatori filtrano lo store all'istante per parola chiave o per Joomla/WordPress, senza ricaricare la pagina e senza dipendenze aggiuntive.
- Screenshot reali dei prodotti — card e hero usano un riquadro immagine fisso 16:10 con placeholder di riserva colorato in base alla piattaforma e caricamento lazy, così lo store appare nitido sia sui template chiari sia su quelli scuri.
- Markup pronto per la SEO — URL SEF auto-canonici, tag Open Graph e JSON-LD schema.org (CollectionPage/ItemList sul mercato, SoftwareApplication con un Offer sulle pagine prodotto).
- Editor di contenuti ricchi per i testi di vendita — descrizione prodotto e FAQ si modificano con l'editor WYSIWYG del sito e vengono ripuliti tramite una allowlist HTML sicura al salvataggio.
Checkout & pagamenti (Stripe)
- Checkout Stripe pronto all'uso — i clienti pagano con carta tramite Stripe Checkout; una chiave di licenza viene emessa e inviata via email automaticamente al successo del pagamento.
- Prezzi dinamici gestiti dal backend — imposta prezzi una tantum, annuali e mensili in qualsiasi valuta per ciascun prodotto; le sessioni di checkout vengono costruite al volo senza dover mantenere a mano i Payment Link di Stripe.
- Fallback su Payment Link statico — una cascata a prova di errore (prezzo dinamico → prezzo Stripe memorizzato → URL di checkout statico → avviso dello store) garantisce che il pulsante di acquisto non sia mai inattivo.
- Abbonamenti & vendite una tantum — supporta abbonamenti ricorrenti mensili/annuali e acquisti una tantum dallo stesso catalogo.
- Carrello multi-articolo — gli acquirenti aggiungono più prodotti e pagano in un'unica Stripe Checkout Session, con supporto ai codici promozionali.
- Codici promozionali — i codici promozionali di Stripe sono abilitati nelle sessioni di checkout e di carrello.
- Imposte automatiche (opzionale) — attiva l'imposta automatica di Stripe sui checkout dinamici, con un nuovo tentativo sicuro se Stripe rifiuta la configurazione fiscale.
- Gestione IGIC delle Isole Canarie — un calcolatore Stripe Tax dedicato applica il corretto trattamento IGIC delle Canarie per i codici postali spagnoli (35xxx / 38xxx).
- Checkout nella lingua del cliente — la locale di Stripe e tutte le email di consegna seguono la lingua dell'acquirente (italiano / spagnolo / inglese).
Motore di licensing
- Emissione automatica delle chiavi di licenza — ogni acquisto pagato genera una chiave di licenza di 40 caratteri (160 bit di entropia), memorizzata in relazione al prodotto e all'email del cliente.
- Licenze per singolo prodotto & all-access — emetti una chiave per un singolo prodotto oppure una chiave all-access
*"Agency / CMS Suite" valida per ogni prodotto del catalogo. - Limiti di attivazione per dominio — limita su quanti siti può girare una chiave (
max_domains), illimitato (0) per le chiavi agency; le attivazioni sono tracciate per dominio e normalizzate (schema/www rimossi, IDN gestiti). - Entitlement a livelli — misura l'uso delle funzionalità per licenza (es.
max_listings); le installazioni a pagamento senza licenza o scadute ricadono su un livello gratuito "Personal" invece di rompersi. - Controllo di scadenza & stato — le licenze portano lo stato active/expired/disabled/cancelled e una scadenza a fine giornata; la validazione restituisce un motivo chiaro e leggibile dalla macchina.
- Entitlement a prova di manomissione — ciò che una chiave sblocca deriva da una mappa SKU→entitlement lato server, così un Payment Link manipolato non può mai far scalare il piano di un cliente.
- Licenze di prova — emetti dall'admin una chiave di prova a tempo limitato (N giorni); il portale mostra un badge Trial e le prove sono escluse dai promemoria di rinnovo.
- Upgrade di livello self-service (opzionale) — i clienti aggiornano una licenza in loco tramite checkout invece di acquistare una seconda chiave (con verifica della proprietà, disattivato di default).
Download & gateway di aggiornamento
- Download protetti da licenza — l'endpoint di download eroga lo ZIP del prodotto solo a una licenza valida; le chiavi non valide ricevono un pulito 403 e i percorsi sono irrobustiti contro il traversal (realpath + guardia sul basename
.zip, pacchetti tenuti fuori dalla webroot). - Aggiornamenti nativi Joomla in un clic — eroga l'XML di aggiornamento Joomla che inietta la Download Key nativa (
dlid) così i siti con licenza vedono automaticamente la nuova versione in Sistema → Aggiornamenti → Estensioni (~ogni 24h). - Aggiornamenti WordPress in un clic — eroga il JSON del Plugin Update Checker così i plugin WordPress con licenza si aggiornano proprio come quelli Joomla, dallo stesso server.
- Un solo feed, entrambe le piattaforme — una singola installazione supporta un intero catalogo cross-platform di prodotti Joomla e WordPress.
- Checksum di integrità dei pacchetti — i feed di aggiornamento pubblicano gli hash SHA-256 e SHA-384 dello ZIP erogato così i download possono essere verificati end-to-end.
- Targeting corretto del client di aggiornamento — i feed dichiarano il client giusto (site/administrator) e i pattern di target Joomla 5/6 completi, evitando il classico loop "viene sempre offerta la stessa versione".
- Bypass per i domini del proprietario — i tuoi siti (elencati in
owner_domains) ricevono sempre gli aggiornamenti e gli entitlement completi senza consumare un posto di licenza, risolvendo il licensing su stesso server/NAT-hairpin.
Portale self-service per i clienti
- Area Le mie licenze — i clienti autenticati vedono tutte le proprie chiavi, le Download Key/
dlid, i domini attivati, lo stato di scadenza/rinnovo e i posti usati vs. massimo. - Ri-download self-service — i clienti scaricano in qualsiasi momento la build più recente di tutto ciò che hanno acquistato dal proprio account.
- Disattivazione del dominio self-service — un cliente può liberare da solo un posto di attivazione (es. dopo aver migrato un sito) senza contattare il supporto.
- Pulsante di gestione fatturazione — un clic per entrare nello Stripe Customer Portal e aggiornare il metodo di pagamento, vedere le fatture o annullare un abbonamento (redirect bloccato sul dominio di Stripe).
- Recupero chiave per ospiti — un modulo "reinvia la mia chiave" invia via email le chiavi attive di un cliente al suo indirizzo (honeypot + limiti di frequenza per IP/per email + risposta neutra anti-enumerazione).
- Account cliente automatici — un account utente Joomla viene creato automaticamente all'acquisto così gli acquirenti possono accedere direttamente alla propria area download.
Programma di affiliazione & referral
- Programma di affiliazione integrato — recluta affiliati che guadagnano una commissione sulle vendite referenziate, tracciate tramite un cookie di referral
agz_afftrasportato nei metadati di Stripe. - Auto-iscrizione & dashboard degli affiliati — gli affiliati si iscrivono e consultano le proprie statistiche/guadagni da una dashboard front-end.
- Commissioni percentuali o fisse — imposta un tipo/valore di commissione predefinito più override per regola, una valuta configurabile e una soglia di pagamento.
- Commissioni sulle vendite ricorrenti — paga facoltativamente la commissione sui rinnovi degli abbonamenti, non solo sul primo pagamento.
- Pagamenti automatici via Stripe Connect (opzionale) — paga gli affiliati automaticamente tramite Stripe Connect, con una finestra di giorni di attesa prima del regolamento.
- Protezione anti-ban — Connect viene fornito disattivato di default con una guardia in modalità TEST che blocca tutto il traffico Connect live finché non passi esplicitamente in produzione, proteggendo il tuo account Stripe da un ban per traffico prematuro.
- Protezioni antifrode — i referral di auto-acquisto vengono ignorati, vengono attribuiti solo gli affiliati attivi e vengono pagate solo le righe approvate oltre la finestra di attesa.
- Vista pagamenti admin — rivedi il registro degli affiliati e regola/segna come pagato dal backend.
Amministrazione & operatività
- Dashboard dei ricavi — ricavi reali tracciati dalle vendite effettive: KPI di oggi/mese/anno, mix mensile vs annuale vs una tantum, ripartizione per evento checkout/rinnovo/manuale, prodotti top del mese, licenze in scadenza e stato di salute licenze/prodotti.
- Gestore licenze — elenca, crea, attiva/disattiva ed elimina le chiavi con ricerca/filtro live lato client (chiave, email, prodotto, ordine, stato, intervallo di fatturazione) e un contatore visibile.
- Gestore Pacchetti & Aggiornamenti — un badge di "drift" per riga mostra se lo ZIP erogato corrisponde alla versione pubblicata nel feed (in-sync / differs / file-missing).
- Scansione pacchetti in un clic — Scansiona / Scansiona tutto legge versione, tipo e cartella direttamente da ogni ZIP Joomla (o versione + requires/tested/PHP da un header WordPress + readme.txt) e riconcilia il catalogo — senza modificare a mano i campi versione.
- Sincronizza ZIP — importa i pacchetti appena caricati e aggiorna le righe allo ZIP corrispondente più recente; consapevole della nomenclatura e sicuro contro i downgrade (non inventa mai righe né riporta indietro un prodotto).
- Modulo di sincronizzazione nel pannello di controllo — una card della home-dashboard Joomla ("Aggiorna pacchetti" / "Sincronizza ZIP") per la manutenzione dei pacchetti in un clic senza lasciare la dashboard.
- Schermata Vendite & Pubblicazione — una vista di prontezza che separa prezzo/checkout/pubblicazione dai file dei pacchetti, segnalando i prodotti privi di pacchetto o prezzo prima che vadano online.
- Telemetria delle attivazioni — una vista che elenca ogni posto di dominio (dominio, ultimo controllo, prodotto, chiave, email, stato) con un flag "obsoleto" per i posti non controllati da oltre 60 giorni.
- Esportazioni CSV — esportazione in un clic di licenze, vendite, attivazioni e del registro degli affiliati (protetta contro l'iniezione di formule, rispetta i filtri a schermo).
- Note sulle licenze — un campo note a testo libero su ogni licenza per l'archiviazione interna.
- Notifiche al proprietario — invia un'email al proprietario dello store su eventi di fatturazione selezionati (vendita, rinnovo, rimborso, contestazione, pagamento fallito).
- Log di audit admin — ogni azione admin su licenze e affiliati (crea/salva/attiva/elimina/reset, approva/segna come pagato) viene scritta nel User Actions Log di Joomla.
- Backend multi-vista — un menu deliberatamente suddiviso (Dashboard, Licenze, Pacchetti & Aggiornamenti, Vendite, Attivazioni, Ricavi, Affiliati) così le modifiche ai pacchetti non collidono mai con quelle alle vendite.
Automazione del ciclo di fatturazione
- Rinnovi automatici degli abbonamenti — le fatture Stripe pagate estendono automaticamente la scadenza della licenza e inviano via email un avviso di rinnovo (idempotente rispetto ai nuovi tentativi di Stripe).
- Rimborso → revoca — un rimborso Stripe totale annulla automaticamente la/le licenza/e corrispondente/i.
- Protezione dai chargeback — una contestazione di pagamento persa revoca le licenze di quel pagamento e storna la commissione dell'affiliato; una contestazione vinta non viene mai stornata.
- Pagamenti falliti consapevoli del dunning — le fatture di abbonamento fallite notificano il proprietario e vengono registrate senza uccidere prematuramente la licenza, lasciando che il dunning di Stripe faccia il suo corso.
- Promemoria di rinnovo pre-scadenza — email di promemoria scaglionate (es. 30/7/1 giorni prima della scadenza) ai titolari di licenze una tantum, ogni fase inviata una sola volta, abbonamenti saltati (disattivato di default, tramite un'attività pianificata).
Integrazioni & API per sviluppatori
- GMC Connect — relay OAuth Meta ospitato — un relay OAuth stateless opzionale che consente ai prodotti gallery Instagram/Facebook con licenza di connettersi a Meta tramite un'unica app GMC condivisa e approvata in App Review, così i clienti non devono costruire ciascuno la propria app Meta.
- Relay cifrato, stateless & rispettoso della privacy — l'andata-e-ritorno è sigillato in AES-256-GCM sotto la chiave di licenza del cliente stesso; nessun token, codice o stato viene mai memorizzato o registrato (disattivato di default finché l'App Review non passa).
- Webhook di ciclo di vita in uscita — invia in POST gli eventi
license.created/license.renewed/license.cancelledal tuo endpoint, firmati con HMAC-SHA256, per pilotare CRM/automazioni esterne. - API REST admin — leggi/scrivi prodotti, licenze e configurazione via HTTPS con una chiave admin di 32+ caratteri solo tramite header (le chiavi in query-string sono rifiutate così i segreti non finiscono mai nei log); i parametri segreti sono oscurati in lettura.
- Log delle azioni di acquisto — ogni vendita viene registrata per una traccia di audit integrata tramite il sistema di action-log di Joomla.
- Registro dei ricavi di vendita — ogni checkout/rinnovo/upgrade scrive una riga de-duplicata (un riferimento evento univoco blocca il doppio conteggio dei retry Stripe) che alimenta la dashboard.
Sicurezza & privacy
- Esportazione & cancellazione dati GDPR — un plugin privacy Joomla restituisce le licenze e le attivazioni di dominio di un interessato su richiesta di esportazione e anonimizza la sua email sulle licenze annullate/scadute per la cancellazione (i registri di vendita fiscali sono conservati per progettazione).
- Segreti cifrati a riposo — le chiavi Stripe, i segreti dell'app Meta e i segreti dei webhook sono cifrati con KeyVault nel database e rimossi dalle risposte API.
- Webhook Stripe verificati — l'HMAC
Stripe-Signatureviene verificato manualmente con una tolleranza di 300 secondi prima di qualsiasi azione sulla licenza. - Throttling anti-brute-force — limiti di frequenza per IP sugli endpoint di lookup della chiave di licenza, API admin e API affiliati, con bucket di cache dedicati che funzionano anche sui siti con la cache disattivata.
- Irrobustimento anti-abuso — protezione da open-redirect sugli URL di fatturazione/ritorno,
X-Content-Type-Options: nosniffsu tutte le risposte API e nessuna fiducia inHTTP_REFERERper il binding del dominio. - Admin protetto da CSRF — ogni azione CRUD del backend è verificata tramite token.
Fiducia & licenza
- GPL-safe "gestisci gli aggiornamenti, non il software" — le estensioni girano sempre; solo il download dal gateway e gli aggiornamenti in un clic richiedono una licenza valida, così resti conforme alla GPL.
- Concesso in licenza GPLv2 — la suite viene fornita sotto GPLv2 con un LICENSE.txt alla radice di ogni installer; packaging JED-clean.
- Completamente self-hosted — l'intero server di store, licensing e aggiornamenti gira sul tuo sito Joomla; nessuna dipendenza da alcun SaaS di licensing di terze parti (solo Stripe per i pagamenti).
- Consegna istantanea della licenza — le chiavi vengono emesse e inviate via email automaticamente nel momento in cui il pagamento si completa.
- Aggiornamenti inclusi — i siti installati ricevono gli aggiornamenti in un clic con licenza finché la loro licenza resta attiva; il server di aggiornamento si basa sulla versione del pacchetto così i figli si muovono all'unisono.
- Provato in produzione — il marketplace CMS di FuerteventuraTV (catalogo, checkout, chiavi e aggiornamenti) gira sulla stessa identica build in vendita.
- Installazione a pacchetto singolo — installa un solo
pkg_…zip; il postflight abilita e verifica automaticamente tutti i plugin operativi inclusi.
Joomla & WordPress
- Piattaforma server — il server gira su Joomla 5/6 (PHP 8.1+), MySQL/MariaDB (utf8mb4/InnoDB); è la piattaforma dell'operatore dello store, non qualcosa di cui i clienti finali abbiano bisogno.
- Licenze & aggiornamenti su entrambe le piattaforme — una sola installazione licenzia e aggiorna sia i prodotti client Joomla sia quelli WordPress (Joomla tramite XML di aggiornamento nativo + Download Key, WordPress tramite JSON del Plugin Update Checker), così un singolo catalogo può essere cross-platform.
- Completamente localizzato — interfaccia admin in inglese, italiano e spagnolo; la vetrina, il carrello e le email ai clienti sono forniti in cinque lingue del sito (con l'aggiunta di hindi e cinese) e seguono la lingua dell'acquirente.
FAQ - Domande frequenti
Serve accesso sviluppatore?
No per l'uso normale. Basta accesso amministratore al CMS per installazione, configurazione, aggiornamenti e primi test.
Posso usare pacchetti Joomla e WordPress in modo intercambiabile?
No. Usa lo ZIP Joomla su Joomla e lo ZIP WordPress su WordPress. Se il prodotto esiste su entrambe le piattaforme, segui la guida del CMS corretto.
Dove configuro licenza e aggiornamenti?
Usa le impostazioni prodotto o la schermata update/licenze nel CMS. Download paid e update privati richiedono la licenza/download key FuerteventuraTV attiva.
Cosa devo inviare al supporto?
Invia prodotto, versione, CMS, URL sito, screenshot, errore esatto e cosa hai gia provato. Non inviare password, API key o token nel ticket.


