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

GitHub Repository

Boilerplate Go + Dodo Payments tối giản

Tổng quan

Boilerplate Go 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 Go 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à tuân theo các thực tiễn tốt nhất của Go để giúp bạn bắt đầu chấp nhận thanh toán nhanh chóng.
Boilerplate này sử dụng Go 1.21+ với các mô hình kiến trúc sạch (cmd, internal, templates), các mẫu HTML và SDK dodopayments-go để tích hợp API mượt mà.

Tính năng

  • Khởi động nhanh - Bắt đầu trong chưa đầy 5 phút
  • Tích hợp thanh toán - Luồng thanh toán đã được cấu hình sẵn sử dụng SDK dodopayments-go
  • Giao diện hiện đại - Trang giá chủ đề tối, sạch sẽ với các mẫu HTML
  • Xử lý webhook - Xác thực và xử lý sự kiện thanh toán một cách an toàn
  • Cổng khách hàng - Quản lý đăng ký tự phục vụ
  • Thực hành tốt Go - Kiến trúc sạch với cmd, internaltemplates
  • Thanh toán điền sẵn - 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ạn bắt đầu, hãy đảm bảo bạn đã có:
  • Go 1.21+
  • 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

Install Dependencies

Hoặc thủ công:
3

Get API Credentials

Đăng ký tại Dodo Payments và lấy thông tin đăng nhập từ bảng điều khiển:
Hãy đảm bảo bạn đang ở Chế độ kiểm tra trong lúc phát triển!
4

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.
5

Add Your Products

Cập nhật internal/lib/products.go bằng các ID sản phẩm thực tế từ Dodo Payments:
6

Run the Development Server

Hoặc thủ công:
Mở http://localhost:8000 để xem trang giá của bạn!
Bạn sẽ thấy một trang giá theo chủ đề tối với sản phẩm của mình đã sẵn sàng để mua.

Cấu trúc dự án

API Endpoints

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

Tùy chỉnh

Cập nhật thông tin sản phẩm

Chỉnh sửa internal/lib/products.go để tùy chỉnh:
  • ID sản phẩm (từ bảng điều khiển Dodo của bạn)
  • Giá
  • Tính năng
  • Mô tả

Tự động điền dữ liệu khách hàng

Trong templates/index.html, thay dữ liệu khách hàng mã hóa cứng bằng dữ liệu người dùng thực tế của bạn:
Trong một ứng dụng sản xuất, bạn sẽ tiêm động các giá trị này từ hệ thống xác thực của bạn.

Sự kiện Webhook

Boilerplate minh họa cách xử lý các sự kiện webhook trong internal/api/webhook.go. Các sự kiện được hỗ trợ bao gồm: 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 các sản phẩm kỹ thuật số
  • Theo dõi phân tích và số liệu

Kiểm tra Webhook Locally

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

Triển khai

Xây dựng cho sản xuất

Hoặc thủ công:

Triển khai lên Vercel

[ Triển khai với Vercel ](https://vercel.com/new/clone?repository-url=https://github.com/dodopayments/go-boilerplate)

Docker

Tạo một Dockerfile:
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 thành 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ố

Đảm bảo các module Go được tải xuống đúng cách:
Các nguyên nhân phổ biến:
  • ID sản phẩm không hợp lệ - xác nhận nó tồn tại trong bảng điều khiển Dodo của bạn
  • Khóa API hoặc thiết lập môi trường sai trong .env
  • Kiểm tra nhật ký máy chủ để biết thông báo lỗi chi tiết
Để thử nghiệm cục bộ, hãy dùng ngrok để công khai 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 chắc là cập nhật tệp .env với khóa xác thực webhook chính xác.
Đảm bảo bạn đang chạy máy chủ từ thư mục gốc của dự án, hoặc đường dẫn đến mẫu đã được cấu hình đúng trong mã của bạn.

Tìm hiểu thêm

Go SDK

Tài liệu đầy đủ về Go SDK

Webhooks Documentation

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

Checkout Sessions

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

API Reference

Tài liệu đầy đủ về API Dodo Payments

Hỗ trợ

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