LatticeStripe.Mandate (LatticeStripe v1.7.1)

Copy Markdown View Source

Operations on Stripe Mandate objects.

Mandates are Stripe-created authorization records used for inspection of payment authorization state and customer acceptance details. This module is intentionally retrieve-only: LatticeStripe does not expose create, update, or delete flows for mandates.

Usage

{:ok, mandate} = LatticeStripe.Mandate.retrieve(client, "mandate_123")

case mandate.customer_acceptance do
  %{type: :online} -> :online_acceptance
  _ -> mandate.status
end

Summary

Types

t()

@type t() :: %LatticeStripe.Mandate{
  customer_acceptance: LatticeStripe.Mandate.CustomerAcceptance.t() | nil,
  extra: map(),
  id: String.t() | nil,
  livemode: boolean() | nil,
  multi_use: map() | nil,
  object: String.t(),
  on_behalf_of: String.t() | nil,
  payment_method: LatticeStripe.PaymentMethod.t() | String.t() | nil,
  payment_method_details: map() | nil,
  single_use: LatticeStripe.Mandate.SingleUse.t() | nil,
  status: atom() | String.t() | nil,
  type: atom() | String.t() | nil
}

Functions

from_map(map)

@spec from_map(map() | nil) :: t() | nil

retrieve(client, id, opts \\ [])

@spec retrieve(LatticeStripe.Client.t(), String.t(), keyword()) ::
  {:ok, t()} | {:error, LatticeStripe.Error.t()}

Retrieves a mandate by ID.

Sends GET /v1/mandates/:id and returns a typed %Mandate{}.

retrieve!(client, id, opts \\ [])

@spec retrieve!(LatticeStripe.Client.t(), String.t(), keyword()) :: t()

Like retrieve/3 but raises LatticeStripe.Error on failure.