Skip to content

Commit 69bac2f

Browse files
committed
Add OP .NET SDK blog post
1 parent 6a1f311 commit 69bac2f

1 file changed

Lines changed: 29 additions & 4 deletions

File tree

src/content/blog/2026-03-19-open-payments-dotnet.md

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: 'dotnet add package Interledger.OpenPayments'
3-
description: 'The missing link between your C# backend and the future of interoperable digital finance.'
2+
title: 'Open Payments meet .NET'
3+
description: 'Integrate Open Payments into your stack with native DI, full type safety and automatic GNAP signatures.'
44
date: 2026-03-19
55
slug: open-payments-dotnet-sdk
66
authors:
@@ -13,11 +13,11 @@ tags:
1313
- Updates
1414
---
1515

16-
We're excited to announce the release of the [**Open Payments .NET SDK**](https://github.com/interledger/open-payments-dotnet), a fully typed, idiomatic C# client for the [Open Payments](https://openpayments.dev/) API standard. If you're building payment experiences in .NET, this SDK gives you everything you need to integrate interoperable payments into your backend.
16+
Building payment experiences in C# just got a lot simpler. We’ve officially launched the [Open Payments .NET SDK](https://github.com/interledger/open-payments-dotnet), removing the friction of manual API wiring. It’s a production-ready, type-safe gateway that gives .NET developers everything they need to integrate secure, interoperable finance into their applications.
1717

1818
## What is Open Payments?
1919

20-
[Open Payments](https://openpayments.dev/) is an open API standard that enables interoperable digital payments across banks, digital wallets, and mobile money providers. It covers eCommerce checkout, peer-to-peer transfers, subscriptions, Web Monetization, and more - all through a unified set of APIs for account discovery, payment management, and [GNAP](https://datatracker.ietf.org/doc/html/draft-ietf-gnap-core-protocol)-based authorization. Until now, .NET developers had to wire all of this up manually. Not anymore.
20+
[Open Payments](https://openpayments.dev/) is an API standard for banks, mobile money providers, and other account servicing entities. It allows developers to build payment capabilities into their apps without the need for custom integrations or third-party payment processors.
2121

2222
## Why a .NET SDK?
2323

@@ -117,6 +117,31 @@ Every authenticated request is automatically signed using Ed25519 HTTP Message S
117117

118118
The `Interledger.OpenPayments.HttpSignatureUtils` package is also available separately if you need HTTP signature functionality in other contexts.
119119

120+
## Error Handling
121+
122+
The SDK provides structured error handling through typed exceptions. API errors are surfaced as `ApiException<ErrorResponse>`, giving you access to the HTTP status code, the raw response and a deserialized error model:
123+
124+
```csharp
125+
try
126+
{
127+
var payment = await client.CreateOutgoingPaymentAsync(requestArgs, body);
128+
}
129+
catch (ApiException<ErrorResponse> ex)
130+
{
131+
// Typed error with structured details
132+
Console.WriteLine($"Error: {ex.Result.Error.Code}"); // e.g. "invalid_request"
133+
Console.WriteLine($"Description: {ex.Result.Error.Description}");
134+
Console.WriteLine($"HTTP Status: {ex.StatusCode}"); // e.g. 400, 403
135+
}
136+
catch (ApiException ex)
137+
{
138+
// Unexpected error — no typed body
139+
Console.WriteLine($"Unexpected error ({ex.StatusCode}): {ex.Response}");
140+
}
141+
```
142+
143+
Auth server errors include specific GNAP error codes like `invalid_client`, `request_denied`, and `too_fast` (rate limiting), so you can handle each scenario appropriately.
144+
120145
## Real-World Payment Scenarios
121146

122147
The SDK ships with eight annotated guides covering end-to-end payment flows:

0 commit comments

Comments
 (0)