- Существующий проект на FastAPI
- Доступ к Stripe Test Mode
- Для платёжного интерфейса нужен фронтенд
Доступ к репозиторию не нужен. Доступ к проекту требуется, только если Bacodo должен интегрировать решение напрямую.
Дополнение FastAPI
Добавьте официальный Stripe Python SDK, APIRouter и веб-перехватчик, который проверяет подпись Stripe в await request.body(). FastAPI — это API — это не Django, не DRF, и он не собирает карты.
От
$229
USD · FastAPI
Интеграция Stripe для FastAPI · FastAPI
Requirements
Доступ к репозиторию не нужен. Доступ к проекту требуется, только если Bacodo должен интегрировать решение напрямую.
Что делает
Bacodo интегрирует Stripe в уже существующий проект FastAPI. После передачи маршрутизаторы, зависимости и настройки сохраняются в вашем репозитории. Вы по-прежнему владеете учетной записью Stripe, ключами API и комиссиями Stripe. FastAPI никогда не хранит PAN.
Для производственного пути FastAPI Stripe требуется официальный пакет Stripe, создание PaymentIntent в зависимости или сервисе и Construction_event в необработанных байтах запроса. Если вы сначала ожидаете request.json(), проверка подписи завершится неудачно. Это обычная ошибка веб-перехватчика FastAPI.
Мы добавляем APIRouter, pydantic-settings (или ваши существующие настройки), конечную точку создания намерения с моделью запроса Pydantic и веб-перехватчик, который использует await request.body(). Запись заказов осуществляется через SQLAlchemy, уже имеющийся у вас репозиторий или любое другое хранилище, которое уже использует приложение FastAPI, а не Django ORM.
Ваша команда пропускает первую производственную реализацию FastAPI Stripe: необработанные веб-перехватчики, идемпотентную обработку событий, PaymentIntents с поддержкой SCA и передачу, которая документирует ключи от тестирования к работе.
Разработчики серверной части Python и агентства, которые уже используют FastAPI. Если ваш API — Django, то есть интеграция Stripe для Django — мы не вставляем urls.py в приложение FastAPI.
Ключевые возможности
Создайте PaymentIntents с помощью библиотеки Stripe Python из зависимости или службы FastAPI. Секретный ключ поступает из Settings/env, а не из модели Pydantic, которую публикует клиент.
Stripe.Webhook.construct_event требует именно тех байтов, которые подписаны Stripe. Маршрут FastAPI читает await request.body() и заголовок Stripe-Signature. Из-за анализа JSON в первую очередь интеграция FastAPI Stripe терпит неудачу в производстве.
Выполнение запускается в обработчике FastAPI после успешного завершенияstruct_event, а не после страницы с благодарностью. Мы обновляем существующий заказ или запись о правах.
Сначала отправьте FastAPI с тестовыми ключами Stripe и секретом веб-перехватчика. Запуск в эксплуатацию — это документированное переключение конечной точки env и Dashboard, а не дополнительная лицензия.
Полоса повторяет попытку. Обработчик FastAPI отключает event.id (или идентификатор PaymentIntent), чтобы дубликат POST не выполнялся дважды.
React, Next.js или мобильное приложение получают от этого приложения FastAPI только публикуемый ключ и недолговечный client_secret. Это дополнение представляет собой путь к серверу FastAPI, а не элементы внутри шаблона Jinja.
Сценарии
Вы уже создаете заказы в FastAPI, и вам нужен API для создания PaymentIntents и пометки заказов, оплаченных с помощью веб-перехватчиков.
Вам нужен поддерживаемый маршрутизатор Stripe в FastAPI, исходный код в клиентском репозитории и документированное переключение с использованием живого ключа вместо одноразового сценария рядом с main.py.
FastAPI создает первый PaymentIntent или прикрепляет метод оплаты. Регулярный биллинг Stripe Billing остается на сервере. Для тяжелой работы по выставлению счетов может потребоваться индивидуальное предложение.
Next.js, React или мобильные устройства уже вызывают это приложение FastAPI. Интеграция Stripe для FastAPI — это только сторона API. Интерфейс Stripe.js — это другая платформа, если вам это тоже нужно.
Демо
Просмотрите путь к серверу FastAPI: создайте PaymentIntent, получите POST /webhooks/stripe, Construct_event в request.body(), обновите состояние заказа. Живая песочница для вашей учетной записи Stripe доступна после проверки совместимости. Эта страница не обрабатывает реальные платежи и не собирает карты в FastAPI.
Как это работает
Стандартный рабочий процесс надстройки Bacodo со специфичными для FastAPI проверками uvicorn, настройками pydantic, вызовами асинхронной или синхронизирующей полосы, а также хранилищем, которое уже используют ваши маршруты.
01
Подтвердите интеграцию Stripe для FastAPI и укажите, будет ли первый день PaymentIntents, Checkout Sessions или и то, и другое в приложении FastAPI.
02
Просмотрите версии FastAPI/Python, pydantic v2, существующее сохранение порядка (SQLAlchemy или другое), зависимости аутентификации и наличие у вас уже учетной записи Stripe.
03
Добавьте пакет Stripe, APIRouter, конечную точку создания намерения и веб-перехватчик, который проверяет подписи в await request.body().
04
Настройки передачи из env: секретный ключ, публикуемый ключ для клиентов, секрет веб-перехватчика и общедоступный URL-адрес HTTPS, который будет вызываться.
05
Запускайте тестовые события Stripe CLI или Dashboard с помощью веб-перехватчика FastAPI, а также пути создания и отклонения. Подтвердите, что request.json() не сможет подписать подпись, как ожидалось.
06
Предоставьте исходный код FastAPI, примечания к окружению и контрольный список действующих ключей. Реализация FastAPI остается за вами.
Архитектура
Процесс FastAPI содержит секретный ключ. Клиенты запрашивают маршрут FastAPI для создания PaymentIntent. Stripe уведомляет FastAPI с помощью веб-перехватчика. FastAPI проверяет подпись в request.body(), затем записывает состояние заказа.
Поддерживаемые технологии
Текущий FastAPI в версии Python, которую принимает Stripe SDK, обычно обслуживается uvicorn. Это не Django и не Flask — мы не добавляем urls.py или чертежи Flask.
PaymentIntents, сеансы оформления заказа и Webhook.construct_event. Вызовы синхронизации из асинхронных маршрутов ограничиваются честно (threadpool или StripeClient async) — мы не притворяемся, что блокировка полосы бесплатна внутри async def.
Обновления заказов или прав остаются в SQLAlchemy, другом хранилище или уже имеющемся репозитории. Это дополнение не изобретает модель Django.
Ваша учетная запись Stripe, тестовые и действующие ключи, используемые FastAPI, конечной точкой веб-перехватчика и событиями информационной панели. Плата за обработку Stripe остается за Stripe.
Хост, который может запускать uvicorn (или его аналог) и получать HTTPS POST от Stripe. Статический сайт не может размещать этот путь веб-перехватчика FastAPI.
Что входит
Pricing
Эта цена указана только для платформы FastAPI. Он не использует цены на надстройки Django, NestJS, Next.js, React или Flutter.
Интеграция Stripe для FastAPI
Добавьте готовые к использованию Stripe PaymentIntents и подписанные веб-перехватчики в существующее приложение FastAPI и сохраните исходный код.
Требования
$229
разовоFastAPI
Нужен фронтенд?
Безопасная оплата черезstripe
Передача и безопасность
Типичная интеграция FastAPI Stripe определяется после проверки совместимости FastAPI. Временная шкала зависит от вашего уровня персистентности и от того, как клиенты вызывают FastAPI.
Платежные намерения, подписи веб-перехватчиков, повторные попытки и пути отклонения в тестовом режиме проверяются перед передачей приложения FastAPI.
Секретные ключи и секреты подписи веб-перехватчиков остаются в среде сервера. Клиенты получают только публикуемый ключ или недолговечный client_secret.
Маршрут веб-перехватчика FastAPI проверяет подписи Stripe в необработанном теле перед обновлением состояния заказа или прав.
Мы не претендуем на сертификацию PCI, отсутствие мошенничества или гарантированный уровень одобрения. FastAPI не хранит PAN. Данные карты собираются Stripe Checkout или Elements на клиенте, а не специальной формой FastAPI, которую мы сохраняем.
FAQ
Интеграция Stripe для FastAPI включает в себя официальный Stripe Python SDK, FastAPI APIRouter, конечную точку create-PaymentIntent, веб-перехватчик, который вызываетstruct_event в await request.body(), обновления состояния заказа в вашем существующем магазине, тесты на тестовые события Stripe и заметки о передаче. Вы получаете исходный код FastAPI в свой проект. Комиссия Stripe и ваша учетная запись Stripe разделены.
Да. Интеграция Stripe для FastAPI создана для уже имеющегося у вас приложения FastAPI. Мы встраиваем маршрутизаторы, зависимости и настройки в ваш текущий проект FastAPI вместо того, чтобы поставлять отдельное демонстрационное приложение в качестве результата.
Нет. FastAPI не должен хранить PAN. Клиенты используют Stripe Checkout или Elements. Интеграция Stripe для FastAPI владеет серверными объектами PaymentIntents, веб-перехватчиками и записью заказов. Пользовательская форма FastAPI, которая публикует необработанные данные карты, выходит за рамки области действия по умолчанию.
Интеграция Stripe для FastAPI использует официальную библиотеку Python для PaymentIntents, сеансов оформления заказа и Webhook.construct_event. Мы не помещаем платежи FastAPI в недокументированный плагин, если только вам это явно не требуется.
Stripe.Webhook.construct_event проверяет точные байты, подписанные Stripe. await request.json() анализирует и изменяет это тело. Интеграция Stripe для FastAPI читает await request.body() на маршруте веб-перехватчика. Это обычный сбой проверки подписи FastAPI, если вы его пропустите.
Нет. FastAPI использует APIRouter, Depends и pydantic-settings. Представления Django, urls.py и Django ORM — это интеграция Stripe для Django. Мы не вставляем шаблоны Django в приложение FastAPI.
FastAPI может создать сеанс PaymentIntent или Checkout и сохранить идентификатор клиента Stripe. Продукты повторяющегося биллинга Stripe, клиентский портал и логика выставления счетов остаются на сервере. Для работы FastAPI с большим объемом подписки может потребоваться специальная цена.
Процесс FastAPI использует секретный ключ и секрет подписи веб-перехватчика из настроек/переменных среды. Клиенты получают только публикуемый ключ. Интеграция Stripe для FastAPI не помещает секретные ключи в модели запросов Pydantic.
Мы реализуем интеграцию Stripe для FastAPI с тестовыми ключами Stripe и сначала тестируем события веб-перехватчика. Запуск — это задокументированное переключение ключа и конечной точки в вашей панели управления Stripe и среде FastAPI, а не активация дополнительной лицензии.
FastAPI создает PaymentIntents, поддерживающие SCA. Клиент выполняет 3-D Secure с помощью Stripe.js или Checkout. FastAPI выполняется только после того, как pay_intent.succeeded на веб-перехватчике, а не только после перенаправления браузера.
Да, для выполнения после созданного FastAPI сеанса PaymentIntent или Checkout. FastAPI 200 для клиента не является источником истины. Маршрут веб-перехватчика проверяет подписи, а затем отмечает оплаченный заказ.
Да. Интеграция Stripe для FastAPI обычно добавляет поля или тонкую запись платежа рядом с существующей моделью заказов FastAPI вместо замены SQLAlchemy или изобретения модели Django.
Нет. Вы создаете и владеете учетной записью Stripe, ключами API и комиссией за обработку Stripe. Дополнительная цена FastAPI — это внедрение в ваш проект FastAPI, а не платежная лицензия Bacodo.
Мы честно проверяем это во время проверки совместимости FastAPI. Блокирующие вызовы полосы внутри async def перемещаются в пул потоков или мы используем асинхронный клиент Stripe, где это поддерживается закрепленной версией полосы. Мы не претендуем на то, чтобы полоса синхронизации была бесплатной в асинхронном маршруте FastAPI.
Да. Метаданные сеанса PaymentIntent или Checkout, записи клиентов и поля, которые вы сохраняете после подтверждения веб-перехватчика, приводятся в соответствие с существующей моделью заказов FastAPI во время интеграции Stripe для FastAPI.
Исходный код FastAPI находится в вашем репозитории, поэтому ваша команда может его поддерживать. Включенная 30-дневная поддержка охватывает технические вопросы и дефекты в поставляемой интеграции Stripe для FastAPI, а не работу несвязанных функций FastAPI.
В течение 30-дневного периода мы помогаем устранить сбои в предоставленной интеграции FastAPI, вызванные задокументированным изменением Stripe API или пакета Stripe. Постоянные обновления FastAPI после этого — это ваше обслуживание или расширенная техническая поддержка, если вы его купите.
Мы документируем, как читать статус PaymentIntent, журналы Stripe Dashboard и доставку веб-перехватчика FastAPI. 30-дневная поддержка включает устранение сбоев подписи (обычно request.json() вместо request.body()), повторных попыток и неправильной настройки ключей для доставленного потока FastAPI.
Мы подтверждаем ваши версии FastAPI, Python и pydantic v2 относительно выпуска полосы, который мы закрепляем во время интеграции. Старым или сильно разветвленным средам выполнения FastAPI могут потребоваться дополнительные возможности.
30 дней после передачи включены в доставленный путь FastAPI Stripe. Расширенная техническая поддержка является необязательной, ее стоимость составляет 20 % от стоимости дополнения к FastAPI, и она покрывает еще шесть месяцев технической помощи по той же интеграции FastAPI, а не по созданию нового продукта.
Добавьте готовые к использованию платежи Stripe в существующее приложение FastAPI, сохраните исходный код и предоставьте возможность серверу самостоятельно выполнять операции.
$229