Centrik.Billing.Contracts 1.0.0

dotnet add package Centrik.Billing.Contracts --version 1.0.0
                    
NuGet\Install-Package Centrik.Billing.Contracts -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Centrik.Billing.Contracts" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Centrik.Billing.Contracts" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Centrik.Billing.Contracts" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Centrik.Billing.Contracts --version 1.0.0
                    
#r "nuget: Centrik.Billing.Contracts, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Centrik.Billing.Contracts@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Centrik.Billing.Contracts&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Centrik.Billing.Contracts&version=1.0.0
                    
Install as a Cake Tool

Centrik.Billing.Contracts

Shared, versioned contracts for billing integration between Centrik Subscriptions, Books, and entitlement-consuming Centrik applications.

This package contains data contracts only. It does not register services, call APIs, access persistence, or enable the Books billing host.

Install

<PackageReference Include="Centrik.Billing.Contracts" Version="1.0.0" />

Use the version approved for the consuming application's release. Production applications should not reference an unversioned or floating package version.

Package contents

  • Billing API request and response DTOs under Centrik.Billing.Contracts.DTOs.
  • Versioned integration event envelopes under Centrik.Billing.Contracts.Events.
  • Stable product, package, and entitlement feature codes under Centrik.Billing.Contracts.

The package deliberately contains no Centrik Subscriptions domain entities and no Books application types. Integration must remain based on these public contracts rather than either application's internal model.

Usage

Use stable constants rather than duplicating feature or product code strings:

using Centrik.Billing.Contracts;

var productCode = ProductCodes.Books;
var featureCode = FeatureCodes.BooksAdvancedReporting;
var packageCode = PackageCodes.Enterprise;

Use billing DTOs when implementing or consuming the Books accounting API:

using Centrik.Billing.Contracts.DTOs;

var request = new CreateInvoiceRequest
{
    BooksCustomerId = customerId,
    Currency = "TZS",
    IdempotencyKey = idempotencyKey,
    DueOn = dueOn,
    Lines = lines
};

Integration-event consumers must validate the envelope's producer, event type, schema version, identifiers, and authorization context before changing state.

Compatibility and versioning

The package follows semantic versioning:

  • Patch: documentation, annotations, or compatible corrections that do not change serialized contracts.
  • Minor: backward-compatible additions, such as optional members or new event types.
  • Major: removed or renamed members, changed meanings or types, required-member additions, namespace changes, or incompatible event schema changes.

Published contracts are treated as immutable. Add a new event schema version instead of silently changing the meaning of an existing payload. Consumers should tolerate unknown optional fields and reject unsupported required schema versions explicitly.

Ownership boundaries

  • Centrik Subscriptions owns subscription lifecycle, billing intent, entitlement snapshots, and package selection.
  • The central Books deployment is the only deployment allowed to enable SubscriptionBillingHost and execute accounting endpoints.
  • Books, Hotel, Rockvein, and Nebrix are entitlement consumers. Referencing this package does not authorize or activate billing-host behavior.

Applications that need entitlement retrieval, signed snapshot validation, caching, and outage-grace behavior should also install Centrik.Subscriptions.Client. That client package depends on these contracts.

Security

This package contains no credentials or signing keys. Configure OAuth credentials, webhook secrets, and entitlement signing material through each application's secret-management environment, never in contract source or package metadata.

Source

Source and release history: Centrik.Subscriptions

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Centrik.Billing.Contracts:

Package Downloads
Centrik.Subscriptions.Client

Entitlement client for Centrik applications. Provides signed snapshot caching, background refresh, and feature-gate helpers.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 206 8/24/2026