Skip to main content

GitHub Repository

완성된 FastAPI + Dodo Payments 보일러플레이트

개요

FastAPI 보일러플레이트는 Python 백엔드에 Dodo Payments을(를) 통합할 수 있는 프로덕션 준비가 완료된 시작점을 제공합니다. 이 템플릿에는 결제 수락을 빠르게 시작할 수 있도록 checkout session 처리, webhook 검증, Customer Portal 통합 및 비동기 API 패턴이 포함되어 있습니다.
이 보일러플레이트는 async/await 패턴을 사용하는 FastAPI, 검증을 위한 Pydantic, 원활한 API 통합을 위한 dodopayments Python SDK로 구성되어 있습니다.

기능

  • 빠른 설정 - 5분 이내에 시작
  • 비동기 지원 - FastAPI의 기본 async/await 패턴으로 구축
  • Checkout Sessions - Python SDK를 사용하는 사전 구성된 checkout flow
  • Webhook 처리 - signature verification 기능을 갖춘 보안 webhook endpoint
  • Customer Portal - 간편한 customer portal session 생성
  • 타입 안전성 - 완전한 Pydantic validation 및 type hints
  • 환경 구성 - 바로 사용할 수 있는 environment variable 설정

사전 요구 사항

시작하기 전에 다음 항목을 준비하세요:
  • Python 3.9+ (권장: Python 3.11+)
  • 패키지 관리를 위한 pip 또는 uv
  • Dodo Payments account (dashboard에서 API 및 Webhook Keys에 액세스하기 위해 필요)

빠른 시작

1

Clone the Repository

2

Create Virtual Environment

격리된 Python 환경을 설정합니다:
더 빠른 dependency management를 위해 uv를 사용하는 방법:
3

Install Dependencies

또는 uv를 사용합니다:
4

Get API Credentials

Dodo Payments에서 가입하고 dashboard에서 자격 증명을 가져옵니다:
개발 중에는 Test Mode인지 확인하세요!
5

Configure Environment Variables

루트 디렉터리에 .env 파일을 생성합니다:
Dodo Payments 자격 증명으로 값을 업데이트합니다:
.env
.env 파일을 version control에 커밋하지 마세요. 이미 .gitignore에 포함되어 있습니다.
6

Run the Development Server

http://localhost:8000/docs를 열어 interactive API documentation을 확인하세요!
테스트할 수 있는 모든 endpoint가 준비된 FastAPI의 Swagger UI가 표시됩니다.

프로젝트 구조

API Endpoint

보일러플레이트에는 다음과 같이 사전 구성된 endpoint가 포함되어 있습니다:

코드 예제

Checkout Session 생성

Webhook 처리

Customer Portal 통합

Webhook 이벤트

보일러플레이트는 다음과 같은 일반적인 webhook 이벤트 처리를 보여 줍니다: webhook handler 내부에 비즈니스 로직을 추가하여 다음 작업을 수행하세요:
  • 데이터베이스의 사용자 권한 업데이트
  • 확인 이메일 전송
  • 디지털 제품에 대한 액세스 제공
  • 분석 및 지표 추적

로컬에서 Webhook 테스트

로컬 개발에서는 ngrok과 같은 도구를 사용하여 로컬 서버를 외부에 노출합니다:
Dodo Payments Dashboard에서 webhook URL을 업데이트합니다:

배포

Docker

빌드 및 실행:

프로덕션 고려 사항

프로덕션에 배포하기 전에:
  • DODO_PAYMENTS_ENVIRONMENT을(를) live_mode(으)로 전환
  • dashboard에서 프로덕션 API keys 사용
  • webhook URL을 프로덕션 도메인으로 업데이트
  • 모든 endpoint에 HTTPS 활성화

문제 해결

가상 환경이 활성화되어 있고 dependencies가 설치되어 있는지 확인하세요:
일반적인 원인:
  • 잘못된 product ID - Dodo dashboard에서 존재하는지 확인
  • .env의 API key 또는 environment 설정 오류
  • 자세한 오류 메시지는 FastAPI logs에서 확인
로컬 테스트에서는 ngrok을 사용하여 서버를 외부에 노출합니다:
Dodo dashboard에서 webhook URL을 ngrok URL로 업데이트합니다. .env 파일을 올바른 webhook verification key로 업데이트하세요.
  • .env에서 DODO_PAYMENTS_WEBHOOK_KEY이(가) 올바르게 설정되었는지 확인
  • signature verification에 raw request body를 사용하고 있는지 확인
  • webhook-signature header를 올바르게 읽고 있는지 확인

더 알아보기

Python SDK

async support를 포함한 전체 Python SDK documentation

Webhooks Documentation

모든 webhook 이벤트와 best practices 알아보기

Checkout Sessions

checkout session 구성 자세히 알아보기

API Reference

전체 Dodo Payments API documentation

지원

보일러플레이트에 도움이 필요하신가요?
마지막 수정일 2026년 7월 31일