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

# Aperçu des Adaptateurs de Framework

> Adaptateurs préconstruits pour les frameworks web populaires pour intégrer Dodo Payments en quelques minutes avec un code minimal

Dodo Payments fournit des adaptateurs de framework officiels qui simplifient l'intégration des paiements. Chaque adaptateur est conçu pour fonctionner de manière transparente avec les conventions de votre framework, offrant des fonctionnalités de paiement, de portail client et de gestion des webhooks dès le départ.

<Tip>
  Les adaptateurs de framework vous permettent d'intégrer Dodo Payments en moins de 10 lignes de code. Ils gèrent automatiquement l'authentification, l'analyse des requêtes et le formatage des réponses.
</Tip>

## Adaptateurs de Framework Disponibles

Choisissez l'adaptateur qui correspond à votre framework :

<CardGroup cols={2}>
  <Card title="Next.js" icon="react" href="/developer-resources/nextjs-adaptor">
    Prise en charge de l'App Router avec des gestionnaires de routes pour le checkout, le portail et les webhooks
  </Card>

  <Card title="Nuxt" icon="vuejs" href="/developer-resources/nuxt-adaptor">
    Framework full-stack basé sur Vue avec intégration des routes serveur
  </Card>

  <Card title="Express" icon="node-js" href="/developer-resources/express-adaptor">
    Gestionnaires basés sur middleware pour le framework Node.js populaire
  </Card>

  <Card title="Fastify" icon="bolt" href="/developer-resources/fastify-adaptor">
    Framework Node.js haute performance avec architecture par plugins
  </Card>

  <Card title="Hono" icon="cloud" href="/developer-resources/hono-adaptor">
    Framework web ultra-rapide pour l'edge, Cloudflare Workers et plus encore
  </Card>

  <Card title="Astro" icon="star" href="/developer-resources/astro-adaptor">
    Framework axé sur le contenu avec prise en charge des points de terminaison serveur
  </Card>

  <Card title="SvelteKit" icon="code" href="/developer-resources/sveltekit-adaptor">
    Framework Svelte full-stack avec intégration des hooks serveur
  </Card>

  <Card title="Remix" icon="react" href="/developer-resources/remix-adaptor">
    Framework React full-stack avec gestionnaires loader et action
  </Card>

  <Card title="TanStack Start" icon="chart-line" href="/developer-resources/tanstack-adaptor">
    Framework React full-stack typé avec fonctions serveur
  </Card>

  <Card title="Better Auth" icon="shield" href="/developer-resources/better-auth-adaptor">
    Plugin de framework d'authentification pour une intégration transparente auth + paiements
  </Card>

  <Card title="Convex" icon="database" href="/developer-resources/convex-component">
    Composant Backend-as-a-Service pour synchronisation des paiements en temps réel
  </Card>

  <Card title="Bun" icon="bolt" href="/developer-resources/bun-adaptor">
    Gestionnaires natifs Bun.serve() pour le checkout, le portail et les webhooks
  </Card>
</CardGroup>

## Fonctionnalités principales

Tous les adaptateurs de framework offrent ces capacités intégrées :

| Fonctionnalité                       | Description                                                                          |
| ------------------------------------ | ------------------------------------------------------------------------------------ |
| **Gestionnaire de checkout**         | Prise en charge des flux de checkout statiques, dynamiques et basés sur des sessions |
| **Portail client**                   | Gestionnaire préconstruit pour gérer les abonnements et la facturation               |
| **Gestionnaire de webhook**          | Vérification sécurisée des signatures avec gestionnaires d'événements typés          |
| **Configuration de l'environnement** | Configuration simple via des variables d'environnement                               |
| **Sécurité des types**               | Prise en charge complète de TypeScript avec des charges utiles typées                |

## Démarrage rapide

Commencez avec n'importe quel adaptateur de framework en trois étapes :

