Tổng quan
Mẫu Astro tối giản cung cấp một điểm khởi đầu sẵn sàng để tích hợp Dodo Payments với ứng dụng Astro của bạn. Mẫu này bao gồm các phiên thanh toán, xử lý webhook, cổng khách hàng và các thành phần UI hiện đại để giúp bạn bắt đầu chấp nhận thanh toán nhanh chóng.Boilerplate này sử dụng Astro 5 với TypeScript, Tailwind CSS 4, và adapter
@dodopayments/astro.Tính năng
- Quick Setup - Bắt đầu trong vòng chưa đến 5 phút
- Payment Integration - Luồng thanh toán được cấu hình sẵn sử dụng
@dodopayments/astro - Modern UI - Trang giá sạch, chủ đề tối với Tailwind CSS
- Webhook Handler - Điểm cuối webhook sẵn sàng cho các sự kiện thanh toán
- Customer Portal - Quản lý đăng ký chỉ với một cú nhấp
- TypeScript - Được gõ kiểu đầy đủ với các kiểu tối thiểu và tập trung
- Pre-filled Checkout - Minh họa việc truyền dữ liệu khách hàng để cải thiện trải nghiệm người dùng
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn đã có:- Phiên bản Node.js LTS (cần thiết cho Astro 5)
- Tài khoản Dodo Payments (để truy cập API và Webhook Keys từ bảng điều khiển)
Bắt đầu nhanh
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:
- API Key: Bảng điều khiển → Nhà phát triển → API Keys
- Webhook Key: Bảng điều khiển → Nhà phát triển → Webhooks
Configure Environment Variables
Tạo một tệp Cập nhật các giá trị với thông tin xác thực Dodo Payments của bạn:
.env ở thư mục gốc:Run the Development Server
Cấu trúc dự án
Tùy chỉnh
Cập nhật thông tin sản phẩm
Chỉnh sửasrc/lib/products.ts để thay đổi:
- ID sản phẩm (từ bảng điều khiển Dodo của bạn)
- Giá cả
- Tính năng
- Mô tả
Điền trước dữ liệu khách hàng
Trongsrc/components/ProductCard.astro, hãy thay các giá trị được mã hóa cứng bằng dữ liệu người dùng thực tế của bạn:
Cập nhật cổng khách hàng
Trongsrc/components/Header.astro, hãy thay ID khách hàng được mã hóa cứng bằng ID khách hàng thực tế từ hệ thống xác thực hoặc cơ sở dữ liệu của bạn:
Sự kiện Webhook
Boilerplate minh họa cách xử lý sự kiện webhook trongsrc/pages/api/webhook.ts:
onSubscriptionActive- Được kích hoạt khi một đăng ký trở nên hoạt độngonSubscriptionCancelled- Được kích hoạt khi một đăng ký bị hủy bỏ
Triển khai
Mẫu này sử dụng đầu ra tĩnh với việc kết xuất theo yêu cầu cho các tuyến API. Bạn sẽ cần cài đặt một adapter cho nền tảng triển khai của bạn:| Nền tảng | Hướng dẫn |
|---|---|
| Vercel | Triển khai lên Vercel |
| Netlify | Triển khai lên Netlify |
| Cloudflare | Triển khai lên Cloudflare |
Cập nhật URL Webhook
Sau khi triển khai, hãy cập nhật URL webhook của bạn trong Bảng điều khiển Dodo Payments:DODO_PAYMENTS_WEBHOOK_KEY trong môi trường sản xuất của bạn để khớp với khóa ký webhook cho miền đã triển khai.
Khắc phục sự cố
Module not found or build errors
Module not found or build errors
Xóa
node_modules và cài lại các phụ thuộc:Checkout redirect fails
Checkout redirect fails
Nguyên nhân phổ biến:
- ID sản phẩm không hợp lệ - kiểm tra xem nó tồn tại trong bảng điều khiển Dodo của bạn
- Khóa API hoặc cài đặt môi trường sai trong
.env - Kiểm tra bảng điều khiển trình duyệt và terminal để tìm lỗi
Webhooks not receiving events
Webhooks not receiving events
Để thử nghiệm cục bộ, sử dụng ngrok để mở server của bạn ra bên ngoài:Cập nhật URL webhook trong Dodo dashboard thành URL ngrok. Hãy nhớ cập nhật tệp .env của bạn với khóa xác minh webhook chính xác.
Customer portal link doesn't work
Customer portal link doesn't work
Thay
CUSTOMER_ID được mã hóa cứng trong src/components/Header.astro bằng ID khách hàng thực tế từ bảng điều khiển Dodo của bạn.Hoặc tích hợp hệ thống xác thực và cơ sở dữ liệu của bạn để lấy ID khách hàng một cách động.Build fails with adapter error
Build fails with adapter error
Boilerplate này sử dụng đầu ra tĩnh với các route API theo yêu cầu. Bạn cần cài đặt một adapter để triển khai:Xem các hướng dẫn triển khai của Astro để biết chi tiết.
Tìm hiểu thêm
Hỗ trợ
Cần giúp đỡ với mẫu này?- Tham gia cộng đồng Discord của chúng tôi để đặt câu hỏi và thảo luận
- Kiểm tra kho GitHub để biết các vấn đề và cập nhật
- Liên hệ với đội ngũ hỗ trợ của chúng tôi để được trợ giúp