v1.0.99: Fixing the Calmony Pay SDK Invoice Interface
v1.0.99: Fixing the Calmony Pay SDK Invoice Interface
What Changed
Release v1.0.99 corrects a specification drift in the Calmony Pay SDK's invoice interface.
The pinned SDK Client Interface specification defines the invoices namespace as having exactly four methods:
| Method | Description |
|---|---|
invoices.create | Create a new invoice |
invoices.retrieve | Retrieve an invoice by ID |
invoices.list | List invoices |
invoices.downloadPdf | Download a PDF copy of an invoice |
What Was Wrong
Prior to this release, the implemented SDK exposed eight methods on the invoices namespace:
createretrieveupdate⚠️ not in speclistfinalizepayvoidInvoicedownloadPdf
While several of these extra methods may be functionally useful, their presence — most critically invoices.update — represented a deviation from the pinned contract that the SDK Client Interface specification defines. Exposing an undocumented and unspecified method on a public interface creates an implicit, unsupported API surface that downstream consumers could come to depend on.
Why This Matters
The Calmony Pay SDK is the single integration point between SaaS Factory products and the payment processing layer. Keeping the SDK's public interface strictly aligned with its pinned specification ensures:
- Predictability — consumers know exactly what methods are available and supported.
- Stability — unspecified methods cannot be relied on and may be removed without notice.
- Auditability — the interface is reviewable against a known source of truth.
Action Required
If your integration calls invoices.update on the Calmony Pay SDK client, that call will no longer be supported after upgrading to v1.0.99. Review all usages of invoices.update in your codebase and replace them with appropriate alternatives before upgrading.
Affected file: src/lib/calmony-pay/client.ts