# `PhoenixKitBilling.Providers.Types.CheckoutSession`
[🔗](https://github.com/BeamLabEU/phoenix_kit_billing/blob/0.5.1/lib/phoenix_kit_billing/providers/types/checkout_session.ex#L1)

Struct returned by `Provider.create_checkout_session/2`.

## Fields

- `id` - Provider-specific session identifier
- `url` - Redirect URL for the hosted checkout page
- `provider` - Provider atom (`:stripe`, `:paypal`, `:razorpay`)
- `expires_at` - When the session expires (nil if no expiry)
- `metadata` - Provider-specific metadata

# `t`

```elixir
@type t() :: %PhoenixKitBilling.Providers.Types.CheckoutSession{
  expires_at: DateTime.t() | nil,
  id: String.t(),
  metadata: map(),
  provider: atom(),
  url: String.t()
}
```

---

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