Webhook avanzati
Come usare il sistema webhook di NexusPass per vendere qualsiasi cosa: oggetti di gioco, licenze software, accessi a servizi esterni e abbonamenti per altri bot Discord.
Come funziona il sistema webhook
Quando un utente completa un pagamento, invece di assegnare solo un ruolo Discord, NexusPass puรฒ chiamare un URL che tu controlli con i dettagli del pagamento.
Il flusso รจ:
- Utente paga nel server Discord
- Stripe notifica NexusPass
- NexusPass chiama il tuo endpoint con i dati del pagamento
- Il tuo endpoint fa quello che vuoi (assegna oggetti, attiva licenze, ecc.)
Configura un prodotto con reward type Webhook
Durante il setup del prodotto su NexusPass, nel campo Tipo premio seleziona Webhook.
Compila i campi:
- URL: l'endpoint del tuo servizio
- Secret: una chiave segreta per verificare che la chiamata venga da NexusPass
Puoi avere sia un ruolo Discord che un webhook โ NexusPass li esegue entrambi dopo il pagamento.
Cosa riceve il tuo endpoint
NexusPass invia una richiesta POST al tuo URL con questo body JSON:
E questi header:
Verifica sempre il campo X-Webhook-Secret prima di processare la richiesta, altrimenti chiunque potrebbe chiamare il tuo endpoint.
Esempio: assegna oggetti in un gioco (Node.js)
Adatta questo esempio al tuo linguaggio e framework preferito. La logica รจ la stessa.
Esempio: attiva una licenza software (Python)
Gestione errori e retry
Il tuo endpoint deve:
- Rispondere con HTTP 200 entro 10 secondi
- Implementare l'idempotenza usando
discord_user_idcome chiave - Loggare gli errori per debug
Esempio di risposta di errore che NexusPass gestisce correttamente:
NexusPass non fa retry automatici in caso di errore โ se il tuo endpoint restituisce un errore, l'oggetto non viene assegnato. Assicurati che il tuo servizio sia affidabile.