From 37bb419c0bbce6f4f1d2a76906f1b27dd6b2b137 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sun, 12 Jul 2026 13:38:33 +0000 Subject: [PATCH] Changes Co-authored-by: wolfoftyreso-debug <250630591+wolfoftyreso-debug@users.noreply.github.com> --- supabase/functions/payments-webhook/index.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/supabase/functions/payments-webhook/index.ts b/supabase/functions/payments-webhook/index.ts index 84f2569..a9f5475 100644 --- a/supabase/functions/payments-webhook/index.ts +++ b/supabase/functions/payments-webhook/index.ts @@ -99,6 +99,25 @@ async function handleCheckoutCompleted(session: any, env: StripeEnv) { if (email) { await ensureUser(email, session.metadata?.company); } + + // Markera ordern som betald genom att matcha stripe_session_id i items[0]. + const paid = session.payment_status === "paid" || session.status === "complete"; + if (paid && session.id) { + const { data: rows, error: selErr } = await supabase + .from("orders") + .select("id, items, status") + .contains("items", [{ stripe_session_id: session.id }]); + if (selErr) console.error("orders select failed:", selErr); + if (rows?.length) { + for (const row of rows) { + if (row.status === "paid") continue; + await supabase + .from("orders") + .update({ status: "paid", updated_at: new Date().toISOString() }) + .eq("id", row.id); + } + } + } } Deno.serve(async (req) => {