Lithic.Resources.Transactions (Lithic v1.0.0)

Copy Markdown View Source

Card transactions — retrieve, list, and simulate the full auth lifecycle.

Sandbox Simulation

The full lifecycle: authorize → clearing → void/return.

# Authorize $10.00
{:ok, txn} = Lithic.Transactions.simulate_authorization(%{
  card_token: "card_token",
  amount: 1000,
  descriptor: "Starbucks",
  mcc: "5812",
  merchant_acceptor_id: "merchant_123"
})

# Clear it
{:ok, _} = Lithic.Transactions.simulate_clearing(txn["token"])

# Or void it
{:ok, _} = Lithic.Transactions.simulate_void(txn["token"])

# Return (post-clear refund)
{:ok, _} = Lithic.Transactions.simulate_return(%{card_token: "...", amount: 1000})

L2/L3 Enhanced Data

{:ok, data} = Lithic.Transactions.get_enhanced_data(txn["token"])

Summary

Functions

Expire an authorization early (sandbox + production).

Get L2/L3 enhanced commercial data for a transaction.

List enhanced commercial data.

Route a transaction to a financial account.

Simulate an authorization (sandbox only).

Simulate an authorization advice (partial capture or increment, sandbox only).

Simulate a clearing/settlement (sandbox only).

Simulate a credit authorization advice (sandbox only).

Simulate a return (sandbox only).

Simulate a return reversal (sandbox only).

Functions

expire_authorization(transaction_token, opts \\ [])

@spec expire_authorization(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

Expire an authorization early (sandbox + production).

get(transaction_token, opts \\ [])

@spec get(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

get_enhanced_data(transaction_token, opts \\ [])

@spec get_enhanced_data(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

Get L2/L3 enhanced commercial data for a transaction.

list(opts \\ [])

@spec list(keyword()) :: {:ok, Lithic.Page.t(map())} | {:error, Lithic.Error.t()}

list_enhanced_data(opts \\ [])

@spec list_enhanced_data(keyword()) ::
  {:ok, Lithic.Page.t(map())} | {:error, Lithic.Error.t()}

List enhanced commercial data.

route(transaction_token, params, opts \\ [])

@spec route(String.t(), map(), keyword()) :: {:ok, map()} | {:error, Lithic.Error.t()}

Route a transaction to a financial account.

simulate_authorization(params, opts \\ [])

@spec simulate_authorization(
  map(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

Simulate an authorization (sandbox only).

simulate_authorization_advice(transaction_token, params, opts \\ [])

@spec simulate_authorization_advice(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Simulate an authorization advice (partial capture or increment, sandbox only).

simulate_clearing(transaction_token, params \\ %{}, opts \\ [])

@spec simulate_clearing(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Simulate a clearing/settlement (sandbox only).

simulate_credit_authorization_advice(transaction_token, params, opts \\ [])

@spec simulate_credit_authorization_advice(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Simulate a credit authorization advice (sandbox only).

simulate_return(params, opts \\ [])

@spec simulate_return(
  map(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

Simulate a return (sandbox only).

simulate_return_reversal(transaction_token, opts \\ [])

@spec simulate_return_reversal(
  String.t(),
  keyword()
) :: {:ok, map()} | {:error, Lithic.Error.t()}

Simulate a return reversal (sandbox only).

simulate_void(transaction_token, params \\ %{}, opts \\ [])

@spec simulate_void(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, Lithic.Error.t()}

Simulate a void (sandbox only).

stream(opts \\ [])

@spec stream(keyword()) :: Enumerable.t()