CheckoutClient

Production-grade Elixir client for the Checkout.com API.

Covers a wide range of APIs including Payments, Flow, Disputes, Instruments, Customers, Tokens, Workflows, Transfers, Balances, Forex, Card Issuing, Platforms, Reports, Financial Actions, Network Tokens, Identity Verification, Apple Pay, Google Pay, Forward, Compliance, and Agentic Commerce.


Features


Installation

Add checkout_client to your list of dependencies in mix.exs:

def deps do
  [
    {:checkout_client, "~> 1.0"}
  ]
end

Configuration

Configure the client in config/runtime.exs:

config :checkout_client,
  prefix:            System.fetch_env!("CHECKOUT_PREFIX"),
  access_key_id:     System.get_env("CHECKOUT_ACCESS_KEY_ID"),
  access_key_secret: System.get_env("CHECKOUT_ACCESS_KEY_SECRET"),
  environment:       :sandbox

Quick Start

Make your first payment:

{:ok, payment} =
  CheckoutClient.Payments.request(%{
    amount:    1000,
    currency:  "GBP",
    source:    %{type: "token", token: "tok_..."},
    reference: "my-first-payment"
  })

Project Info


Development

Install dependencies and compile:

mix setup

Run checks:

mix check

Run tests:

mix test

Run full test suite (including integration):

mix test.all

License

MIT License


Links