Go SDK
One struct, four methods — Issue, Consult, Cancel, Reissue — typed and validated.
The official Go SDK (go get github.com/stackin-io/stackin-go-sdk) wraps the REST API one-to-one: one Invoice struct with Issue(), Consult(), and Cancel() — nothing else to instantiate. Each line item is a typed br.Product, with Brazil-specific tax fields (NCM/CFOP/CEST...) only required where the authorizer actually needs them.
It authenticates the same way as the raw API — a single API key — so switching between SDK and direct HTTP calls later doesn't change how your account or environment is set up.
Errors surface as three distinct types instead of one generic failure: an *APIError carries the authorizer's own status code and detail, a *ConnectionFailedError covers network/DNS/timeout failures before a response ever comes back, and an *InvoiceError catches client-side validation problems — empty items, or a missing NCM/CFOP on an NF-e item — before a request is even sent.
The SDK is built against the same .code_quality/ configuration and CI shape as every other official stackin SDK, and the same universal API contract, so a Go integration reads the same as the Python one once you know one of them — Issue/Consult/Cancel versus issue/consult/cancel is the casing convention, not a behavior difference.
See the SDKs section of the API reference for install commands, or the code on GitHub.