# `Stripe.Services.CustomerSessionService`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/services/customer_session_service.ex#L2)

CustomerSessionResourceCustomerSession

A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access
control over a Customer.

Related guides: [Customer Session with the Payment Element](https://stripe.com/payments/accept-a-payment-deferred?platform=web&type=payment#save-payment-methods),
[Customer Session with the Pricing Table](https://stripe.com/payments/checkout/pricing-table#customer-session),
[Customer Session with the Buy Button](https://stripe.com/payment-links/buy-button#pass-an-existing-customer).

# `create`

```elixir
@spec create(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Create a Customer Session

Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources.

---

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