# `Stripe.Resources.SetupIntent.PaymentMethodOptions.Payto.MandateOptions`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/setup_intent.ex#L396)

Nested struct within the parent resource.

# `t`

```elixir
@type t() :: %Stripe.Resources.SetupIntent.PaymentMethodOptions.Payto.MandateOptions{
  amount: integer() | nil,
  amount_type: String.t() | nil,
  end_date: String.t() | nil,
  payment_schedule: String.t() | nil,
  payments_per_period: integer() | nil,
  purpose: String.t() | nil,
  start_date: String.t() | nil
}
```

* `amount` - Amount that will be collected. It is required when `amount_type` is `fixed`. Nullable.
* `amount_type` - The type of amount that will be collected. The amount charged must be exact or up to the value of `amount` param for `fixed` or `maximum` type respectively. Defaults to `maximum`. Possible values: `fixed`, `maximum`. Nullable.
* `end_date` - Date, in YYYY-MM-DD format, after which payments will not be collected. Defaults to no end date. Max length: 5000. Nullable.
* `payment_schedule` - The periodicity at which payments will be collected. Defaults to `adhoc`. Possible values: `adhoc`, `annual`, `daily`, `fortnightly`, `monthly`, `quarterly`, `semi_annual`, `weekly`. Nullable.
* `payments_per_period` - The number of payments that will be made during a payment period. Defaults to 1 except for when `payment_schedule` is `adhoc`. In that case, it defaults to no limit. Nullable.
* `purpose` - The purpose for which payments are made. Has a default value based on your merchant category code. Possible values: `dependant_support`, `government`, `loan`, `mortgage`, `other`, `pension`, `personal`, `retail`, `salary`, `tax`, `utility`. Nullable.
* `start_date` - Date, in YYYY-MM-DD format, from which payments will be collected. Defaults to confirmation time. Max length: 5000. Nullable.

---

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