Bezpieczeństwo transakcji: atomowość, idempotencja i pełna księgowość
Bezpieczeństwo transakcji: atomowość, idempotencja i pełna księgowość
Pieniądze to fundament zaufania na platformie dla twórców. Dlatego przeprowadziliśmy gruntowny przegląd bezpieczeństwa całego systemu transakcji — wpłat, wypłat, transferów między użytkownikami, prezentów, prowizji i zakupów — i wprowadziliśmy szereg utwardzeń. Poniżej, bez wchodzenia w szczegóły techniczne, co konkretnie się zmieniło i dlaczego ma to znaczenie dla każdego, kto zarabia lub wydaje monety w Moonlight.
Jeden, twardy strażnik salda
Wszystkie operacje zmieniające saldo monet przechodzą teraz przez jeden, centralnie zabezpieczony mechanizm rozliczeń. Pilnuje on trzech rzeczy naraz:
- Atomowość — pobranie i zapisanie środków dzieje się jako jedna, niepodzielna operacja. Albo wszystko, albo nic.
- Blokada współbieżności — gdy w tej samej chwili przyjdzie kilka żądań dotyczących tego samego konta (np. przez podwójne kliknięcie albo ponowienie po słabym połączeniu), są one ustawiane w kolejce i obsługiwane pojedynczo. Dzięki temu nie da się „prześcignąć" systemu i wydać tych samych monet dwa razy.
- Ochrona przed ujemnymi kwotami — każda operacja jest walidowana u źródła, więc kwota nigdy nie może zadziałać „w drugą stronę".
Idempotencja: bezpieczne ponawianie
Internet bywa zawodny — żądania się gubią, przeglądarki ponawiają, użytkownicy klikają dwa razy. Wprowadziliśmy deterministyczne klucze idempotencji: jeśli ta sama operacja trafi do systemu więcej niż raz, zostanie rozpoznana i wykonana dokładnie jeden raz. Kupno rozdziału, odblokowanie treści, napiwek czy prezent nie obciążą Cię podwójnie, nawet przy ponowieniu.
Wypłaty z pełną księgowością
Najważniejsza zmiana dotyczy wypłat dla twórców. System prowadzi teraz pełną, dwustronną księgę: każda wypłata jest natychmiast rezerwowana i odejmowana od dostępnego salda, a środki wracają do puli automatycznie, jeśli przelew się nie powiedzie lub zostanie odrzucony. Saldo dostępne do wypłaty jest dzięki temu zawsze spójne — niezależnie od tego, ile wniosków złożysz i jak szybko po sobie. Każdy przelew jest dodatkowo zabezpieczony przed przypadkowym zdublowaniem po stronie operatora płatności.
Spójne, przewidywalne prowizje
Ujednoliciliśmy naliczanie prowizji platformy w jednym miejscu. Koniec z rozjazdami między różnymi typami transakcji — stawka jest liczona z jednego, centralnego źródła, więc twórcy i platforma zawsze rozliczają się według tych samych, przejrzystych zasad.
Niezawodne doładowania
Doładowania monet opierają się teraz na potwierdzeniu od operatora płatności jako źródle prawdy, z zabezpieczeniem idempotentnym. W praktyce: jeśli płatność przejdzie, monety trafią na konto — nawet jeśli po drodze zamkniesz kartę przeglądarki lub stracisz połączenie. A jednocześnie nie da się ich naliczyć dwa razy.
Transfery między użytkownikami
Prezenty i napiwki przechodzą przez ten sam, zabezpieczony mechanizm, co reszta systemu — z zachowaniem wartości (to, co wychodzi od nadawcy, trafia do odbiorcy i platformy zgodnie z prowizją), w tej samej walucie i z pełnym śladem księgowym. Spory wokół zleceń (commissions) rozliczają się idempotentnie, bez ryzyka podwójnej wypłaty czy podwójnego zwrotu.
Pokrycie testami
Całość jest objęta zestawem testów automatycznych, które sprawdzają najtrudniejsze scenariusze: współbieżne żądania, ponowienia, brak środków, nieudane przelewy i zwroty rezerwacji. Bezpieczeństwo pieniędzy nie może opierać się na założeniach — opiera się na testach, które uruchamiamy przy każdej zmianie.
To praca, której na co dzień nie widać — ale to właśnie ona sprawia, że saldo zawsze się zgadza, a Twoje monety i wypłaty są bezpieczne. Robimy to, byście mogli skupić się na tworzeniu.