# `PolarExpress.Schemas.CheckoutUpdatePublic`
[🔗](https://github.com/jeffhuen/polar_express/blob/main/lib/polar_express/schemas/checkout_update_public.ex#L2)

CheckoutUpdatePublic

Update an existing checkout session using the client secret.

# `t`

```elixir
@type t() :: %PolarExpress.Schemas.CheckoutUpdatePublic{
  allow_trial: term(),
  amount: term(),
  custom_field_data: term(),
  customer_billing_address: term(),
  customer_billing_name: term(),
  customer_email: term(),
  customer_name: term(),
  customer_tax_id: term(),
  discount_code: term(),
  is_business_customer: term(),
  locale: term(),
  product_id: term(),
  product_price_id: term(),
  seats: term()
}
```

* `allow_trial` - Disable the trial period for the checkout session. It's mainly useful when the trial is blocked because the customer already redeemed one. Nullable.
* `amount` - Nullable.
* `custom_field_data` - Key-value object storing custom field values.
* `customer_billing_address` - Nullable.
* `customer_billing_name` - Nullable.
* `customer_email` - Nullable.
* `customer_name` - Nullable.
* `customer_tax_id` - Nullable.
* `discount_code` - Discount code to apply to the checkout. Nullable.
* `is_business_customer` - Nullable.
* `locale` - Nullable.
* `product_id` - ID of the product to checkout. Must be present in the checkout's product list. Nullable.
* `product_price_id` - ID of the product price to checkout. Must correspond to a price present in the checkout's product list. Nullable. **Deprecated.**
* `seats` - Number of seats for seat-based pricing. Nullable.

# `schema_name`

---

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