What happens between your card and your license.
WarmHawk operates the Stripe checkout and webhook centrally, on warmhawk.com itself — it never runs inside your self-hosted instance, and the license-signing key never leaves WarmHawk’s own infrastructure. This page is for understanding what happens behind the scenes, and what you can do yourself versus what needs support.
This page explains what WarmHawk’s Stripe webhook does (issuing or expiring your license), what to do if you paid but never received your install command email, and how to update your payment method or cancel entirely through the self-serve Stripe Customer Portal without opening a support ticket.
What the webhook actually does
WarmHawk listens for a small set of Stripe events — both Tier 1 and Tier 2 are real recurring subscriptions, so both are driven by the same events — and reacts to each one differently:
- invoice.paid — issues a new RSA-signed license key with an expiry set to the current billing period, and sends you the confirmation email containing your install command with that license embedded. Fires for your very first invoice and every renewal after that, so this is the only event WarmHawk needs to keep your license current. For Tier 2 (Enterprise DFY), the very first invoice also carries the one-time $999 setup fee alongside the first month’s $199 software fee — every invoice after that looks identical to a Tier 1 one.
- invoice.payment_failed — does not revoke anything. Your existing license simply isn’t renewed, so it continues to hold until its already-embedded expiry, giving Stripe’s own retry schedule a chance to recover the payment first.
- customer.subscription.deleted — same treatment: no active revocation. The most recently issued license simply expires at its embedded date and isn’t renewed again.
This is a deliberate design choice: WarmHawk never has to reach into your running instance to turn it off. See license activation troubleshooting for how the dashboard’s side of this — the daily LicenseGate re-check — actually enforces it.
Paid, but never got the install command email
The install command — with your license key embedded — is sent by the same webhook flow that issues the license. If checkout succeeded but the email never arrived:
- Check spam/junk/promotions first — this is the most common cause by far.
- Confirm the checkout actually completed by checking your card statement or the Stripe receipt Stripe itself sends independently of WarmHawk.
- If it’s genuinely missing after checking spam, email support@warmhawk.com with your Stripe receipt attached (or the last four digits of the card and the charge date) — we can look up the checkout session and resend the install command directly.
Updating payment method or cancelling
You don’t need a support ticket for routine billing changes. The Stripe Customer Portal — linked in your original receipt email — lets you self-serve:
- Update your card on file
- Switch between monthly and annual billing
- Download past invoices/receipts
- Cancel your subscription outright
API details (Tier 0 / self-hosters) · Can't find the portal link? Ask support to resend it▸
# Email support@warmhawk.com with your Stripe customer email —
# we'll send a fresh Customer Portal link, no ticket investigation required.Remember that cancelling doesn’t cut your instance off immediately — your license already carries an expiry through the end of the period you paid for, and the dashboard checks against that once a day rather than instantly.
Questions
Stripe checkout & webhooks: questions worth answering up front
Does cancelling my subscription immediately shut off my instance?+
No. Your license carries an embedded expiry through the end of the billing period you already paid for, and LicenseGate checks against that expiry roughly once a day — so your instance keeps working until that date, not the moment you click cancel.
I completed checkout but never got an email with my install command. What do I do?+
Check spam/junk first — the confirmation email is triggered by the same webhook that issues your license, so if the email is missing the webhook may still be delivering. If it’s genuinely not there after checking spam, email support@warmhawk.com with your Stripe receipt.
Can I update my card or switch to annual billing without contacting support?+
Yes — the Stripe Customer Portal link (sent in your original receipt email, or available from support on request) lets you update payment method, change plan, or cancel entirely, self-serve, with no ticket required.
What happens on the backend when a payment fails?+
A failed payment (invoice.payment_failed) or an explicit cancellation (subscription.deleted) does not actively revoke your license. It simply isn’t renewed — the existing license expires naturally at its already-embedded date rather than being yanked immediately.