설치
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이며, 기존 고객의 경우 AttachExisting를, 새 고객의 경우 New를 전달하세요. product_price 같은 금액 필드는 최저 통화 단위로 작성됩니다. (예: 2500 = $25.00 USD)사용량 기반 청구
사용량 이벤트 수집
사용자 정의 이벤트 추적:사용량 이벤트 목록
페이지네이션
목록 엔드포인트는items 필드에 현재 페이지의 결과를 보유한 유형 페이지를 반환합니다. into_stream를 사용하여 모든 페이지의 모든 항목을 스트림하세요:
get_next_page를 사용하여 한 페이지씩 진행하세요:
오류 처리
모든 메서드는dodopayments::Result<T>를 반환합니다. 실패는 dodopayments::Error enum으로 표현됩니다. 이를 일치시켜 API 오류를 전송 오류와 구별하여 처리하세요:
문서화되지 않은 엔드포인트
아직 유형 메서드로 노출되지 않은 엔드포인트를 호출하려면 인증 및 기본 URL을 적용하는 저수준의request 빌더를 사용하세요:
리소스
GitHub Repository
소스 코드 보기 및 기여
Crates.io
게시된 크레이트와 버전 보기
API Reference
전체 API 문서
Discord Community
도움 받기 및 개발자와 연결
지원
Rust SDK에 도움이 필요하십니까?- Discord: 실시간 지원을 위해 커뮤니티 서버에 참여하세요
- Email: support@dodopayments.com으로 문의하세요
- GitHub: 저장소에서 이슈를 열어주세요