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

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

When set, Stripe pauses automatic invoice collection for the subscription
with the given `behavior`:

- `"keep_as_draft"` — invoices are created but left as drafts
- `"mark_uncollectible"` — invoices are created and marked uncollectible
- `"void"` — invoices are created and immediately voided

Optionally, `resumes_at` is a Unix timestamp at which collection will
automatically resume.

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

# `t`

```elixir
@type t() :: %LatticeStripe.Subscription.PauseCollection{
  behavior: String.t() | nil,
  extra: map(),
  resumes_at: integer() | nil
}
```

Pause collection settings for a Stripe Subscription.

# `from_map`

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

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

Returns `nil` when given `nil`.

---

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