Chuyển đến nội dung chính

GitHub Repository

Hoàn thiện mã mẫu FastAPI + Dodo Payments

Tổng quan

Mẫu FastAPI cung cấp một điểm khởi đầu sẵn sàng cho sản xuất để tích hợp Dodo Payments với backend Python của bạn. Mẫu này bao gồm xử lý phiên thanh toán, xác minh webhook, tích hợp cổng khách hàng và các mẫu API bất đồng bộ để giúp bạn bắt đầu chấp nhận thanh toán nhanh chóng.
Mã mẫu này sử dụng FastAPI với các mẫu async/await, Pydantic để xác thực và SDK Python dodopayments nhằm tích hợp API một cách liền mạch.

Tính năng

  • Cài đặt nhanh - Bắt đầu trong chưa đầy 5 phút
  • Hỗ trợ bất đồng bộ - Được xây dựng với các mẫu async/await của FastAPI
  • Phiên thanh toán - Quy trình thanh toán được cấu hình sẵn sử dụng SDK Python
  • Xử lý Webhook - Điểm cuối webhook an toàn với xác minh chữ ký
  • Cổng khách hàng - Tạo phiên cổng khách hàng dễ dàng
  • An toàn kiểu - Xác thực Pydantic đầy đủ và gợi ý kiểu
  • Cấu hình môi trường - Cài đặt biến môi trường sẵn sàng sử dụng

Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn đã có:
  • Python 3.9+ (khuyến nghị: Python 3.11+)
  • pip hoặc uv để quản lý gói
  • Tài khoản Dodo Payments (để truy cập API và Webhook Keys từ bảng điều khiển)

Bắt đầu nhanh

1

Clone the Repository

2

Create Virtual Environment

Thiết lập môi trường Python riêng biệt:
Hoặc sử dụng uv để quản lý phụ thuộc nhanh hơn:
3

Install Dependencies

Hoặc với uv:
4

Get API Credentials

Đăng ký tại Dodo Payments và lấy thông tin xác thực từ bảng điều khiển:
Hãy chắc chắn bạn đang ở Chế độ Kiểm thử khi phát triển!
5

Configure Environment Variables

Tạo một tệp .env trong thư mục gốc:
Cập nhật các giá trị với thông tin xác thực Dodo Payments của bạn:
.env
Không bao giờ đưa tệp .env vào hệ thống kiểm soát phiên bản. Nó đã được bao gồm trong .gitignore.
6

Run the Development Server

Mở http://localhost:8000/docs để xem tài liệu API tương tác!
Bạn sẽ thấy giao diện Swagger UI của FastAPI với tất cả các điểm cuối sẵn sàng để kiểm thử.

Cấu trúc Dự án

Các Điểm Cuối API

Mẫu này bao gồm các điểm cuối được cấu hình sẵn sau:

Ví dụ Mã

Tạo một Phiên Thanh Toán

Xử lý Webhooks

Tích hợp Cổng Khách Hàng

Sự Kiện Webhook

Mẫu này minh họa việc xử lý các sự kiện webhook phổ biến: Thêm logic kinh doanh của bạn bên trong trình xử lý webhook để:
  • Cập nhật quyền người dùng trong cơ sở dữ liệu của bạn
  • Gửi email xác nhận
  • Cung cấp quyền truy cập vào sản phẩm kỹ thuật số
  • Theo dõi phân tích và số liệu

Kiểm Tra Webhooks Tại Địa Phương

Để phát triển tại địa phương, sử dụng các công cụ như ngrok để mở rộng máy chủ địa phương của bạn:
Cập nhật URL webhook trong Bảng điều khiển Dodo Payments:

Triển Khai

Docker

Xây dựng và chạy:

Cân Nhắc Sản Xuất

Trước khi triển khai lên môi trường production:
  • Chuyển DODO_PAYMENTS_ENVIRONMENT sang live_mode
  • Sử dụng khóa API production từ bảng điều khiển
  • Cập nhật URL webhook về miền production của bạn
  • Bật HTTPS cho tất cả các điểm cuối

Khắc Phục Sự Cố

Hãy đảm bảo môi trường ảo đã được kích hoạt và các phụ thuộc đã được cài đặt:
Nguyên nhân phổ biến:
  • ID sản phẩm không hợp lệ - kiểm tra xem nó có tồn tại trên bảng điều khiển Dodo của bạn không
  • Khóa API hoặc thiết lập môi trường sai trong .env
  • Kiểm tra nhật ký FastAPI để nắm thông báo lỗi chi tiết
Để kiểm thử cục bộ, sử dụng ngrok để mở đầu máy chủ của bạn:
Cập nhật URL webhook trong bảng điều khiển Dodo của bạn thành URL ngrok. Hãy đảm bảo cập nhật tệp .env với khóa xác thực webhook chính xác.
  • Đảm bảo DODO_PAYMENTS_WEBHOOK_KEY được thiết lập chính xác trong .env của bạn
  • Xác minh bạn đang sử dụng thân yêu cầu thô để kiểm tra chữ ký
  • Kiểm tra xem bạn có đang đọc đúng header webhook-signature không

Tìm Hiểu Thêm

Python SDK

Hoàn thiện tài liệu SDK Python với hỗ trợ async

Webhooks Documentation

Tìm hiểu tất cả các sự kiện webhook và thực hành tốt nhất

Checkout Sessions

Đi sâu vào cấu hình phiên thanh toán checkout

API Reference

Tài liệu API đầy đủ của Dodo Payments

Hỗ Trợ

Cần giúp đỡ với mẫu này?
Lần sửa đổi cuối 9 tháng 6, 2026