메인 콘텐츠로 건너뛰기

GitHub Repository

최소한의 Go + Dodo Payments 보일러플레이트

개요

Go 보일러플레이트는 Dodo Payments를 Go 백엔드와 통합하기 위한 프로덕션 준비가 완료된 시작점을 제공합니다. 이 템플릿은 체크아웃 세션 처리, 웹훅 검증, 고객 포털 통합을 포함하며, 빠르게 결제를 수락할 수 있도록 Go 모범 사례를 따릅니다.
이 보일러플레이트는 Go 1.21+와 클린 아키텍처 패턴 (cmd, internal, templates), HTML 템플릿, 그리고 dodopayments-go SDK를 활용하여 원활한 API 통합을 제공합니다.

기능

  • Quick Setup - 5분 이내에 시작하세요
  • Payment Integration - dodopayments-go SDK를 사용해 사전 구성된 체크아웃 흐름
  • Modern UI - HTML 템플릿을 사용한 깔끔한 다크 테마 가격 페이지
  • Webhook Handling - 결제 이벤트를 안전하게 검증하고 처리
  • Customer Portal - 셀프 서비스 구독 관리
  • Go Best Practices - cmd, internal, templates을 활용한 클린 아키텍처
  • Pre-filled Checkout - UX 향상을 위한 고객 데이터 전달 예시

전제 조건

시작하기 전에 다음을 확인하세요:
  • Go 1.21+
  • Dodo Payments 계정 (대시보드에서 API 및 웹훅 키에 접근하기 위해)

빠른 시작

1

Clone the Repository

2

Install Dependencies

또는 수동으로:
3

Get API Credentials

Dodo Payments에서 가입하고 대시보드에서 자격 증명을 받으세요:
개발하는 동안 Test Mode에 있는지 확인하세요!
4

Configure Environment Variables

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

Add Your Products

Dodo Payments의 실제 상품 ID로 internal/lib/products.go을 업데이트하세요:
6

Run the Development Server

또는 수동으로:
http://localhost:8000을 열어 가격 페이지를 확인하세요!
상품 구매 준비가 된 다크 테마 가격 페이지가 표시되어야 합니다.

프로젝트 구조

API 엔드포인트

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

사용자 정의

제품 정보 업데이트

internal/lib/products.go을 편집하여 다음을 수정하세요:
  • Dodo 대시보드에서 가져온 상품 ID
  • 가격
  • 기능
  • 설명

고객 데이터 사전 채우기

templates/index.html에서 하드코딩된 고객 데이터를 실제 사용자 데이터로 바꾸세요:
프로덕션 앱에서는 인증 시스템에서 이러한 값을 동적으로 주입해야 합니다.

웹훅 이벤트

이 보일러플레이트는 internal/api/webhook.go에서 웹훅 이벤트 처리 방법을 보여줍니다. 지원되는 이벤트는 다음과 같습니다: 웹훅 핸들러 내에 비즈니스 로직을 추가하여:
  • 데이터베이스에서 사용자 권한 업데이트
  • 확인 이메일 전송
  • 디지털 제품에 대한 접근 권한 제공
  • 분석 및 메트릭 추적

웹훅을 로컬에서 테스트하기

로컬 개발을 위해 ngrok와 같은 도구를 사용하여 로컬 서버를 노출하세요:
Dodo Payments 대시보드에서 웹훅 URL을 업데이트하세요:

배포

프로덕션 빌드

또는 수동으로:

Vercel에 배포

[ Vercel로 배포하기 ](https://vercel.com/new/clone?repository-url=https://github.com/dodopayments/go-boilerplate)

Docker

Dockerfile를 생성하세요:
빌드 및 실행:

프로덕션 고려 사항

프로덕션에 배포하기 전에:
  • DODO_PAYMENTS_ENVIRONMENTlive_mode로 전환하세요
  • 대시보드에서 프로덕션 API 키를 사용하세요
  • 웹훅 URL을 프로덕션 도메인으로 업데이트하세요
  • 모든 엔드포인트에서 HTTPS를 활성화하세요

문제 해결

Go 모듈이 제대로 다운로드되었는지 확인하세요:
일반적인 원인:
  • 잘못된 상품 ID - Dodo 대시보드에 존재하는지 확인하세요
  • .env에 잘못된 API 키 또는 환경 설정
  • 자세한 오류 메시지는 서버 로그를 확인하세요
로컬 테스트에서는 서버를 노출시키기 위해 ngrok를 사용하세요:
웹훅 URL을 Dodo dashboard에서 ngrok URL로 업데이트하세요. 올바른 웹훅 검증 키로 .env 파일도 업데이트했는지 확인하세요.
프로젝트 루트 디렉터리에서 서버를 실행하거나, 템플릿 경로가 코드에서 올바르게 설정됐는지 확인하세요.

더 알아보기

Go SDK

Go SDK 문서 전체

Webhooks Documentation

모든 웹훅 이벤트와 모범 사례 알아보기

Checkout Sessions

체크아웃 세션 구성 심층 분석

API Reference

Dodo Payments API 문서 전체

지원

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