# `LatticeStripe.Subscription.TrialSettings`
[🔗](https://github.com/szTheory/lattice_stripe/blob/v1.1.0/lib/lattice_stripe/subscription/trial_settings.ex#L1)

Represents the `trial_settings` nested object on a Stripe Subscription.

Currently exposes `end_behavior` as a plain map. The leaf field inside
(`missing_payment_method`) is intentionally not promoted to a typed field —
Stripe may add more end-behavior controls in future and `end_behavior` is
documented as an open map.

Example:

    %LatticeStripe.Subscription.TrialSettings{
      end_behavior: %{"missing_payment_method" => "cancel"}
    }

See [Stripe Subscription API](https://docs.stripe.com/api/subscriptions/object#subscription_object-trial_settings).

# `t`

```elixir
@type t() :: %LatticeStripe.Subscription.TrialSettings{
  end_behavior: map() | nil,
  extra: map()
}
```

Trial settings for a Stripe Subscription.

# `from_map`

```elixir
@spec from_map(map() | nil) :: t() | nil
```

Converts a decoded Stripe API map to a `%TrialSettings{}` struct.

Returns `nil` when given `nil`.

---

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