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

Die Methode POST /subscriptions (die subscriptions.create-Methode des SDK) ist veraltet. Sie funktioniert weiterhin für bestehende Integrationen, aber neue Integrationen sollten Abonnements über eine Checkout Session erstellen.
Billing erfordert mindestens den zweistelligen ISO-Code Country. Verwenden Sie AttachExistingCustomer, um einen bestehenden Kunden zuzuordnen, oder NewCustomer, um einen neuen Kunden zu erstellen. ProductPrice wird in der kleinsten Währungseinheit angegeben.

Fehlerbehandlung

Das SDK löst abhängig vom HTTP-Statuscode spezifische Ausnahmen aus. Alle 4xx-Fehler erben von DodoPayments4xxException. Andere Ausnahmetypen:
  • DodoPaymentsIOException: Netzwerkfehler bei der Ein-/Ausgabe
  • DodoPaymentsInvalidDataException: Fehler bei der Interpretation geparster Daten
  • DodoPaymentsException: Basisklasse für alle Ausnahmen

Paginierung

Automatische Paginierung

Durchlaufen Sie alle Ergebnisse über alle Seiten hinweg mit der Methode Paginate, die ein IAsyncEnumerable zurückgibt:

Manuelle Paginierung

ASP.NET-Core-Integration

Registrieren Sie den Client in Ihrem DI-Container:
Program.cs
appsettings.json
Verwenden Sie für die Entwicklung Benutzergeheimnisse, anstatt Schlüssel in appsettings.json zu speichern:

Ressourcen

NuGet Package

Paket in der NuGet Gallery anzeigen

GitHub Repository

Quellcode anzeigen und beitragen

API Reference

Vollständige API-Dokumentation

Discord Community

Hilfe erhalten und mit Entwicklern in Kontakt treten

Support

Benötigen Sie Hilfe mit dem C# SDK?
Zuletzt geändert am 17. August 2026