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
<PackageReference Include="Centrik.Billing.Contracts" Version="1.0.0" />
<PackageVersion Include="Centrik.Billing.Contracts" Version="1.0.0" />
<PackageReference Include="Centrik.Billing.Contracts" />
paket add Centrik.Billing.Contracts --version 1.0.0
#r "nuget: Centrik.Billing.Contracts, 1.0.0"
#:package Centrik.Billing.Contracts@1.0.0
#addin nuget:?package=Centrik.Billing.Contracts&version=1.0.0
#tool nuget:?package=Centrik.Billing.Contracts&version=1.0.0
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
SubscriptionBillingHostand execute accounting endpoints. - Books, Hotel, Rockvein, and Nebrix are entitlement consumers. Referencing this package does not authorize or activate billing-host behavior.
Related package
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 | Versions 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. |
-
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 |