<Steps>
  <Step title="Install the Adaptor">
    Utilisez votre gestionnaire de paquets pour installer l'adaptateur spécifique au framework :

    <Tabs>
      <Tab title="Next.js">
        ```bash theme={null}
        npm install @dodopayments/nextjs
        ```
      </Tab>

      <Tab title="Nuxt">
        ```bash theme={null}
        npm install @dodopayments/nuxt
        ```
      </Tab>

      <Tab title="Express">
        ```bash theme={null}
        npm install @dodopayments/express
        ```
      </Tab>

      <Tab title="Hono">
        ```bash theme={null}
        npm install @dodopayments/hono
        ```
      </Tab>

      <Tab title="Astro">
        ```bash theme={null}
        npm install @dodopayments/astro
        ```
      </Tab>

      <Tab title="SvelteKit">
        ```bash theme={null}
        npm install @dodopayments/sveltekit
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Configure Environment Variables">
    Ajoutez vos identifiants Dodo Payments à votre environnement :

    ```env theme={null}
    DODO_PAYMENTS_API_KEY=your-api-key
    DODO_PAYMENTS_WEBHOOK_KEY=your-webhook-secret
    DODO_PAYMENTS_RETURN_URL=https://yourdomain.com/checkout/success
    DODO_PAYMENTS_ENVIRONMENT="test_mode" # or "live_mode"
    ```

    <Warning>
      Ne commettez jamais votre fichier `.env` ni vos secrets dans le contrôle de version.
    </Warning>
  </Step>

  <Step title="Create Route Handlers">
    Configurez vos routes de checkout, portail client et webhook :

    <Tabs>
      <Tab title="Next.js">
        ```typescript theme={null}
        // app/checkout/route.ts
        import { Checkout } from "@dodopayments/nextjs";

        export const GET = Checkout({
          bearerToken: process.env.DODO_PAYMENTS_API_KEY,
          returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
          environment: process.env.DODO_PAYMENTS_ENVIRONMENT,
        });
        ```
      </Tab>

      <Tab title="Express">
        ```typescript theme={null}
        import { checkoutHandler } from '@dodopayments/express';

        app.get('/api/checkout', checkoutHandler({
          bearerToken: process.env.DODO_PAYMENTS_API_KEY,
          returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
          environment: process.env.DODO_PAYMENTS_ENVIRONMENT,
        }));
        ```
      </Tab>

      <Tab title="Hono">
        ```typescript theme={null}
        import { Checkout } from "@dodopayments/hono";

        app.get('/checkout', Checkout({
          bearerToken: process.env.DODO_PAYMENTS_API_KEY,
          returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
          environment: process.env.DODO_PAYMENTS_ENVIRONMENT,
        }));
        ```
      </Tab>
    </Tabs>

    <Check>
      Vous êtes maintenant prêt à traiter des paiements ! Consultez les pages des adaptateurs individuels pour des guides détaillés et toutes les options disponibles.
    </Check>
  </Step>
</Steps>

## Types de flux de checkout

Tous les adaptateurs prennent en charge trois types de flux de checkout :

<AccordionGroup>
  <Accordion title="Static Checkout (GET)">
    Utilisez le checkout statique pour des liens de paiement simples et partageables. Passez l'identifiant du produit comme paramètre de requête :

    ```
    /api/checkout?productId=pdt_xxx&quantity=1
    ```

    Prend en charge la pré-remplissage client optionnelle et la personnalisation via les paramètres de requête.
  </Accordion>

  <Accordion title="Dynamic Checkout (POST)">
    Utilisez le checkout dynamique pour créer des paiements de manière programmatique avec des détails personnalisés :

    ```json theme={null}
    {
      "product_id": "pdt_xxx",
      "customer": {
        "email": "customer@example.com",
        "name": "John Doe"
      },
      "quantity": 1
    }
    ```

    Prend en charge les paiements ponctuels et les abonnements.
  </Accordion>

  <Accordion title="Checkout Sessions (POST)">
    Utilisez les sessions de checkout pour l'expérience de checkout la plus flexible avec prise en charge du panier :

    ```json theme={null}
    {
      "product_cart": [
        { "product_id": "pdt_xxx", "quantity": 1 },
        { "product_id": "pdt_yyy", "quantity": 2 }
      ],
      "customer": {
        "email": "customer@example.com"
      }
    }
    ```

    En savoir plus dans le [Guide des sessions de checkout](/developer-resources/checkout-session).
  </Accordion>
</AccordionGroup>

## Gestion des événements webhook

Tous les adaptateurs offrent une gestion webhook typée avec des rappels d'événements granulaires :

```typescript theme={null}
Webhooks({
  webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY,
  onPayload: async (payload) => {
    // Handle any webhook event
  },
  onPaymentSucceeded: async (payload) => {
    // Handle successful payments
  },
  onSubscriptionActive: async (payload) => {
    // Handle new subscriptions
  },
  // ... 20+ event types supported
});
```

<Info>
  Tous les gestionnaires de webhook vérifient automatiquement les signatures et valident les charges utiles à l'aide de schémas Zod. Les requêtes invalides sont rejetées avec les codes d'erreur appropriés.
</Info>

## Choisir le bon adaptateur

| Framework          | Idéal pour                                                | Runtime        |
| ------------------ | --------------------------------------------------------- | -------------- |
| **Next.js**        | Applications React full-stack avec App Router             | Node.js, Edge  |
| **Nuxt**           | Applications Vue.js full-stack                            | Node.js        |
| **Express**        | API REST et applications Node.js traditionnelles          | Node.js        |
| **Fastify**        | API haute performance                                     | Node.js        |
| **Hono**           | Déploiements edge, Cloudflare Workers                     | Edge, Node.js  |
| **Astro**          | Sites orientés contenu avec points de terminaison serveur | Node.js, Edge  |
| **SvelteKit**      | Applications Svelte full-stack                            | Node.js        |
| **Remix**          | React full-stack avec routage imbriqué                    | Node.js        |
| **TanStack Start** | React full-stack typé                                     | Node.js        |
| **Better Auth**    | Applications déjà sous Better Auth                        | Divers         |
| **Convex**         | Applications utilisant Convex pour l'arrière-plan         | Convex Runtime |
| **Bun**            | Applications serveur natives Bun                          | Bun            |

## Obtenir de l'aide

Besoin d'aide avec les adaptateurs de framework ?

* **Discord** : Rejoignez notre [serveur communautaire](https://discord.gg/bYqAp4ayYh) pour obtenir de l'aide en temps réel
* **Email** : Contactez-nous à [support@dodopayments.com](mailto:support@dodopayments.com)
* **GitHub** : Ouvrez une issue sur le dépôt de l'adaptateur concerné
* **Documentation** : Consultez notre [référence API](/api-reference/introduction)
