> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 공식 SDK 개요

> 귀하의 애플리케이션에 Dodo Payments를 통합하기 위한 TypeScript, Python, PHP, Go, Ruby, Java, Kotlin, C#, Rust에 대한 공식 SDK

Dodo Payments는 여러 프로그래밍 언어에 대한 공식 SDK를 제공하며, 각 SDK는 언어별 모범 사례와 현대적인 기능으로 원활한 결제 통합을 위해 설계되었습니다.

<Tip>
  항상 최신 SDK 버전을 사용하여 최신 기능과 개선 사항을 이용하세요. 패키지 관리자를 통해 정기적으로 업데이트를 확인하여 모든 Dodo Payments 기능을 이용할 수 있도록 하세요.
</Tip>

## 사용 가능한 SDK

귀하의 기술 스택에 맞는 SDK를 선택하세요:

<CardGroup cols={2}>
  <Card title="TypeScript SDK" icon="js" href="/developer-resources/sdks/typescript">
    프라미스 기반 API와 자동 페이지네이션을 제공하는 TypeScript 및 Node.js용 타입 안전 통합
  </Card>

  <Card title="Python SDK" icon="python" href="/developer-resources/sdks/python">
    Python 3.7+ 애플리케이션을 위한 async/await 지원이 포함된 파이써닉 인터페이스
  </Card>

  <Card title="PHP SDK" icon="php" href="/developer-resources/sdks/php">
    현대 PHP 8.1+ 애플리케이션을 위한 PSR-4 준수 SDK
  </Card>

  <Card title="Go SDK" icon="golang" href="/developer-resources/sdks/go">
    컨텍스트 지원과 강력한 타입을 갖춘 Go 관용 인터페이스
  </Card>

  <Card title="Ruby SDK" icon="gem" href="/developer-resources/sdks/ruby">
    Ruby 관습과 모범 사례를 따르는 우아한 Ruby 인터페이스
  </Card>

  <Card title="Java SDK" icon="java" href="/developer-resources/sdks/java">
    Maven 및 Gradle 지원을 포함한 Java 8+용 견고하고 스레드 안전한 SDK
  </Card>

  <Card title="Kotlin SDK" icon="code" href="/developer-resources/sdks/kotlin">
    코루틴, null 안전성 및 확장 함수를 갖춘 현대적 Kotlin SDK
  </Card>

  <Card title="C# SDK" icon="c" href="/developer-resources/sdks/csharp">
    async Task 기반 API를 사용하는 .NET 8+용 타입 안전 SDK(베타)
  </Card>

  <Card title="Rust SDK" icon="rust" href="/developer-resources/sdks/rust">
    Rust 1.75+를 위한 강한 타입의 Tokio 및 reqwest 기반 비동기 우선 SDK
  </Card>

  <Card title="React Native SDK" icon="mobile" href="/developer-resources/react-native-integration">
    iOS 및 Android 앱에서 안전한 결제 경험을 구축하기 위한 네이티브 모바일 SDK
  </Card>

  <Card title="CLI" icon="terminal" href="/developer-resources/sdks/cli">
    터미널에서 API와 상호 작용하기 위한 명령줄 인터페이스
  </Card>
</CardGroup>

## 빠른 시작

몇 분 만에 SDK 시작하기:

