> ## 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.

# Ikhtisar SDK Resmi

> SDK resmi untuk TypeScript, Python, PHP, Go, Ruby, Java, Kotlin, C#, dan Rust untuk mengintegrasikan Dodo Payments ke dalam aplikasi Anda

Dodo Payments menyediakan SDK resmi untuk berbagai bahasa pemrograman, masing-masing dirancang dengan praktik terbaik spesifik bahasa dan fitur modern untuk integrasi pembayaran yang mulus.

<Tip>
  Selalu gunakan versi SDK terbaru untuk mengakses fitur dan peningkatan terbaru. Periksa manajer paket Anda secara berkala untuk memastikan Anda memiliki akses ke semua kemampuan Dodo Payments.
</Tip>

## SDK yang Tersedia

Pilih SDK yang sesuai dengan tumpukan teknologi Anda:

<CardGroup cols={2}>
  <Card title="TypeScript SDK" icon="js" href="/developer-resources/sdks/typescript">
    Integrasi bertipe aman untuk TypeScript dan Node.js dengan API berbasis promise dan auto-pagination
  </Card>

  <Card title="Python SDK" icon="python" href="/developer-resources/sdks/python">
    Antarmuka bergaya Python dengan dukungan async/await untuk aplikasi Python 3.7+
  </Card>

  <Card title="PHP SDK" icon="php" href="/developer-resources/sdks/php">
    SDK yang mematuhi PSR-4 untuk aplikasi PHP 8.1+ modern
  </Card>

  <Card title="Go SDK" icon="golang" href="/developer-resources/sdks/go">
    Antarmuka Go idiomatis dengan dukungan context dan pengetikan kuat
  </Card>

  <Card title="Ruby SDK" icon="gem" href="/developer-resources/sdks/ruby">
    Antarmuka Ruby elegan sesuai konvensi dan praktik terbaik Ruby
  </Card>

  <Card title="Java SDK" icon="java" href="/developer-resources/sdks/java">
    SDK tangguh dan aman-utas untuk Java 8+ dengan dukungan Maven dan Gradle
  </Card>

  <Card title="Kotlin SDK" icon="code" href="/developer-resources/sdks/kotlin">
    SDK Kotlin modern dengan korutin, null safety, dan fungsi ekstensi
  </Card>

  <Card title="C# SDK" icon="c" href="/developer-resources/sdks/csharp">
    SDK bertipe aman untuk .NET 8+ dengan API berbasis Task async (Beta)
  </Card>

  <Card title="Rust SDK" icon="rust" href="/developer-resources/sdks/rust">
    SDK pertama Async dibangun di atas Tokio dan reqwest dengan pengetikan kuat untuk Rust 1.75+
  </Card>

  <Card title="React Native SDK" icon="mobile" href="/developer-resources/react-native-integration">
    SDK mobile asli untuk membangun pengalaman pembayaran yang aman di aplikasi iOS dan Android
  </Card>

  <Card title="CLI" icon="terminal" href="/developer-resources/sdks/cli">
    Antarmuka baris perintah untuk berinteraksi dengan API dari terminal Anda
  </Card>
</CardGroup>

## Mulai Cepat

Mulai dengan salah satu SDK dalam hitungan menit:

<Steps>
  <Step title="Install the SDK">
    Gunakan package manager bahasa Anda untuk menginstal 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">
    Konfigurasikan klien dengan kunci API Anda

    <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>
      Selalu simpan kunci API Anda dengan aman menggunakan variabel lingkungan. Jangan pernah memasukkannya ke dalam versi kontrol.
    </Warning>
  </Step>

  <Step title="Make Your First API Call">
    Buat sesi checkout atau pembayaran

    <Check>
      Anda sekarang siap memproses pembayaran! Kunjungi halaman SDK individu untuk panduan dan contoh yang lebih rinci.
    </Check>
  </Step>
</Steps>

## Fitur Utama

Semua SDK memiliki kemampuan inti berikut:

