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
@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
@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{}.
@spec retrieve!(LatticeStripe.Client.t(), String.t(), keyword()) :: t()
Like retrieve/3 but raises LatticeStripe.Error on failure.