# `Stripe.Resources.Mandate`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/mandate.ex#L2)

Mandate

A Mandate is a record of the permission that your customer gives you to debit their payment method.

# `t`

```elixir
@type t() :: %Stripe.Resources.Mandate{
  customer_acceptance: Stripe.Resources.Mandate.CustomerAcceptance.t(),
  id: String.t(),
  livemode: boolean(),
  multi_use: map() | nil,
  object: String.t(),
  on_behalf_of: String.t() | nil,
  payment_method: String.t() | Stripe.Resources.PaymentMethod.t(),
  payment_method_details: Stripe.Resources.Mandate.PaymentMethodDetails.t(),
  single_use: Stripe.Resources.Mandate.SingleUse.t() | nil,
  status: String.t(),
  type: String.t()
}
```

* `customer_acceptance` - Expandable.
* `id` - Unique identifier for the object. Max length: 5000.
* `livemode` - Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
* `multi_use` - Expandable.
* `object` - String representing the object's type. Objects of the same type share the same value. Possible values: `mandate`.
* `on_behalf_of` - The account (if any) that the mandate is intended for. Max length: 5000.
* `payment_method` - ID of the payment method associated with this mandate. Expandable.
* `payment_method_details` - Expandable.
* `single_use` - Expandable.
* `status` - The mandate status indicates whether or not you can use it to initiate a payment. Possible values: `active`, `inactive`, `pending`.
* `type` - The type of the mandate. Possible values: `multi_use`, `single_use`.

# `expandable_fields`

# `object_name`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
