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

Nested struct within the parent resource.

# `t`

```elixir
@type t() ::
  %Stripe.Resources.PaymentIntent.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
  }
```

* `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.

---

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