From ca019ae28de8e649c0045028c949a8c1a621ad0f Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Tue, 31 Mar 2026 01:12:29 +0200 Subject: [PATCH] fexed stripe webhook --- src/pages/billing/SubscriptionTab.tsx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/pages/billing/SubscriptionTab.tsx b/src/pages/billing/SubscriptionTab.tsx index 413f798..29ad357 100644 --- a/src/pages/billing/SubscriptionTab.tsx +++ b/src/pages/billing/SubscriptionTab.tsx @@ -350,14 +350,21 @@ export const SubscriptionTab: React.FC = ({ mandateId }) = if (sessionId && !verifyCalledRef.current) { verifyCalledRef.current = true; - verifyCheckout(sessionId) - .then((result) => { + const _pollUntilActive = async (retries = 5, delayMs = 2000) => { + try { + const result = await verifyCheckout(sessionId); if (result.status === 'activated') { setCheckoutMessage({ type: 'success', text: 'Abonnement wurde aktiviert.' }); setJustPaid(false); + return; } - }) - .catch(() => {}); + } catch { /* handled below via retry */ } + if (retries > 0) { + await new Promise(r => setTimeout(r, delayMs)); + await _pollUntilActive(retries - 1, delayMs); + } + }; + _pollUntilActive(); } } else if (params.get('canceled') === 'true') { setCheckoutMessage({ type: 'info', text: 'Checkout abgebrochen. Ihr bestehendes Abonnement bleibt aktiv.' });