Aktualizowanie statusu na serwerze (paypal, firebase)

Zlecenie zamknięte
no avatar
zlecenia_michala
Zleceniodawca
Kategoria zlecenia:
Usługi programowania
Budżet:

Do negocjacji

Opublikowano:
Ważne do:

Opis zlecenia

Szukam osoby z doświadczeniem w integrowaniu płatności.

Frontend:

- jest już gotowy (prosta apka w nuxt/vue z firebase auth i przyciskami paypala)

- można ją dowolne modyfikować

Backend:

- firebase functions (nodejs) do odbierania webhooków (nie IPN!!! Powinno to być zrobione przy pomocy nowej metody).

- ma aktualizować status użytkownika w bazie (firestore) przy każdej istotnej dla biznesu zmianie w subskrypcji tzn.:

-- User wybiera i kupuje plan (miesięczny/3-miesięczny/roczny z 14-dniowym okresem próbnym) - serwer dodaje pola w tabeli users (dla użytkownika który dokonał zakupu):

membership: "premium"

subscribedFrom: <data zakupu>

trial: true

trialExpires: <data końca okresu próbnego z paypala>

subscriptionExpires: <data następnej płatności z paypala>

billingType: <yearly / every-3-months / monthly>

subscriptionCanceled: false

Okres próbny dobiega końca - trial: false

Płatność została pomyślnie pobrana z konta usera - subscriptionExpires: <data następnej płatności z paypala>

Płatność nie może zostać pobrana z konta usera na koniec okresu rozliczeniowego:

membership: "basic"

subscriptionCanceled: true

Jeśli płatność przyjdzie z opóźnieniem serwer powinien to obsłużyć (ponownie ustawić):

membership: "premium"

subscriptionCanceled: false

User anulował subskrypcje przed końcem okresu rozliczeniowego:

- subscriptionCanceled: true (poza tym serwer nie wykonuje żadnej akcji do końca okresu rozliczeniowego)

- na koniec okresu rozliczeniowego (anulowana subskrypcja) - membership: "basic"

Paypal:

- screenshoty lub krótki opis konfiguracji (np. jakie eventy przy webhookach są właczone)

- włączone tylko wymagane eventy (niegenerowanie dodatkowych kosztów).

Dodatkowe informacje:

- nie trzeba dodawać reguł bezpieczeństwa (firestore rules).

- wymiana informacji pomiędzy paypalem a cloud functions musi być zabezpieczona i odporna na ataki (czyli np. zabezpieczona przed wysyłaniem requestów udających te od paypala)

- znasz lepsze rozwiązanie - pisz!!!

Wymagane funkcje:

Przesłane oferty 1

Dodaj ofertę lub zapytaj zleceniodawcę o więcej szczegółów