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.' });