메인 콘텐츠로 건너뛰기
Rust SDK는 Rust로 작성된 애플리케이션에서 Dodo Payments REST API에 편리하고 비동기 우선 접근을 제공합니다. 강력한 타입의 요청 및 응답, 내장 페이지네이션 도우미, 그리고 구성 가능한 타임아웃 및 환경 설정 기능을 제공합니다.

설치

SDK를 Cargo로 프로젝트에 추가하세요:
또는 수동으로 이를 Cargo.toml에 추가하세요:
SDK는 최적의 성능을 위해 최신 비동기 기능을 활용하며, Rust 1.75 이상이 필요합니다.

빠른 시작

클라이언트는 기본적으로 API 키를 DODO_PAYMENTS_API_KEY 환경 변수에서 읽습니다. 클라이언트를 초기화하고 첫 체크아웃 세션을 만드세요:
항상 환경 변수를 사용하여 API 키를 안전하게 저장하세요. 소스 코드에 하드코딩하지 마세요.

핵심 기능

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::newResult를 반환하므로 dodopayments::Result를 반환하는 함수 안에서 ?로 이를 해제하세요:

환경

기본 기본 URL은 https://live.dodopayments.com입니다. 하드코딩된 URL 대신 Environment enum을 사용하여 다른 환경을 선택하세요:
기본이 아닌 환경을 목표로 하는 동안 DODO_PAYMENTS_API_KEY를 통해 API 키를 계속 읽도록 하려면 설정에서 이를 재정의하세요:

타임아웃

기본 요청 타임아웃은 30초입니다. 클라이언트별로 이를 재정의하세요:

일반 작업

체크아웃 세션 생성

체크아웃 세션을 생성하세요:

고객 관리

고객 정보를 생성하고 검색하세요:

구독 관리

정기 구독을 생성 및 관리하세요:
billing는 최소한 두 글자의 ISO country 코드가 필요합니다. customerCustomerRequest 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에 도움이 필요하십니까?

기여

기여를 환영합니다! 기여 가이드라인을 확인하여 시작하세요.
마지막 수정일 2026년 6월 26일