Configurez webhook-uri Stripe pentru prima dată. Am făcut sute de solicitări de testare și am avut o rată de eroare de aproximativ 90%. Este imprevizibil de ce apar eșecurile.
Răspunsurile de eșec de pe tabloul de bord Stripe sunt:
Conexiunea la gazda de la distanță a expirat
sau
Nu s-a putut conecta la gazda de la distanță
Webhook-ul meu (l-am simplificat pentru testare). Aproximativ 10% din timp, primesc un răspuns de 200 cu {primit: adevărat}
:
expressRouter.route('/hooks').post( async (req, res) => {
const event = req.body;
console.log("Eveniment:");
console.log(eveniment);
// Gestionează evenimentul
comutare (event.type) {
cazul „payment_intent.succeeded”:
const paymentIntent = event.data.object;
// Apoi definiți și apelați o metodă pentru a gestiona intenția de plată cu succes.
// handlePaymentIntentSucceeded(paymentIntent);
pauză;
cazul „payment_method.attached”:
const paymentMethod = event.data.object;
// Apoi definiți și apelați o metodă pentru a gestiona atașarea cu succes a unui PaymentMethod.
// handlePaymentMethodAttached(paymentMethod);
pauză;
// ... gestionează alte tipuri de evenimente
Mod implicit:
console.log(`Tipul de eveniment netratat ${event.type}`);
}
// Returnează un răspuns pentru a confirma primirea evenimentului
res.json({primit: adevărat});
})
Am încercat aceste două moduri de a defini cârligul și, de asemenea, cu și fără asincron:
expressRouter.route('/hooks').post( async (req, res) => {
...
})
// și
app.post("/hooks", async (req, res) => {
...
})
Am fost în contact cu asistența Stripe și am încercat toate sugestiile lor.
Mi-au lăsat următoarele posibilități:
Este posibil să existe o rețea lentă implicată sau o altă problemă cu rutarea.
Furnizorul de gazdă poate avea nevoie să permită și adresa IP de livrare a lui Stripe, FYI
acestea pot fi blocate înainte de a ajunge la serverul dvs
Am adăugat IP-urile lui Stripe la iptables, de exemplu:
iptables -I INPUT -p tcp -s 3.18.12.63 -j ACCEPT
Îmi rulez serverul Hostinger VPS cu Caddy pe Ubuntu 18.04. Ar putea fi aceasta o problemă cu serverul meu configurat? Orice sfat este foarte apreciat.