VulCode

Integracja Stripe: subskrypcje, BLIK i KSeF

Subskrypcje, płatności jednorazowe, BLIK i platformy z wieloma sprzedawcami na Stripe, połączone z resztą Twojego systemu. A ponieważ Stripe nie wysyła faktur do KSeF, robimy to my, z każdej opłaconej płatności.

Płatności online
Subskrypcja firmy w panelu administracji aplikacji: status past_due po nieudanym odnowieniu, okresy z fakturami Stripe i numerami faktur w KSeF, zasady po nieudanej płatności i zdarzenia Stripe
Rozliczenia klienta w aplikacji na telefonie: komunikat o nieudanej płatności, plan, metoda płatności, BLIK co miesiąc i faktury

Stripe czy polska bramka

Obie drogi są dobre, ale do innych modeli sprzedaży.

Stripe
Polska bramka

Jak sprzedajesz

Abonamenty i rozliczenia za zużycie prowadzi Stripe Billing. Jednorazowe zakupy w sklepie dobrze obsłuży polska bramka.

Stripe: bliżej "abonamenty, plany, zużycie". Polska bramka: bliżej "jednorazowo w sklepie".

Komu sprzedajesz

Stripe przyjmuje wiele walut, a BLIK działa w nim w złotówkach. Polska bramka stawia na przelewy z polskich banków.

Stripe: bliżej "także za granicą, w wielu walutach". Polska bramka: bliżej "głównie klientom w Polsce".

Na czym stoi sprzedaż

Wypłaty sprzedawcom albo twórcom robi Stripe Connect. Sklepowi na platformie z gotową wtyczką bramki zwykle wystarczy ta wtyczka.

Stripe: bliżej "platforma, która wypłaca sprzedawcom". Polska bramka: bliżej "platforma z gotową wtyczką bramki".

Statusy subskrypcji Stripe

Od pierwszej faktury do anulowania. Dostęp do produktu wiążemy ze statusem, a nie z datą w Twojej bazie. Długość okresu łaski i wiadomości do klienta ustalamy z Tobą.

Status subskrypcji w StripeDostęp w Twojej aplikacji
incompleteDostęp w Twojej aplikacji: jeszcze wyłączony

Subskrypcja utworzona, pierwsza faktura czeka na zapłatę. Przy automatycznym pobraniu klient ma na nią 23 godziny.

activeDostęp w Twojej aplikacji: włączony

Opłacona. Włączamy dostęp do funkcji planu i wystawiamy fakturę do KSeF.

past_dueDostęp w Twojej aplikacji: okres łaski

Kolejna faktura nie została opłacona. Informujemy klienta i decydujemy, jak długo dostęp zostaje.

unpaidDostęp w Twojej aplikacji: wstrzymany

Stripe przestał pobierać płatności. Dostęp wstrzymany do czasu opłacenia.

Inne statusy
  • trialingprzed active, zamiast incomplete

    Okres próbny. Po jego końcu i udanej płatności subskrypcja sama przechodzi w active.

  • incomplete_expiredz incomplete: 23 godziny bez płatności

    Pierwsza faktura nieopłacona w terminie. Faktura unieważniona, potrzebna nowa subskrypcja.

  • canceledz active: rezygnacja

    Anulowana przez klienta albo przez Ciebie. Dostęp kończy się według zasad Twojego planu.

Od płatności Stripe do faktury w KSeF

Faktura w Stripe nie jest polską e-fakturą. Ustrukturyzowaną fakturę FA(3) składa i wysyła Twój system.

Zdarzenie
invoice.paid

Zdarzenie Stripe z podpisem Stripe-Signature, gdy płatność albo faktura subskrypcji jest opłacona.

  • Dostęp w aplikacji
    status active

    Funkcje planu włączone od razu, bez czekania na fakturę.

  • Moduł KSeF
    FA(3), plik XML

    Faktura z danych sprzedaży w Twojej bazie: klient, NIP, pozycje, stawki.

  • KSeF
    numer KSeF i UPO

    Faktura wysłana w tle z kolejki, z ponowieniami.

    Odbiera pod warunkiem: Faktury dla konsumentów mogą trafiać do KSeF dobrowolnie. Ustalamy z Tobą, które płatności idą do systemu.

  • Klient
    PDF z kodem QR

    Faktura z numerem KSeF.

  • Panel
    numer KSeF przy płatności

    Albo odrzucenie z powodem, do decyzji w panelu.

Co, gdy jeden cel nie odbierze

KSeF odrzuci fakturę

Dostęp zostaje włączony, a odrzucenie z powodem trafia do panelu.

KSeF nie odpowiada

Faktura czeka w kolejce modułu, który wysyła ją w tle i ponawia.

Szczegóły po stronie KSeF

Wysyłkę, tryby offline i kody QR opisujemy na stronie integracji z KSeF.

Webhook Stripe, którego nie da się oszukać

Zanim zdarzenie cokolwiek zmieni, sprawdzamy jego podpis i to, czy już go nie obsłużyliśmy. Na ekranie dziennik zdarzeń z jednej godziny.

Panel aplikacji: zdarzenia Stripe z jednej godziny, zdarzenie invoice.paid doręczone dwa razy, nagłówek Stripe-Signature, sekret endpointu i faktura w KSeF
  1. Stripe

    zdarzenie invoice.paid
  2. Podpis na surowej treści

    Podpis sprawdzamy na surowej treści sekretem whsec. Po sparsowaniu JSON-a podpis przestałby się zgadzać.

  3. Duplikat pominięty

    Stripe dopuszcza duplikaty, więc zapisujemy identyfikatory obsłużonych zdarzeń.

  4. Kolejka KSeF

    Opłacona faktura trafia do kolejki KSeF i włącza dostęp. Obie rzeczy są idempotentne.

  5. KSeF

    numer KSeF i UPO
  • Ponowienia przez trzy doby

    W trybie produkcyjnym Stripe ponawia zdarzenia do trzech dni. Endpoint musi być gotowy na zaległe zdarzenia po awarii.

  • Kolejność zdarzeń

    Pole created nie wyznacza kolejności. Stan bierzemy z obiektu w Stripe, a nie z ostatniego zdarzenia.

Stripe Connect: trzy rodzaje płatności

Platforma z wieloma sprzedawcami wybiera, kto jest stroną transakcji. Od tego zależy reszta projektu.

Twoja platforma z wieloma sprzedawcami

Kto jest stroną transakcji z klientem?

Direct charges

płatność na koncie sprzedawcy
Kiedy
  • Z kim klient zawiera transakcję: ze sprzedawcą, często nie wiedząc o platformie
  • Wielu sprzedawców w jednej płatności: nie
Pasuje do

narzędzi SaaS dla firm, które sprzedają same

Destination charges

płatność na platformie
Kiedy
  • Z kim klient zawiera transakcję: z platformą, za usługę sprzedawcy
  • Wielu sprzedawców w jednej płatności: nie
Pasuje do

marketplace z jednym sprzedawcą na zamówienie

Separate charges and transfers

rozdział później
Kiedy
  • Z kim klient zawiera transakcję: z platformą
  • Wielu sprzedawców w jednej płatności: tak
Pasuje do

koszyków z produktami kilku sprzedawców

Najczęstsze pytania o Stripe

Odpowiedzi o KSeF, BLIK-u w subskrypcji, marketplace i nieudanych odnowieniach.

Sprzedajesz jednorazowo czy w abonamencie?

Napisz, co sprzedajesz przez Stripe i czy faktury mają trafiać do KSeF. Odpowiemy w godzinę z pytaniami i wyceną.