PrimeAML.TransactionMonitoring.Client
1.0.0
See the version list below for details.
dotnet add package PrimeAML.TransactionMonitoring.Client --version 1.0.0
NuGet\Install-Package PrimeAML.TransactionMonitoring.Client -Version 1.0.0
<PackageReference Include="PrimeAML.TransactionMonitoring.Client" Version="1.0.0" />
<PackageVersion Include="PrimeAML.TransactionMonitoring.Client" Version="1.0.0" />
<PackageReference Include="PrimeAML.TransactionMonitoring.Client" />
paket add PrimeAML.TransactionMonitoring.Client --version 1.0.0
#r "nuget: PrimeAML.TransactionMonitoring.Client, 1.0.0"
#:package PrimeAML.TransactionMonitoring.Client@1.0.0
#addin nuget:?package=PrimeAML.TransactionMonitoring.Client&version=1.0.0
#tool nuget:?package=PrimeAML.TransactionMonitoring.Client&version=1.0.0
PrimeAML.TransactionMonitoring.Client - PrimeAML
Official .NET client library for the PrimeAML Transaction Monitoring API.
Built for compliance-focused institutions, this package provides a fully typed, authenticated HTTP client for submitting transactions to live and post-transaction monitoring rules.
Requirements
- .NET 9.0 or 10.0
- Credentials issued by PrimeAML (Client ID + Secret)
- Auth server: Any OIDC-compliant server (OAuth 2.0 Client Credentials flow, token endpoint discovered automatically)
Access is restricted to approved PrimeAML clients. Contact info@primeaml.com or visit https://www.primeaml.com to request credentials.
Installation
dotnet add package PrimeAML.TransactionMonitoring.Client
All required types (NewTransaction, TransactionMonitoringResult, enums, etc.)
are bundled inside the package — no additional dependencies required.
Quick Start
1 — Configuration (appsettings.json)
{
"TransactionMonitoringClient": {
"BaseUrl": "https://api.your-primeaml-instance.com",
"TimeoutSeconds": 30,
"Authentication": {
"Authority": "https://auth.your-primeaml-instance.com/realms/AMS/",
"ClientId": "your-client-id",
"ClientSecret": "your-client-secret",
"Scopes": [ "transaction_monitoring_api" ],
"ExpiryBufferSeconds": 30
}
}
}
2 — Register the client (ASP.NET Core / Generic Host)
builder.Services.AddTransactionMonitoringClient(options =>
builder.Configuration
.GetSection(TransactionMonitoringClientOptions.SectionName)
.Bind(options));
3 — Inject and call
public class PaymentService(ITransactionMonitoringClient api)
{
public async Task<TransactionMonitoringResult> SubmitAsync(
NewTransaction transaction,
CancellationToken ct)
{
return await api.ProcessTransactionAsync(transaction, ct);
}
}
Token Management
OAuth 2.0 token acquisition and caching are fully transparent. A SemaphoreSlim
guard prevents thundering-herd re-fetches and tokens are refreshed automatically
before expiry (controlled by Authentication:ExpiryBufferSeconds).
The token endpoint is discovered automatically at startup via the OIDC
.well-known/openid-configuration document published by the authority in
Authentication:Authority. If the authority is unreachable at startup the
application fails fast with a clear error rather than failing on the first API call.
Error Handling
All API failures surface as TransactionMonitoringException (inherits ExternalApiException):
try
{
var result = await _api.ProcessTransactionAsync(transaction, ct);
}
catch (TransactionMonitoringException ex)
{
// ex.StatusCode — HTTP status code
// ex.Errors — validation / business error messages
logger.LogError("API error {Status}: {Errors}", ex.StatusCode,
string.Join(", ", ex.Errors));
}
Contract Types
Request and response models live in PrimeAML.TransactionMonitoring.Contracts
and are bundled with this package. Monitoring scope, country, and screening types are
reused from PrimeAML.ClientManagement.Contracts and bundled alongside transaction types.
The package does not expose internal AMS service assemblies.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- IdentityModel (>= 7.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.Http (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
-
net9.0
- IdentityModel (>= 7.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.5)
- Microsoft.Extensions.Http (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release of PrimeAML.TransactionMonitoring.Client 1.x for transaction monitoring integrations.