LatticeStripe

Hex.pmCIDocsLicense: MIT

What's new in v1.0 — LatticeStripe 1.0 ships with full Billing (Invoices, Subscriptions, Schedules) and Connect (Accounts, Transfers, Payouts, Balance) coverage. See the v1.0 highlights in CHANGELOG.

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

Full documentation available on HexDocs.

Installation

Add lattice_stripe to your dependencies in mix.exs:

def deps do
  [
    {:lattice_stripe, "~> 0.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

Connect

Platform

Compatibility

Requirement Version
Elixir >= 1.15
Erlang/OTP >= 26
Stripe API 2026-03-25.dahlia

Documentation

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

Guides available:

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT — see LICENSE for details.