Synchronizacja statusów subskrypcji między Drupalem i Stripe
Klient
NDA
Branża
Eventowa
Technologie
Zakres prac
Migracja danych subskrypcyjnych, refaktoryzacja integracji płatności

Brak dostępu do opłaconych subskrypcji
Klient zgłosił się do nas z problemem, który początkowo wydawał się mało skomplikowany. Płatności subskrypcyjne w systemie działały, a Stripe (system do obsługi płatności) wskazywał, że wszystko jest w porządku. Jednak po stronie Drupala, gdzie zarządzano dostępami, zaczęły pojawiać się niezgodności – opłacone subskrypcje widniały jako wygasłe lub nieodnowione.
Gdy zweryfikowaliśmy sytuację, okazało się, że integracja między systemem płatności a Drupalem była tylko częściowa. Oznaczało to, że niektóre aktywne subskrypcje istniały wyłącznie w Stripe, a Drupal nie aktualizował ich statusu.
W efekcie użytkownicy płacili za subskrypcję, która w CMS-ie była traktowana jako wygasła lub nieodnowiona na kolejny okres. To prowadziło do frustracji i rosnącej liczby reklamacji, a w konsekwencji narażało markę na utratę zaufania oraz klientów.
Jak naprawiliśmy problem niespójnych subskrypcji?
Wykorzystując Stripe API oraz istniejącą strukturę danych w Drupalu, zidentyfikowaliśmy subskrypcje, które były aktywne w Stripe, ale nie były poprawnie powiązane z kontami użytkowników w CMS-ie. Następnie zmapowaliśmy je i przenieśliśmy brakujące informacje do Drupala. Dzięki temu odwzorowaliśmy każdą subskrypcję z zachowaniem jej cykli rozliczeniowych i statusów.
Dodatkowo uporządkowaliśmy i uprościliśmy przestarzały, skomplikowany kod, żeby zapobiec podobnym problemom w przyszłości.
Co zyskał klient?
Zapewniliśmy pełną synchronizację danych między Stripe a Drupalem, dzięki czemu:
- użytkownicy mają stały dostęp do opłaconych pakietów,
- zniknął problem błędnego wygaszania subskrypcji,
- ograniczyliśmy liczbę reklamacji i zgłoszeń związanych z płatnościami,
- system subskrypcyjny jest stabilniejszy i przewidywalny w dalszym rozwoju.

Użytkownik powinien mieć dostęp do opłaconej subskrypcji bez zastanawiania się, czy wszystko działa poprawnie. Dlatego najważniejsze było doprowadzenie do spójności danych między Stripe a Drupalem.
Kiedy warto wdrożyć takie rozwiązanie w swoim projekcie?

Gdy klienci mają problemy z odnawianiem lub anulowaniem subskrypcji
Gdy musisz ręcznie korygować statusy subskrypcji
Gdy planujesz rozbudowę modelu subskrypcyjnego
Użytkownicy płacą za subskrypcje
a system nie zawsze pokazuje spójne dane?