Webhook configuration
Without this, paid invoices stay marked "sent." With it, they auto-flip to paid.
What's a webhook?
When a client completes payment on Stripe, Stripe sends an HTTP POST to your Invoicely server saying "transaction X just succeeded." Invoicely receives it, looks up the matching invoice, and marks it paid.
Setup (5 minutes)
Stripe Dashboard → Developers → Webhooks → Add endpoint
Endpoint URL
Use the URL shown in your Invoicely Settings → Stripe section. It looks like:
https://invoicely.live/wp-json/ivl/v1/webhook/1Events to listen for
Select checkout.session.completed only. Don't add others — Invoicely doesn't process them.
Click "Add endpoint"
Stripe creates the endpoint and shows the signing secret.
Reveal & copy the signing secret
Click "Reveal" — it starts with whsec_. Copy the full string.
Paste into Invoicely
Settings → Stripe → Webhook Secret → paste → Save.
Verifying it works
From Stripe Dashboard → your webhook → "Send test webhook" → pick "checkout.session.completed" → Send.
You should see "200 OK" response in Stripe. If you see 4xx or 5xx, the secret might be wrong. Re-paste it carefully.