- Istniejący projekt FastAPI
- Dostęp do Stripe Test Mode
- Do interfejsu płatności potrzebny jest frontend
Dostęp do repozytorium nie jest wymagany. Dostęp do projektu jest potrzebny tylko, gdy Bacodo ma zintegrować dodatek bezpośrednio.
Dodatek FastAPI
Dodaj oficjalny pakiet SDK Pythona, APIRouter i webhook, który weryfikuje podpis Stripe-Signature w oczekiwaniu na request.body(). FastAPI to API — to nie Django, nie DRF i nie zbiera kart.
Od
$229
USD · FastAPI
Integracja Stripe dla FastAPI · FastAPI
Requirements
Dostęp do repozytorium nie jest wymagany. Dostęp do projektu jest potrzebny tylko, gdy Bacodo ma zintegrować dodatek bezpośrednio.
Co robi
Bacodo integruje Stripe z projektem FastAPI, który już posiadasz. Po przekazaniu routery, zależności i ustawienia znajdują się w Twoim repozytorium. Nadal jesteś właścicielem konta Stripe, kluczy API i opłat Stripe. FastAPI nigdy nie przechowuje PAN.
Produkcyjna ścieżka paska FastAPI wymaga oficjalnego pakietu pasków, utworzenia PaymentIntent w zależności lub usłudze oraz zdarzenia konstrukcyjnego na surowych bajtach żądania. Jeśli najpierw zaczekasz na request.json(), sprawdzenie podpisu zakończy się niepowodzeniem. Jest to typowy błąd webhooka FastAPI.
Dodajemy APIRouter, ustawienia pydantic (lub istniejące ustawienia), punkt końcowy z intencją tworzenia z modelem żądań Pydantic i element webhook korzystający z funkcji oczekujące request.body(). Zapisy zamówień przechodzą przez SQLAlchemy, repozytorium, które już posiadasz, lub jakikolwiek inny sklep, z którego korzysta już aplikacja FastAPI – nie Django ORM.
Twój zespół pomija pierwszą produkcyjną implementację FastAPI Stripe: surowe webhooki, idempotentną obsługę zdarzeń, PaymentIntents obsługujące SCA i przekazanie, które dokumentuje klucze od testowania do uruchomienia.
Inżynierowie backendu Pythona i agencje, które już korzystają z FastAPI. Jeśli Twoim API jest Django, czyli Stripe Integration for Django — nie wklejamy urls.py do aplikacji FastAPI.
Kluczowe funkcje
Utwórz PaymentIntents za pomocą biblioteki Stripe Python z zależności lub usługi FastAPI. Tajny klucz pochodzi z Ustawień/env — nigdy z modelu Pydantic, który publikuje klient.
stripe.Webhook.construct_event wymaga dokładnie tych samych bajtów podpisanych przez Stripe. Trasa FastAPI odczytuje oczekujące żądanie.body() i nagłówek Stripe-Signature. Najpierw analizowanie JSON powoduje niepowodzenie integracji FastAPI Stripe w środowisku produkcyjnym.
Realizacja odbywa się w procedurze obsługi FastAPI po pomyślnym zakończeniu zdarzenia „construct_event”, a nie po stronie z podziękowaniami. Aktualizujemy Twoje istniejące zamówienie lub rejestr uprawnień.
Najpierw wyślij FastAPI z kluczami testowymi Stripe i sekretem webhooka. Uruchomienie to udokumentowane przeniesienie środowiska i punktu końcowego pulpitu nawigacyjnego, a nie licencja dodatkowa.
Próby pasków. Program obsługi FastAPI wyłącza event.id (lub identyfikator PaymentIntent), aby zduplikowany wpis POST nie został dwukrotnie spełniony.
React, Next.js lub aplikacja mobilna otrzymuje tylko klucz do publikacji i krótkotrwały sekret_klienta z tej aplikacji FastAPI. Ten dodatek to ścieżka serwera FastAPI, a nie elementy wewnątrz szablonu Jinja.
Zastosowania
Tworzysz już zamówienia w FastAPI i potrzebujesz API, aby utworzyć PaymentIntents i oznaczyć te zamówienia jako opłacone z webhooków.
Potrzebujesz łatwego w utrzymaniu routera Stripe w FastAPI, źródła w repozytorium klienta i udokumentowanego przeniesienia klucza na żywo zamiast jednorazowego skryptu obok pliku main.py.
FastAPI tworzy pierwszy PaymentIntent lub dołącza metodę płatności. Płatność cykliczna Stripe pozostaje na serwerze. Ciężkie prace związane z rozliczeniami mogą wymagać niestandardowej wyceny.
Next.js, React lub mobile już wywołuje tę aplikację FastAPI. Integracja Stripe dla FastAPI to tylko strona API — frontend Stripe.js to inna platforma docelowa, jeśli też tego potrzebujesz.
Demo
Podgląd ścieżki serwera FastAPI: utwórz PaymentIntent, odbierz POST /webhooks/stripe,struct_event na request.body(), zaktualizuj stan zamówienia. Aktywna piaskownica powiązana z Twoim kontem Stripe będzie dostępna po sprawdzeniu zgodności. Ta strona nie przetwarza rzeczywistych opłat i nie gromadzi kart w FastAPI.
Jak to działa
Standardowy przepływ pracy dodatku Bacodo, ze specyficznymi dla FastAPI sprawdzaniami uvicorn, ustawieniami pydantic, wywołaniami pasków asynchronicznych i synchronizacyjnych oraz sklepem, z którego już korzystają Twoje trasy.
01
Potwierdź integrację Stripe z FastAPI i czy pierwszym dniem są PaymentIntents, Sesje realizacji transakcji, czy oba w aplikacji FastAPI.
02
Przejrzyj wersje FastAPI/Python, pydantic v2, trwałość istniejących zamówień (SQLAlchemy lub inne), zależności uwierzytelniania i to, czy masz już konto Stripe.
03
Dodaj pakiet Stripe, APIRouter, punkt końcowy tworzenia intencji i element webhook weryfikujący podpisy w funkcji oczekujące request.body().
04
Ustawienia drutu z env: tajny klucz, publikowany klucz dla klientów, tajny element webhook i publiczny adres URL HTTPS, który wywoła Stripe.
05
Uruchamiaj zdarzenia testowe Stripe CLI lub Dashboard w oparciu o webhook FastAPI, a także ścieżki tworzenia i odrzucania. Potwierdź, że metoda request.json() nie zakończy się podpisaniem zgodnie z oczekiwaniami.
06
Dostarcz źródło FastAPI, notatki env i listę kontrolną aktywnego klucza. Utrzymanie implementacji FastAPI należy do Ciebie.
Architektura
Proces FastAPI przechowuje tajny klucz. Klienci proszą trasę FastAPI o utworzenie PaymentIntent. Stripe powiadamia FastAPI poprzez webhook. FastAPI weryfikuje podpis na request.body(), następnie zapisuje stan zamówienia.
Obsługiwane technologie
Bieżący interfejs FastAPI w wersji Python akceptowany przez zestaw SDK Stripe, zwykle obsługiwany z uvicornem. To nie jest Django ani Flask — nie dodajemy urls.py ani planów Flask.
PaymentIntents, sesje realizacji transakcji i webhook.construct_event. Wywołania synchronizacji z tras asynchronicznych mają uczciwy zakres (asynchronizacja w puli wątków lub StripeClient) — nie udajemy, że pasek blokujący jest wolny w defensywie async.
Aktualizacje zamówień lub uprawnień pozostają w SQLAlchemy, innym sklepie lub repozytorium, które już posiadasz. Ten dodatek nie tworzy modelu Django.
Twoje konto Stripe, klucze testowe i aktywne używane przez FastAPI, punkt końcowy webhooka i zdarzenia na pulpicie nawigacyjnym. Opłaty za przetwarzanie Stripe pozostają w Stripe.
Host, na którym można uruchomić uvicorn (lub jego odpowiednik) i odbierać wiadomości HTTPS POST od Stripe. Witryna statyczna nie może hostować tej ścieżki elementu webhook FastAPI.
Co jest w cenie
Pricing
Cena ta dotyczy wyłącznie platformy FastAPI. Nie korzysta z cen dodatków Django, NestJS, Next.js, React ani Flutter.
Integracja Stripe dla FastAPI
Dodaj gotowe do produkcji rozwiązania Stripe PaymentIntents i podpisane webhooki do istniejącej aplikacji FastAPI i zachowaj kod źródłowy.
Wymagania
$229
jednorazowoFastAPI
Potrzebujesz frontendu?
Bezpieczna płatność przezstripe
Dostawa i bezpieczeństwo
Typowa integracja FastAPI Stripe jest ustalana po sprawdzeniu zgodności z FastAPI. Oś czasu zależy od warstwy trwałości i sposobu, w jaki klienci wywołują FastAPI.
Intenty płatności w trybie testowym, podpisy webhook, ponowne próby i ścieżki odrzuceń są sprawdzane w aplikacji FastAPI przed jej przekazaniem.
Tajne klucze i sekrety podpisywania webhooków pozostają w środowisku serwera. Klienci otrzymują tylko klucz do publikacji lub krótkotrwały sekret_klienta.
Trasa webhooka FastAPI weryfikuje podpisy Stripe w nieprzetworzonej treści przed aktualizacją zamówienia lub stanu uprawnienia.
Nie żądamy certyfikatu PCI, zerowego oszustwa ani gwarantowanych wskaźników akceptacji. FastAPI nie przechowuje PAN. Dane karty są gromadzone przez Stripe Checkout lub Elements na kliencie, a nie przez niestandardowy formularz FastAPI, który utrzymujemy.
FAQ
Integracja Stripe z FastAPI obejmuje oficjalny pakiet SDK języka Stripe, router API FastAPI, punkt końcowy create-PaymentIntent, webhook wywołujący constult_event w funkcji oczekujące request.body(), aktualizacje stanu zamówień w istniejącym sklepie, testy pod kątem zdarzeń testowych Stripe i notatki dotyczące przekazania. Źródło FastAPI otrzymujesz w swoim projekcie. Opłaty Stripe i Twoje konto Stripe są odrębne.
Tak. Integracja Stripe dla FastAPI jest przeznaczona dla aplikacji FastAPI, którą już posiadasz. Dopasowujemy routery, zależności i ustawienia do Twojego bieżącego projektu FastAPI, zamiast dostarczać oddzielną aplikację demonstracyjną w ramach dostawy.
Nie. FastAPI nie może przechowywać PAN. Klienci korzystają z Stripe Checkout lub Elements. Integracja Stripe dla FastAPI posiada po stronie serwera PaymentIntents, webhooki i zapisy zamówień. Niestandardowy formularz FastAPI, który publikuje nieprzetworzone dane karty, jest poza zakresem domyślnym.
Integracja Stripe dla FastAPI wykorzystuje oficjalną bibliotekę Stripe Python dla PaymentIntents, Checkout Sessions i Webhook.construct_event. Nie dołączamy płatności FastAPI do nieudokumentowanych wtyczek, chyba że wyraźnie tego potrzebujesz.
stripe.Webhook.construct_event sprawdza dokładnie liczbę podpisanych bajtów Stripe. Wait request.json() analizuje i zmienia tę treść. Integracja Stripe dla odczytów FastAPI oczekuje na request.body() na trasie webhooka. Jest to typowy błąd sprawdzania podpisu FastAPI, jeśli go pominiesz.
Nie. FastAPI używa APIRouter, Zależności i ustawień pydantic. Widoki Django, urls.py i Django ORM to integracja Stripe dla Django. Nie wklejamy wzorców Django do aplikacji FastAPI.
FastAPI może utworzyć sesję PaymentIntent lub Checkout i przechowywać identyfikator klienta Stripe. Produkty rozliczeniowe Stripe Billing, portal klienta i logika faktur pozostają na serwerze. Praca FastAPI wymagająca dużej ilości subskrypcji może wymagać niestandardowej wyceny.
Proces FastAPI wykorzystuje tajny klucz i sekret podpisywania webhooka z Ustawień/zmiennych środowiskowych. Klienci otrzymują tylko klucz do publikacji. Integracja Stripe dla FastAPI nie umieszcza tajnych kluczy w modelach żądań Pydantic.
Wdrażamy integrację Stripe dla FastAPI z kluczami testowymi Stripe i najpierw testujemy zdarzenia webhook. Uruchomienie oznacza udokumentowaną zmianę klucza i punktu końcowego w panelu Stripe Dashboard i środowisku FastAPI, a nie aktywację licencji dodatkowej.
FastAPI tworzy PaymentIntents obsługujące SCA. Klient uzupełnia 3-D Secure za pomocą Stripe.js lub Checkout. FastAPI działa tylko po Payment_intent.succeeded na webhooku, a nie po samym przekierowaniu przeglądarki.
Tak, w przypadku realizacji po utworzonej przez FastAPI PaymentIntent lub sesji realizacji transakcji. FastAPI 200 dla klienta nie jest źródłem prawdy. Trasa webhooka weryfikuje podpisy, a następnie oznacza opłacone zamówienie.
Tak. Integracja Stripe dla FastAPI zazwyczaj dodaje pola lub cienki rekord płatności obok istniejącego modelu zamówienia FastAPI, zamiast zastępować SQLAlchemy lub wymyślać model Django.
Nie. Tworzysz i jesteś właścicielem konta Stripe, kluczy API i opłat za przetwarzanie Stripe. Ceną dodatku FastAPI jest wdrożenie do Twojego projektu FastAPI, a nie licencja płatnicza Bacodo.
Uczciwie podchodzimy do tego podczas sprawdzania zgodności z FastAPI. Blokujące wywołania Stripe wewnątrz async def są przenoszone do puli wątków lub używamy klienta asynchronicznego Stripe, gdzie obsługuje to wersja przypiętego paska. Nie udajemy, że pasek synchronizacji jest bezpłatny na asynchronicznej trasie FastAPI.
Tak. Metadane PaymentIntent lub Checkout Session, rekordy klientów i pola, które utrzymujesz po potwierdzeniu webhooka, są dopasowywane do istniejącego modelu zamówień FastAPI podczas integracji Stripe dla FastAPI.
Źródło FastAPI znajduje się w Twoim repozytorium, więc Twój zespół może nim zarządzać. Wliczone w cenę 30-dniowe wsparcie obejmuje pytania techniczne i defekty w dostarczonym zakresie integracji Stripe dla FastAPI, a nie powiązane prace związane z funkcjami FastAPI.
W 30-dniowym okienku pomagamy w przypadku zakłóceń w dostarczonej integracji FastAPI spowodowanej udokumentowaną zmianą Stripe API lub zmianą pakietu Stripe. Późniejsze aktualizacje FastAPI obejmują konserwację lub rozszerzoną pomoc techniczną, jeśli ją kupisz.
Dokumentujemy sposób odczytywania statusu PaymentIntent, dzienników Stripe Dashboard i dostarczania webhooka FastAPI. 30-dniowe wsparcie obejmuje rozwiązywanie problemów z błędami podpisów (zwykle request.json() zamiast request.body()), ponownymi próbami i błędnie skonfigurowanymi kluczami dla dostarczonego przepływu FastAPI.
Potwierdzamy wersje FastAPI, Python i pydantic v2 względem wersji Stripe, którą przypinamy w czasie integracji. Starsze lub mocno rozwidlone środowiska wykonawcze FastAPI mogą wymagać dodatkowego zakresu.
Dostarczona ścieżka FastAPI Stripe obejmuje 30 dni od przekazania. Rozszerzone wsparcie techniczne jest opcjonalne w cenie 20% ceny dodatku FastAPI i obejmuje dodatkowe sześć miesięcy pomocy technicznej w zakresie tej samej integracji FastAPI, a nie nowej kompilacji produktu.
Dodaj gotowe do produkcji płatności Stripe do istniejącej aplikacji FastAPI, zachowaj kod źródłowy i pozwól, aby serwer sam realizował płatności.
$229