LatticeStripe

Hex.pmCIDocsLicense: MIT

Current release:2.2.x on Hex — see CHANGELOG for what shipped since 2.1.0.

The published baseline is 2.2.0; the next planned release is the compatibility-preserving 2.2.1 quality patch. Evaluating fit? Start with User Flows & JTBD.

A production-grade, idiomatic Elixir SDK for the Stripe API.

Full documentation available on HexDocs.

If you are evaluating how this fits into a real SaaS billing architecture, start with Guide: User Flows & JTBD.

Current scope and maintenance posture

The 2.2 baseline is feature-complete for the library's intended mainstream SaaS scope: payments, billing, metering, Connect, tax on custom flows, entitlement catalog and access reconciliation, webhooks (including thin events), and production operator guides.

The 2.2 line is maintenance- and adoption-driven. The planned 2.2.1 patch concentrates on reliability, internal consistency, documentation truth, and release hygiene without changing the public API. New resource families remain driven by demonstrated adopter need.

Not in the current typed scope:

See Scope for boundaries, escape hatches, and how to request coverage. See API Stability for the semver contract.

Docs Ladder

Use the docs in this order:

Choose Your Route

Installation

Add lattice_stripe to your dependencies in mix.exs:

def deps do
[
{:lattice_stripe, "~> 2.2"}
]
end

Quick Start

LatticeStripe uses Finch for HTTP requests. Add it to your supervision tree in application.ex:

children = [
{Finch, name: MyApp.Finch}
]

Then create a client and make your first API call:

client = LatticeStripe.Client.new!(
api_key: "sk_test_...",
finch: MyApp.Finch
)
{:ok, payment_intent} = LatticeStripe.PaymentIntent.create(client, %{
"amount" => 2000,
"currency" => "usd",
"payment_method" => "pm_card_visa",
"confirm" => true,
"automatic_payment_methods" => %{"enabled" => true, "allow_redirects" => "never"}
})
IO.puts("PaymentIntent created: #{payment_intent.id}")

Features

Payments

Billing

Operations and diagnostics

Connect

Platform

Compatibility

RequirementVersion
Elixir>= 1.15
Erlang/OTP>= 26
Stripe API2026-03-25.dahlia

Documentation

Full documentation with guides, examples, and API reference is available on HexDocs.

Start here on HexDocs:

Canonical guide clusters:

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT — see LICENSE for details.