From 69aaa22793bcbe0b016ad9cfad22616906766df0 Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 25 Aug 2026 05:26:31 -0400 Subject: [PATCH] zen: void invoice of cancelled subscription --- packages/console/app/src/routes/stripe/webhook.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/console/app/src/routes/stripe/webhook.ts b/packages/console/app/src/routes/stripe/webhook.ts index e1e4e6cbd39..05f40e4fd21 100644 --- a/packages/console/app/src/routes/stripe/webhook.ts +++ b/packages/console/app/src/routes/stripe/webhook.ts @@ -205,6 +205,13 @@ export async function POST(input: APIEvent) { } else if (productID === BlackData.productID()) { await Billing.unsubscribeBlack({ subscriptionID }) } + + const latestInvoice = body.data.object.latest_invoice + const invoiceID = typeof latestInvoice === "string" ? latestInvoice : latestInvoice?.id + if (invoiceID) { + const invoice = await Billing.stripe().invoices.retrieve(invoiceID) + if (invoice.status === "open") await Billing.stripe().invoices.voidInvoice(invoiceID) + } } if (body.type === "invoice.payment_succeeded") { if (