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

# Official SDKs Overview

> Official SDKs for TypeScript, Python, PHP, Go, Ruby, Java, Kotlin, and C# to integrate Dodo Payments into your applications

Dodo Payments provides official SDKs for multiple programming languages, each designed with language-specific best practices and modern features for seamless payment integration.

<Tip>
  Always use the latest SDK version to access the newest features and improvements. Check your package manager for updates regularly to ensure you have access to all Dodo Payments capabilities.
</Tip>

## Available SDKs

Choose the SDK that matches your tech stack:

<CardGroup cols={2}>
  <Card title="TypeScript SDK" icon="js" href="/developer-resources/sdks/typescript">
    Type-safe integration for TypeScript and Node.js with promise-based API and auto-pagination
  </Card>

  <Card title="Python SDK" icon="python" href="/developer-resources/sdks/python">
    Pythonic interface with async/await support for Python 3.7+ applications
  </Card>

  <Card title="PHP SDK" icon="php" href="/developer-resources/sdks/php">
    PSR-4 compliant SDK for modern PHP 8.1+ applications
  </Card>

  <Card title="Go SDK" icon="golang" href="/developer-resources/sdks/go">
    Idiomatic Go interface with context support and strong typing
  </Card>

  <Card title="Ruby SDK" icon="gem" href="/developer-resources/sdks/ruby">
    Elegant Ruby interface following Ruby conventions and best practices
  </Card>

  <Card title="Java SDK" icon="java" href="/developer-resources/sdks/java">
    Robust and thread-safe SDK for Java 8+ with Maven and Gradle support
  </Card>

  <Card title="Kotlin SDK" icon="code" href="/developer-resources/sdks/kotlin">
    Modern Kotlin SDK with coroutines, null safety, and extension functions
  </Card>

  <Card title="C# SDK" icon="c" href="/developer-resources/sdks/csharp">
    Type-safe SDK for .NET 8+ with async Task-based API (Beta)
  </Card>

  <Card title="React Native SDK" icon="mobile" href="/developer-resources/react-native-integration">
    Native mobile SDK for building secure payment experiences in iOS and Android apps
  </Card>

  <Card title="CLI" icon="terminal" href="/developer-resources/sdks/cli">
    Command-line interface for interacting with the API from your terminal
  </Card>
</CardGroup>

## Quick Start

Get started with any SDK in minutes:

<Steps>
  <Step title="Install the SDK">
    Use your language's package manager to install the 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>
    </Tabs>
  </Step>

  <Step title="Initialize the Client">
    Configure the client with your API key

    <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>
    </Tabs>

    <Warning>
      Always store your API keys securely using environment variables. Never commit them to version control.
    </Warning>
  </Step>

  <Step title="Make Your First API Call">
    Create a checkout session or payment

    <Check>
      You're now ready to process payments! Visit the individual SDK pages for detailed guides and examples.
    </Check>
  </Step>
</Steps>

## Key Features

All SDKs share these core capabilities:

* **Type Safety**: Strong typing for compile-time safety and better IDE support
* **Error Handling**: Comprehensive exception handling with detailed error messages
* **Authentication**: Simple API key authentication with environment variable support
* **Async Support**: Modern async/await patterns where applicable
* **Auto-Pagination**: Automatic pagination for list responses
* **Usage-Based Billing**: Built-in support for tracking and ingesting usage events
* **Testing**: Full sandbox environment support for development and testing

## React Native SDK

For mobile applications, we provide a dedicated React Native SDK:

<Card title="React Native SDK" icon="mobile" href="/developer-resources/react-native-integration">
  Build secure payment experiences for iOS and Android apps with native UI components and simplified payment data collection
</Card>

**Features:**

* Native UI components for Android and iOS
* Simplified security for collecting sensitive payment data
* Support for multiple payment methods
* Seamless integration with React Native apps

<Info>
  Apple Pay, Google Pay, Cash App, and UPI are not currently supported in the React Native SDK. Support for these payment methods is planned for future releases.
</Info>

## Command-Line Interface

For terminal-based workflows and automation:

<Card title="CLI" icon="terminal" href="/developer-resources/sdks/cli">
  Auto-generated command-line interface with support for all 78 API endpoints
</Card>

**Features:**

* Resource-based command structure for intuitive usage
* Multiple output formats (JSON, YAML, pretty, interactive)
* Shell completion for bash, zsh, and fish
* Perfect for scripting and CI/CD automation

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

## Migration from Node.js SDK

<Info>
  We migrated from the Node.js SDK to the new TypeScript SDK. If you're using the legacy Node.js SDK, see the [migration guide](https://github.com/dodopayments/dodopayments-typescript/blob/main/MIGRATION.md) to update your integration.
</Info>

## Framework Adapters

Integrate in under 10 lines of code with our framework adapters. Choose from our recommended frameworks or explore all supported options.

### Recommended Frameworks

<CardGroup cols={2}>
  <Card title="Next.js" icon="atom" href="/developer-resources/nextjs-adaptor">
    React-based full-stack framework with App Router support
  </Card>

  <Card title="Better Auth" icon="shield" href="/developer-resources/better-auth-adaptor">
    Authentication framework with built-in integrations
  </Card>

  <Card title="Supabase" icon="database" href="developer-resources/supabase-boilerplate">
    Open source Firebase alternative with Postgres and Auth
  </Card>

  <Card title="Convex" icon="database" href="/developer-resources/convex-component">
    Backend-as-a-Service with real-time capabilities
  </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>

## Getting Help

Need assistance with any SDK?

* **Discord**: Join our [community server](https://discord.gg/bYqAp4ayYh) for real-time help
* **Email**: Contact us at [support@dodopayments.com](mailto:support@dodopayments.com)
* **GitHub**: Open an issue on the respective SDK repository
* **Documentation**: Visit our [API reference](/api-reference/introduction)

## Contributing

We welcome contributions to all our SDKs! Each repository has a `CONTRIBUTING.md` file with guidelines for:

* Reporting bugs
* Requesting features
* Submitting pull requests
* Running tests locally
* Code style and conventions

Visit the individual SDK pages to access their GitHub repositories and contribution guidelines.
