# `Stripe.Resources.Checkout.Session.ConsentCollection`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/checkout/session.ex#L501)

Nested struct within the parent resource.

# `t`

```elixir
@type t() :: %Stripe.Resources.Checkout.Session.ConsentCollection{
  payment_method_reuse_agreement:
    Stripe.Resources.Checkout.Session.ConsentCollection.PaymentMethodReuseAgreement.t()
    | nil,
  promotions: String.t() | nil,
  terms_of_service: String.t() | nil
}
```

* `payment_method_reuse_agreement` - If set to `hidden`, it will hide legal text related to the reuse of a payment method. Nullable.
* `promotions` - If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
Session will determine whether to display an option to opt into promotional communication
from the merchant depending on the customer's locale. Only available to US merchants. Possible values: `auto`, `none`. Nullable.
* `terms_of_service` - If set to `required`, it requires customers to accept the terms of service before being able to pay. Possible values: `none`, `required`. Nullable.

---

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