Notificări de plăți Stripe pe iPhone
Conectezi Stripe la Honk și primești o notificare pe iPhone pentru fiecare plată eșuată, dispută și transfer eșuat către bancă (payout), iar dacă vrei, și un Bip-bip pentru fiecare vânzare. Nu scrii niciun cod: Stripe își trimite evenimentele la un singur URL, iar Honk verifică semnătura Stripe, dă fiecărui eveniment un nivel pe scara Honk și grupează repetările.
Problemele cu plățile ajung în același inbox cu magazinul, site-ul și serverele tale. Un client al cărui card e refuzat de cinci ori la rând înseamnă un singur grup cu un contor, nu cinci alerte separate.
Înainte să începi
- Un cont Honk. Deocamdată, Honk e disponibil doar pe bază de invitație: cere acces.
- Un proiect pentru plăți, de exemplu „Magazin”, într-un spațiu de lucru în care ești proprietar sau administrator.
- Un cont Stripe în care poți adăuga webhookuri.
1. Creează conexiunea în Honk
În aplicația web Honk, deschide proiectul, mergi la Conexiuni și apasă Conectează un serviciu. Alege Stripe, păstrează numele sau schimbă-l și apasă Conectează.
Honk îți arată URL-ul conexiunii, la URL de webhook. Începe cu https://honk-honk.app/v1/hooks/stripe/. Copiază-l și lasă pagina deschisă: la pasul 3 lipești aici secretul de semnare de la Stripe.

2. Adaugă o destinație de evenimente în Stripe
În Stripe Dashboard, deschide Workbench ▸ Webhooks și apasă Create an event destination. Apoi:
- Alege Your account și, ca format, Snapshot. Honk citește evenimentele snapshot, formatul care conține plata propriu-zisă. Stripe recomandă Thin, dar un eveniment thin conține doar un ID, așa că Honk îl refuză, iar conexiunea afișează o eroare.
- Selectează evenimentele:
payment_intent.payment_failed,invoice.payment_failed,charge.dispute.createdșipayout.failed. Pentru vânzări, adaugăcheckout.session.completedsaupayment_intent.succeeded, pentru rambursări,charge.refunded, iar pentru abonamentele anulate,customer.subscription.deleted. - Alege Webhook endpoint ca tip de destinație și lipește URL-ul de la Honk la Endpoint URL.
Alege doar unul dintre cele două evenimente de vânzare. O plată prin Stripe Checkout le trimite pe amândouă, așa că, dacă le selectezi pe ambele, afli de fiecare vânzare de două ori.
3. Lipește secretul de semnare în Honk
Pe pagina destinației noi, Stripe afișează un secret de semnare care începe cu whsec_. Apasă Reveal secret și copiază-l. În Honk, lipește-l la Secret de semnare și apasă Salvează secretul.
Până salvezi secretul, Honk refuză livrările de la Stripe. După aceea, verifică semnătura fiecărei livrări: una care nu se potrivește sau care a fost semnată cu mai mult de 5 minute în urmă nu devine niciodată mesaj.
4. Încearcă într-un sandbox
Un sandbox Stripe are propriile destinații de evenimente și propriile secrete de semnare, deci are nevoie de o conexiune separată în Honk. Creează a doua conexiune la fel, adaugă destinația în sandbox și trimite un eveniment de test cu Stripe CLI:
# with the Stripe CLI, signed in to the sandbox
stripe trigger payment_intent.payment_failedÎn câteva secunde primești un Claxon puternic. Evenimentele din sandbox au mediul test, așa că nu se amestecă niciodată cu cele reale. Pe planul Free, conexiunea pentru sandbox e a doua și ultima: șterge-o după ce ai văzut că merge. În modul live, conexiunea arată ora ultimei livrări de la Stripe sau ultima eroare, de exemplu o semnătură care nu s-a potrivit.
Ce devine fiecare eveniment
- O plată eșuată (
payment_intent.payment_failed) sau o plată eșuată a unei facturi (invoice.payment_failed): un Claxon puternic cu titlul „Payment failed: 49.00 EUR” (titlurile vin în engleză), cu motivul dat de Stripe și clientul. Fiecare client are grupul lui, așa că eșecurile repetate ale aceluiași client se adună la un loc. - O dispută nouă (
charge.dispute.created): un Claxon lung, cu suma și motivul. - Un transfer eșuat (
payout.failed): un Claxon lung, cu explicația de la Stripe. - O vânzare (
checkout.session.completedsaupayment_intent.succeeded): un Bip-bip, „New sale: 49.00 EUR” sau „Payment received: 49.00 EUR”. Toate vânzările au un singur grup. - O rambursare (
charge.refunded): un Claxon ușor, „Payment refunded: 49.00 EUR” sau, pentru o rambursare parțială, „Partial refund: 20.00 EUR”, cu partea din plată pe care o reprezintă. Rambursările fiecărui client se adună într-un singur grup. - Un abonament anulat (
customer.subscription.deleted): un Claxon ușor.
Celelalte tipuri de evenimente sunt acceptate și ignorate. Sumele apar în unitatea principală a monedei, iar cele mai multe mesaje au un link către plata, disputa, transferul sau abonamentul din Stripe Dashboard.
Primul eveniment dintr-un grup te anunță imediat. Următoarele de același fel vin ca o actualizare cu numărul total, cel mult una la 5 minute. După 24 de ore fără evenimente (valoarea implicită), grupul o ia de la capăt, iar următorul eveniment te anunță din nou. Stripe nu raportează niciodată că o plată eșuată s-a rezolvat, așa că acestea sunt evenimente, nu incidente: nu ai o revenire de așteptat. Când plățile mai multor clienți eșuează la câteva minute una de alta, primești în continuare câte o notificare pentru fiecare, dar doar prima sună.
Alege despre ce vrei să afli
Toate tipurile de evenimente de mai sus sunt active implicit. La Evenimente care devin mesaje, pe conexiune, debifează-le pe cele pe care nu le vrei, de exemplu vânzările, și apasă Salvează.
Ca să nu primești notificări pentru vânzări, dar să le vezi totuși, adaugă o regulă la Reguli, în proiect: când Canal este payment_intent.succeeded (sau checkout.session.completed), setează Notificări la Doar în rezumat. Vânzările vin atunci într-un rezumat, implicit la fiecare 15 minute, iar disputele și transferurile eșuate te anunță în continuare imediat.
Planuri și limite
Fiecare conexiune intră în limita planului spațiului tău de lucru: Free include 2, Pro 20 și Team 100. Mesajele de la Stripe intră în limitele zilnice de mesaje și notificări ale planului, ca oricare altele; le găsești la prețuri.
Notificările ajung în Honk pentru iPhone și pe Apple Watch. Dacă vinzi și prin Shopify sau WooCommerce, ghidul pentru Shopify și ghidul pentru WooCommerce îți aduc comenzile în același inbox, iar pagina de integrări arată toate celelalte moduri de a trimite mesaje către Honk.
Deocamdată, Honk e disponibil doar pe bază de invitație: cere acces. Tot ce face acest ghid merge și pe planul Free.