Ganci web WooshPay #
WooshPay utilizza i webhook per notificare alla vostra applicazione quando si verifica un evento nel vostro conto. I webhook sono particolarmente utili per gli eventi asincroni, come la conferma di un pagamento da parte della banca del cliente, la contestazione di un addebito da parte del cliente o la riscossione di pagamenti in abbonamento. È possibile configurare gli endpoint dei webhook tramite l'API per ricevere la notifica degli eventi.
Passi per la creazione e la ricezione di Webhooks #
È possibile iniziare a ricevere le notifiche degli eventi nella propria applicazione seguendo i passaggi indicati in questa sezione:
- Identificare gli eventi che si desidera monitorare e il eventi payload da analizzare.
- Creare un endpoint webhook come endpoint HTTP (URL) sul server locale.
- Gestire le richieste da parte dell'WooshPay analizzando ogni oggetto evento e restituendo
2xx
codici di stato della risposta. - Distribuire l'endpoint del webhook in modo che sia un URL HTTPS accessibile pubblicamente.
- Registrare l'URL HTTPS pubblicamente accessibile tramite l'oggetto webhook.
Come creare un endpoint webhook #
La creazione di un endpoint webhook non è diversa dalla creazione di qualsiasi altra pagina del vostro sito web. Si tratta di un endpoint HTTP o HTTPS sul server con un URL. Se si sta ancora sviluppando l'endpoint sulla propria macchina locale, può essere HTTP. Quando è accessibile al pubblico, deve essere HTTPS.
Passo 1. Identificare gli eventi da monitorare #
Utilizzare la guida di riferimento dell'API per identificare gli eventi Wooshpay e i relativi oggetti evento che l'endpoint webhook deve analizzare.
Fase 2: Creare un webhook #
Impostare un endpoint HTTP sul computer locale che possa accettare richieste webhook non autenticate con metodo POST.
Richiesta
{
"url": "https://apitest.wooshpay.com/v1/receives",
"descrizione": "Sono descrizione",
"enabled_events": [
"payment_intent.created",
"payment_intent.payment_failed",
"payment_intent.requires_action",
"payment_intent.succeeded",
"payment_intent.canceled",
"addebito.rimborso.aggiornato"
],
"api_version": "1.0.1"
}
Risposta
{
"id": "we_1600745739909070848",
"oggetto": "webhook_endpoint",
"creato": 1670482499000,
"descrizione": "Sono descrizione",
"metadata": null,
"secret": "c2tfdGVzdF9kR1Z6ZERwMFpYTjBNVEl6TkRVMjo=",
"status": "enabled",
"url": "https://apitest.wooshpay.com/v1/receives",
"livemode": false,
"api_version": "1.0.1",
"enabled_events": [
"payment_intent.created",
"payment_intent.payment_failed",
"payment_intent.requires_action",
"payment_intent.succeeded",
"payment_intent.canceled",
"addebito.rimborso.aggiornato"
]
}
Fase 3: Gestione delle richieste da parte dell'WooshPay #
L'endpoint deve essere configurato per leggere gli oggetti evento per il tipo di notifiche evento che si desidera ricevere. L'WooshPay invia gli eventi all'endpoint webhook come parte di una richiesta POST con un payload JSON.
Restituzione di una risposta 2xx
L'endpoint deve restituire rapidamente un codice di stato di successo (2xx) prima di qualsiasi logica complessa che possa causare un timeout.
Tentativi di consegna e ritentativi #
Capire come visualizzare i tentativi di consegna, i registri degli eventi e la logica di riprova quando gli eventi webhook non vengono riconosciuti.
Logica di ripetizione
In modalità live e test, WooshPay tenta di consegnare i vostri webhook per un massimo di tre giorni con un back-off esponenziale, il che significa che in totale consegneremo 18 volte in 72 ore.
Logica dei webhook in attesa
In modalità live e di prova, WooshPay cercherà di notificare all'utente qualsiasi webhook non riuscito via e-mail se un endpoint non ha risposto con un codice di stato HTTP 2xx. L'e-mail non solo vi indicherà l'URL che non può essere consegnato, ma anche quando smetteremo di consegnare i webhook e il modo migliore per raggiungerci.