Packages
A production-grade, fully-typed Elixir client for the SumUp API (Checkouts, Readers, Customers, Transactions, Payouts, Receipts, Members, Memberships, Roles and Merchants) with telemetry, retries, cursor streaming, webhook handling, and RFC 9457 aware error handling.
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Sumup.MixProject do
use Mix.Project
@version "1.0.0"
@source_url "https://github.com/iamkanishka/sumup"
def project do
[
app: :sumup,
version: @version,
elixir: "~> 1.15",
start_permanent: Mix.env() == :prod,
deps: deps(),
description: description(),
package: package(),
name: "Sumup",
source_url: @source_url,
docs: docs(),
elixirc_paths: elixirc_paths(Mix.env()),
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test
],
dialyzer: [
plt_add_apps: [:mix, :ex_unit],
plt_core_path: "priv/plts",
plt_local_path: "priv/plts"
]
]
end
def application do
[
extra_applications: [:logger]
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
# Runtime
{:req, "~> 0.5"},
{:jason, "~> 1.4"},
{:nimble_options, "~> 1.1"},
{:telemetry, "~> 1.2"},
# Test only - Req.Test (ships inside :req) needs :plug for its `plug:` adapter option
{:plug, "~> 1.15", only: :test},
# Dev / test tooling
{:ex_doc, "~> 0.34", only: :dev, runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false},
{:excoveralls, "~> 0.18", only: :test}
]
end
defp description do
"A production-grade, fully-typed Elixir client for the SumUp API " <>
"(Checkouts, Readers, Customers, Transactions, Payouts, Receipts, " <>
"Members, Memberships, Roles and Merchants) with telemetry, retries, " <>
"cursor streaming, webhook handling, and RFC 9457 aware error handling."
end
defp package do
[
name: "sumup",
files: ~w(lib .formatter.exs mix.exs README.md CHANGELOG.md LICENSE),
licenses: ["MIT"],
links: %{"GitHub" => @source_url}
]
end
defp docs do
[
main: "readme",
extras: ["README.md", "CHANGELOG.md"],
groups_for_modules: [
Resources: [
Sumup.Checkouts,
Sumup.Readers,
Sumup.Customers,
Sumup.PaymentInstruments,
Sumup.Transactions,
Sumup.Payouts,
Sumup.Receipts,
Sumup.Members,
Sumup.Memberships,
Sumup.Roles,
Sumup.Merchants
],
Schemas: [
Sumup.Checkout,
Sumup.Reader,
Sumup.ReaderStatus,
Sumup.Customer,
Sumup.PaymentInstrument,
Sumup.Transaction,
Sumup.Payout,
Sumup.Receipt,
Sumup.Member,
Sumup.Membership,
Sumup.Role,
Sumup.Merchant
],
Webhooks: [
Sumup.Webhooks,
Sumup.WebhookEvent
],
Support: [
Sumup.Config,
Sumup.Client,
Sumup.Error,
Sumup.RequestError,
Sumup.Money,
Sumup.Money.Float,
Sumup.Money.MinorUnit,
Sumup.Pagination,
Sumup.Telemetry
]
]
]
end
end