설치
SDK를 Cargo로 프로젝트에 추가하세요:Cargo.toml에 추가하세요:
SDK는 최적의 성능을 위해 최신 비동기 기능을 활용하며, Rust 1.75 이상이 필요합니다.
빠른 시작
클라이언트는 기본적으로 API 키를DODO_PAYMENTS_API_KEY 환경 변수에서 읽습니다. 클라이언트를 초기화하고 첫 체크아웃 세션을 만드세요:
핵심 기능
Async First
Tokio 및 reqwest 기반으로 하여
async/await 전반의 지원 제공Strong Typing
컴파일 타임 안전성을 위한 강력한 타입의 요청 및 응답
Auto-Pagination
페이지별로 모든 항목을 스트림하거나 한 페이지씩 진행
Configurable
클라이언트별로 환경, 타임아웃, 기본 URL 설정 가능
구성
환경 변수
기본적으로,Client::from_env()는 API 키를 DODO_PAYMENTS_API_KEY 환경 변수에서 읽고, DODO_PAYMENTS_BASE_URL를 설정하지 않으면 기본 기본 URL을 사용합니다:
Client::new는 Result를 반환하므로 dodopayments::Result를 반환하는 함수 안에서 ?로 이를 해제하세요:
환경
기본 기본 URL은
https://live.dodopayments.com입니다. 하드코딩된 URL 대신 Environment enum을 사용하여 다른 환경을 선택하세요:
DODO_PAYMENTS_API_KEY를 통해 API 키를 계속 읽도록 하려면 설정에서 이를 재정의하세요:
타임아웃
기본 요청 타임아웃은 30초입니다. 클라이언트별로 이를 재정의하세요:일반 작업
체크아웃 세션 생성
체크아웃 세션을 생성하세요:고객 관리
고객 정보를 생성하고 검색하세요:구독 관리
정기 구독을 생성 및 관리하세요:billing에는 최소 두 글자의 ISO country 코드가 필요합니다. customer는 CustomerRequest enum입니다. 기존 customer에는 AttachExisting을, 새 customer에는 New을 전달하세요. product_price와 같은 금액 필드는 통화의 최소 단위로 표시됩니다(예: 2500 = $25.00 USD).Usage-Based Billing
사용량 이벤트 수집
사용자 지정 이벤트를 추적합니다:사용량 이벤트 나열
Pagination
List 엔드포인트는items 필드에 현재 결과 페이지가 포함된 typed page를 반환합니다. into_stream를 사용하여 모든 페이지의 항목을 스트리밍하세요:
get_next_page를 사용하여 한 번에 한 페이지씩 진행할 수 있습니다:
Error Handling
모든 메서드는dodopayments::Result<T>를 반환합니다. 실패는 dodopayments::Error enum으로 나타납니다. 이를 기준으로 분기하여 API 오류와 transport 오류를 구분해 처리하세요:
Undocumented Endpoints
아직 typed method로 노출되지 않은 엔드포인트를 호출하려면 low-levelrequest builder를 사용하세요. 이 builder는 인증과 base URL을 적용합니다:
Resources
GitHub Repository
소스 코드를 확인하고 기여하기
Crates.io
게시된 crate와 버전 확인하기
API Reference
전체 API documentation
Discord Community
도움을 받고 개발자와 연결하기
Support
Rust SDK에 도움이 필요하신가요?- Discord: 실시간 지원을 받으려면 커뮤니티 서버에 참여하세요
- Email: support@dodopayments.com으로 문의하세요
- GitHub: repository에 issue를 등록하세요