Library

Transaction enrichment library for C#

Use TxnKit as a transaction enrichment API from C#. This page shows the safe request shape, a short code snippet, and the boundary for keeping sensitive data out of the integration.

Target intent

C# developers adding merchant cleanup with HttpClient and the TxnKit API.

TxnKit should be called from trusted server code that owns API credentials.

Raw descriptor

VISA DDA PUR 5542 GAS BAR

Short C# API snippet

using var client = new HttpClient { Timeout = TimeSpan.FromSeconds(1) };
client.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("TXNKIT_API_KEY"));

var response = await client.PostAsJsonAsync("https://api.txnkit.dev/v1/enrich", new {
    raw_description = "VISA DDA PUR 5542 GAS BAR",
    country = "CA"
});

Keep API keys out of browser bundles. For frontend stacks, call a backend route or serverless function that owns the TxnKit request.

API-shaped output

{
  "input": {
    "descriptor": "VISA DDA PUR 5542 GAS BAR",
    "country": "CA"
  },
  "output": {
    "merchant_name": "Gas Bar",
    "category": "Fuel",
    "confidence": "medium",
    "signals": [
      "processor_pattern",
      "merchant_alias",
      "category_hint"
    ],
    "warnings": [
      "review_low_confidence_matches_before_showing_logo"
    ],
    "logos": []
  }
}

Low-confidence results should keep fallback labels and warnings visible instead of forcing a guessed logo or website.

When to use

  • You are building in C# and need one-descriptor merchant cleanup through an HTTP API.
  • Your app can keep the TxnKit API key on the server side or inside a trusted serverless function.
  • You need merchant display names, categories, confidence, signals, warnings, and logo-ready metadata.

When not to use

  • TxnKit should be called from trusted server code that owns API credentials.
  • Do not use TxnKit to process card numbers, account numbers, full statements, bank credentials, emails, phone numbers, addresses, customer names, or customer PII.
  • Do not use TxnKit when the product requirement is guaranteed merchant identity, every-merchant resolution, or contracted uptime terms.

Proof surfaces

The public contract is POST /v1/enrich, backed by the OpenAPI file, benchmark examples, privacy rules, and deterministic request-path tests.

OpenAPI · Benchmark · Security · Pricing

Related pages