<Steps>
  <Step title="Install the SDK">
    언어의 패키지 매니저를 사용하여 SDK 설치

    <Tabs>
      <Tab title="TypeScript/Node.js">
        ```bash theme={null}
        npm install dodopayments
        ```
      </Tab>

      <Tab title="Python">
        ```bash theme={null}
        pip install dodopayments
        ```
      </Tab>

      <Tab title="PHP">
        ```bash theme={null}
        composer require dodopayments/client
        ```
      </Tab>

      <Tab title="Go">
        ```bash theme={null}
        go get github.com/dodopayments/dodopayments-go
        ```
      </Tab>

      <Tab title="Rust">
        ```bash theme={null}
        cargo add dodopayments
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Initialize the Client">
    API 키로 클라이언트 구성

    <Tabs>
      <Tab title="TypeScript">
        ```typescript theme={null}
        import DodoPayments from 'dodopayments';
        const client = new DodoPayments({ bearerToken: 'your_api_key' });
        ```
      </Tab>

      <Tab title="Python">
        ```python theme={null}
        from dodopayments import DodoPayments
        client = DodoPayments(bearer_token="your_api_key")
        ```
      </Tab>

      <Tab title="PHP">
        ```php theme={null}
        use Dodopayments\Client;
        $client = new Client(bearerToken: 'your_api_key');
        ```
      </Tab>

      <Tab title="Go">
        ```go theme={null}
        import "github.com/dodopayments/dodopayments-go"
        client := dodopayments.NewClient(option.WithBearerToken("your_api_key"))
        ```
      </Tab>

      <Tab title="Rust">
        ```rust theme={null}
        use dodopayments::Client;
        let client = Client::from_env()?; // reads DODO_PAYMENTS_API_KEY
        ```
      </Tab>
    </Tabs>

    <Warning>
      API 키를 항상 환경 변수를 사용하여 안전하게 저장하십시오. 절대 버전 관리에 커밋하지 마십시오.
    </Warning>
  </Step>

  <Step title="Make Your First API Call">
    결제 세션 또는 결제 생성

    <Check>
      이제 결제를 처리할 준비가 되었습니다! 자세한 가이드와 예제를 보려면 각 SDK 페이지를 방문하세요.
    </Check>
  </Step>
</Steps>

## 주요 기능

모든 SDK는 다음과 같은 핵심 기능을 공유합니다:

* **타입 안정성**: 컴파일 타임 안전성과 더 나은 IDE 지원을 위한 강한 타입
* **오류 처리**: 세부적인 오류 메시지가 포함된 포괄적인 예외 처리
* **인증**: 환경 변수 지원을 통한 간단한 API 키 인증
* **비동기 지원**: 해당 경우 최신 비동기/대기 패턴
* **자동 페이징**: 목록 응답에 대한 자동 페이징
* **사용 기반 결제**: 사용 이벤트 추적 및 수집을 위한 내장 지원
* **테스트**: 개발 및 테스트를 위한 전체 샌드박스 환경 지원

## React Native SDK

모바일 애플리케이션을 위한 전용 React Native SDK를 제공합니다:

<Card title="React Native SDK" icon="mobile" href="/developer-resources/react-native-integration">
  iOS 및 Android 앱을 위한 네이티브 UI 구성 요소와 단순화된 결제 데이터 수집으로 안전한 결제 경험을 구축
</Card>

**기능들:**

* Android 및 iOS용 네이티브 UI 구성 요소
* 민감한 결제 데이터 수집을 위한 간소화된 보안
* 다양한 결제 방법 지원
* React Native 앱과 원활한 통합

<Info>
  React Native SDK는 현재 Apple Pay, Google Pay, Cash App 및 UPI를 지원하지 않습니다. 이러한 결제 방법 지원은 향후 릴리스에 계획되어 있습니다.
</Info>

## 명령줄 인터페이스

터미널 기반 워크플로 및 자동화를 위해:

<Card title="CLI" icon="terminal" href="/developer-resources/sdks/cli">
  모든 78개의 API 엔드포인트에 대한 지원이 포함된 자동 생성 명령줄 인터페이스
</Card>

**기능들:**

* 직관적인 사용을 위한 리소스 기반 명령 구조
* 다양한 출력 형식 (JSON, YAML, 예쁘게, 대화형)
* bash, zsh, fish에 대한 셸 완성
* 스크립팅 및 CI/CD 자동화에 완벽

```bash theme={null}
# Quick example
dodopayments payments list --format json | jq '.data[] | {id, amount}'
```

## Node.js SDK에서의 마이그레이션

<Info>
  우리는 Node.js SDK에서 새로운 TypeScript SDK로 마이그레이션했습니다. 구형 Node.js SDK를 사용 중인 경우, 통합을 업데이트하려면 [마이그레이션 가이드](https://github.com/dodopayments/dodopayments-typescript/blob/main/MIGRATION.md)를 참조하세요.
</Info>

## 프레임워크 어댑터

프레임워크 어댑터를 사용하여 10줄 미만의 코드로 통합하세요. 권장 프레임워크 중 하나를 선택하거나 지원되는 모든 옵션을 탐색하세요.

### 권장 프레임워크

<CardGroup cols={2}>
  <Card title="Next.js" icon="atom" href="/developer-resources/nextjs-adaptor">
    App Router 지원을 갖춘 React 기반 풀스택 프레임워크
  </Card>

  <Card title="Better Auth" icon="shield" href="/developer-resources/better-auth-adaptor">
    내장 통합을 갖춘 인증 프레임워크
  </Card>

  <Card title="Supabase" icon="database" href="developer-resources/supabase-boilerplate">
    Postgres 및 Auth를 포함한 오픈 소스 Firebase 대안
  </Card>

  <Card title="Convex" icon="database" href="/developer-resources/convex-component">
    실시간 기능을 갖춘 Backend-as-a-Service
  </Card>
</CardGroup>

<AccordionGroup>
  <Accordion title="Show other 8+ supported frameworks">
    <CardGroup cols={4}>
      <Card title="SvelteKit" icon="js" href="/developer-resources/sveltekit-adaptor" />

      <Card title="Nuxt" icon="vuejs" href="/developer-resources/nuxt-adaptor" />

      <Card title="Remix" icon="react" href="/developer-resources/remix-adaptor" />

      <Card title="Express" icon="js" href="/developer-resources/express-adaptor" />

      <Card title="Fastify" icon="bolt" href="/developer-resources/fastify-adaptor" />

      <Card title="Hono" icon="cloud" href="/developer-resources/hono-adaptor" />

      <Card title="Astro" icon="star" href="/developer-resources/astro-adaptor" />

      <Card title="TanStack" icon="chart-line" href="/developer-resources/tanstack-adaptor" />
    </CardGroup>
  </Accordion>
</AccordionGroup>

## 도움 받기

SDK에 대한 지원이 필요하십니까?

* **Discord**: 실시간 도움을 위해 [커뮤니티 서버](https://discord.gg/bYqAp4ayYh)에 가입하세요.
* **Email**: [support@dodopayments.com](mailto:support@dodopayments.com)으로 문의하세요.
* **GitHub**: 해당 SDK 리포지토리에서 이슈를 생성하세요.
* **Documentation**: [API 레퍼런스](/api-reference/introduction)를 방문하세요.

## 기여하기

모든 SDK에 대한 기여를 환영합니다! 각 리포지토리에는 다음에 대한 지침이 포함된 `CONTRIBUTING.md` 파일이 있습니다:

* 버그 신고
* 기능 요청
* 풀 리퀘스트 제출
* 로컬에서 테스트 실행
* 코드 스타일 및 규칙

각 SDK 페이지를 방문하여 GitHub 리포지토리와 기여 가이드를 액세스하세요.