* **Keamanan Tipe**: Pengetikan kuat untuk keamanan waktu kompilasi dan dukungan IDE yang lebih baik
* **Penanganan Kesalahan**: Penanganan pengecualian yang komprehensif dengan pesan kesalahan yang terperinci
* **Otentikasi**: Otentikasi kunci API yang sederhana dengan dukungan variabel lingkungan
* **Dukungan Async**: Pola async/await modern jika memungkinkan
* **Auto-Pagination**: Pagination otomatis untuk respon daftar
* **Penagihan Berdasarkan Penggunaan**: Dukungan bawaan untuk melacak dan memasukkan peristiwa penggunaan
* **Pengujian**: Dukungan lingkungan sandbox lengkap untuk pengembangan dan pengujian

## SDK React Native

Untuk aplikasi mobile, kami menyediakan SDK React Native khusus:

<Card title="React Native SDK" icon="mobile" href="/developer-resources/react-native-integration">
  Membangun pengalaman pembayaran yang aman untuk aplikasi iOS dan Android dengan komponen UI asli dan pengumpulan data pembayaran yang disederhanakan
</Card>

**Fitur:**

* Komponen UI asli untuk Android dan iOS
* Keamanan yang disederhanakan untuk mengumpulkan data pembayaran sensitif
* Dukungan untuk berbagai metode pembayaran
* Integrasi mulus dengan aplikasi React Native

<Info>
  Apple Pay, Google Pay, Cash App, dan UPI saat ini tidak didukung dalam SDK React Native. Dukungan untuk metode pembayaran ini direncanakan dalam rilis mendatang.
</Info>

## Antarmuka Baris Perintah

Untuk alur kerja berbasis terminal dan otomatisasi:

<Card title="CLI" icon="terminal" href="/developer-resources/sdks/cli">
  Antarmuka baris perintah yang dihasilkan secara otomatis dengan dukungan untuk semua 78 endpoint API
</Card>

**Fitur:**

* Struktur perintah berbasis sumber daya untuk penggunaan yang intuitif
* Format keluaran yang berbeda (JSON, YAML, cantik, interaktif)
* Penyelesaian shell untuk bash, zsh, dan fish
* Sempurna untuk scripting dan otomatisasi CI/CD

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

## Migrasi dari SDK Node.js

<Info>
  Kami bermigrasi dari SDK Node.js ke SDK TypeScript yang baru. Jika Anda menggunakan SDK Node.js lama, lihat [panduan migrasi](https://github.com/dodopayments/dodopayments-typescript/blob/main/MIGRATION.md) untuk memperbarui integrasi Anda.
</Info>

## Adaptor Kerangka Kerja

Integrasikan dalam kurang dari 10 baris kode dengan adaptor kerangka kerja kami. Pilih dari kerangka kerja yang direkomendasikan atau jelajahi semua opsi yang didukung.

### Kerangka Kerja yang Direkomendasikan

<CardGroup cols={2}>
  <Card title="Next.js" icon="atom" href="/developer-resources/nextjs-adaptor">
    Kerangka kerja full-stack berbasis React dengan dukungan App Router
  </Card>

  <Card title="Better Auth" icon="shield" href="/developer-resources/better-auth-adaptor">
    Kerangka kerja otentikasi dengan integrasi bawaan
  </Card>

  <Card title="Supabase" icon="database" href="developer-resources/supabase-boilerplate">
    Alternatif Firebase sumber terbuka dengan Postgres dan Auth
  </Card>

  <Card title="Convex" icon="database" href="/developer-resources/convex-component">
    Backend-as-a-Service dengan kemampuan waktu nyata
  </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>

## Mendapatkan Bantuan

Butuh bantuan dengan salah satu SDK?

* **Discord**: Bergabunglah dengan [server komunitas](https://discord.gg/bYqAp4ayYh) kami untuk bantuan real-time
* **Email**: Hubungi kami di [support@dodopayments.com](mailto:support@dodopayments.com)
* **GitHub**: Buka masalah di repositori SDK yang bersangkutan
* **Dokumentasi**: Kunjungi [referensi API](/api-reference/introduction) kami

## Berkontribusi

Kami menyambut kontribusi ke semua SDK kami! Setiap repositori memiliki file `CONTRIBUTING.md` dengan panduan untuk:

* Melaporkan bug
* Meminta fitur
* Mengajukan pull request
* Menjalankan tes secara lokal
* Gaya kode dan konvensi

Kunjungi halaman SDK individu untuk mengakses repositori GitHub dan panduan kontribusi mereka.
