Skip to main content
The C# SDK provides convenient access to the Dodo Payments REST API from applications written in C#. It features an async Task-based API with strong typing, automatic retries, and comprehensive error handling.

Installation

Install the package from NuGet:
The SDK requires .NET 8.0 or later. It works with ASP.NET Core, Console applications, and other .NET project types.

Quick Start

Initialize the client and create a checkout session:
Always store your API keys securely using environment variables, user secrets, or Azure Key Vault. Never hardcode them in your source code or commit them to version control.

Core Features

Async/Await

Full async Task-based API for non-blocking operations

Strong Typing

Comprehensive type safety with nullable reference types

Smart Retries

Automatic retries with exponential backoff for transient errors

Error Handling

Built-in exception hierarchy for precise error management

Configuration

Environment Variables

.env

Manual Configuration

Environments

Switch between live and test mode:

Retries

The SDK automatically retries 2 times by default with exponential backoff. It retries on connection errors and status codes 408, 409, 429, and 5xx.

Timeouts

Requests time out after 1 minute by default.

Per-Request Overrides

Temporarily modify configuration for a single request using WithOptions:

Common Operations

Create a Checkout Session

Manage Customers

Handle Subscriptions

POST /subscriptions (la méthode subscriptions.create du SDK) est obsolète. Elle fonctionne toujours pour les intégrations existantes, mais les nouvelles intégrations doivent créer des abonnements via une Checkout Session.
Billing nécessite au minimum le code ISO à deux lettres Country. Utilisez AttachExistingCustomer pour associer un client existant, ou NewCustomer pour en créer un. ProductPrice est exprimé dans la plus petite dénomination de la devise.

Gestion des erreurs

Le SDK lance des exceptions spécifiques selon le code d’état HTTP. Toutes les erreurs 4xx héritent de DodoPayments4xxException. Autres types d’exceptions :
  • DodoPaymentsIOException : erreurs réseau d’E/S
  • DodoPaymentsInvalidDataException : échec de l’interprétation des données analysées
  • DodoPaymentsException : classe de base pour toutes les exceptions

Pagination

Pagination automatique

Parcourez tous les résultats de toutes les pages à l’aide de la méthode Paginate, qui renvoie un IAsyncEnumerable :

Pagination manuelle

Intégration ASP.NET Core

Enregistrez le client dans votre conteneur DI :
Program.cs
appsettings.json
Pour le développement, utilisez les secrets utilisateur au lieu de stocker les clés dans appsettings.json :

Ressources

NuGet Package

Voir le package sur NuGet Gallery

GitHub Repository

Voir le code source et contribuer

API Reference

Documentation complète de l’API

Discord Community

Obtenir de l’aide et échanger avec les développeurs

Support

Besoin d’aide avec le SDK C# ?
Dernière modification le 17 août 2026