SilverLabs.SilverDotPay.Sdk 1.1.0

SilverDotPay SDK

Typed .NET client for the SilverDotPay payment gateway.

Install

dotnet add package SilverLabs.SilverDotPay.Sdk

The SilverLABS NuGet feed must be configured. In nuget.config:

<add key="silverlabs" value="https://nuget.silverlabs.uk/v3/index.json" />

Quick start

services.AddSilverDotPaySdk(opts =>
{
    opts.BaseAddress = "https://silverdotpay.silverlabs.uk";
    opts.Mode = SilverDotPayClientMode.ApiKey;
    opts.ApiKey = configuration["SilverDotPay:ApiKey"];
    opts.Timeout = TimeSpan.FromSeconds(30);
})
.AddPublicClient()      // ICurrenciesClient + exchange rates, no auth
.AddMerchantClient()    // orders, balances, withdrawals, webhooks
.AddAdminClient();      // applications, keys, secrets, escrow, settings

Then inject any of:

  • ISilverDotPayClient — narrow legacy surface (order create, get, escrow release/refund) — used by Crowding-style integrations.
  • ISilverDotPayPublicClient — currencies, exchange rates. No auth.
  • ISilverDotPayMerchantClient — orders, my balance, withdrawals, webhook config.
  • ISilverDotPayAdminClient — applications, API keys, webhook secret rotation, balances, escrow, settings.

Auth modes

Pick one per HttpClient:

  • SilverDotPayClientMode.ApiKey — sets X-API-Key header from opts.ApiKey. Used by service accounts and admin keys.
  • SilverDotPayClientMode.PassportBearer — forwards a Passport SSO token from a pluggable ITokenSource. Used in ASP.NET Core hosts where the inbound user's token is propagated downstream.

Inbound webhook validation

services.AddSingleton<ISilverDotPayWebhookValidator>(sp =>
    new SilverDotPayWebhookValidator(secret: cfg["SilverDotPay:WebhookSecret"], logger));

Validator parses X-SilverDotPay-Signature: t=<unix>,v1=<hex>, recomputes HMAC-SHA256("<unix>.<raw body>", secret), and rejects if the timestamp falls outside a 5-minute replay window. Fails closed when no secret is configured.

See docs/WEBHOOKS.md in the silverdotpay repo for the wire format.

Versioning

SemVer. Major versions track breaking API contract changes on the silverdotpay backend.

No packages depend on SilverLabs.SilverDotPay.Sdk.

Version Downloads Last updated
1.1.0 12 04/28/2026
1.0.0 3 04/28/2026