Avviare operazioni con l'ausilio dei webhook
Un webhook è un endpoint HTTP che riceve gli eventi da Stripe.
I webhook ti consentono di ricevere notifiche sugli eventi di pagamento che si verificano nel mondo reale al di fuori del tuo flusso di pagamento come:
- Pagamenti riusciti (
payment_intent.succeeded
) - Pagamenti contestati (
charge.dispute.created
) - Saldo disponibile nel tuo account Stripe (
balance.available
)
Anche se la Dashboard è in grado di gestire perfettamente operazioni una tantum quali il rimborso di un pagamento o l’aggiornamento delle informazioni di un cliente, i webhook sono essenziali per sviluppare l’integrazione dei pagamenti in quanto consentono di elaborare un elevato volume di eventi critici.
Sviluppare un proprio webhook
Puoi creare un gestore di webhook sul tuo server per gestire tutti i flussi di pagamento offline. Innanzitutto scegli un endpoint in grado di ricevere le richieste provenienti da Stripe e utilizza la CLI per verificare localmente la tua integrazione. Ogni richiesta di Stripe contiene un oggetto Event con un riferimento all’oggetto su Stripe che è stato modificato.
Creare un endpoint del webhook
Aggiungi un nuovo endpoint alla tua applicazione. Per rispondere a determinati eventi, verifica il campo type
dell’oggetto dell’evento inviato nel corpo della richiesta. Per il momento, scegli l’output standard per assicurarti che il webhook funzioni.
Avvia il tuo server dopo aver aggiunto il nuovo endpoint.
Installare e configurare la CLI di Stripe
Per ulteriori opzioni di installazione, consulta la sezione Iniziare a usare la CLI di Stripe.
Una volta installata la CLI di Stripe, esegui stripe login
nella riga di comando per generare un codice di associazione da collegare al tuo account Stripe. Premi Invio per avviare il browser e accedere al tuo account Stripe per consentire l’accesso. La chiave API generata è valida 90 giorni. Puoi modificarla o eliminarla nella sezione Chiavi API nella Dashboard.
stripe login Your pairing code is: humour-nifty-finer-magic Press Enter to open up the browser (^C to quit)
Se vuoi utilizzare una chiave API esistente, utilizza il flag --api-key
:
stripe login --api-key
Your pairing code is: humour-nifty-finer-magic Press Enter to open up the browser (^C to quit)sk_test_4eC39HqLyjWDarjtT1zdp7dc
Verificare un webhook localmente
Utilizza la CLI per inoltrare gli eventi al tuo endpoint del webhook locale utilizzando il comando listen
.
Se la tua applicazione viene eseguita sulla porta 4242, esegui il seguente comando:
stripe listen --forward-to http://localhost:4242/webhook
In un’altra scheda del terminale, utilizza il comando trigger
della CLI per attivare un evento webhook fittizio.
stripe trigger payment_intent.succeeded
Dovresti visualizzare il seguente evento nella scheda listen
:
[200 POST] OK payment_intent.succeeded
Inoltre dovresti visualizzare un messaggio “PaymentIntent riuscito” nella scheda del terminale del tuo server.
Distribuire l'endpoint del webhook
Quando sei pronto a distribuire l’endpoint del webhook nell’ambiente di produzione, devi eseguire ancora un paio di operazioni:
Utilizza le tue chiave API in modalità live e non quelle in modalità di test.
Configura l’endpoint weebhook nella Dashboard Stripe o con l’API.
Per configurare l’endpoint nella Dashboard, accedi alle impostazioni del webhook.
Fai clic su “Aggiungi endpoint” e inserisci l’URL dell’endpoint, la versione dell’API Stripe e gli eventi specifici che vuoi che Stripe ti invii.
Sostituisci la chiave privata dell’endpoint del webhook nella tua applicazione con la nuova chiave privata mostrata nella vista Dashboard del tuo endpoint.
A questo punto la tua applicazione è pronta per accettare gli eventi in modalità live. Per ulteriori informazioni sulla configurazione dell’endpoint del webhook, sull’API Webhook Endpoint e sul testing in modalità di test, consulta la nostra Guida allo sviluppo.