# `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: boolean() | nil,
  amount: integer() | nil,
  custom_field_data:
    %{
      required(String.t()) =&gt;
        String.t() | integer() | boolean() | DateTime.t() | nil
    }
    | nil,
  customer_billing_address: PolarExpress.Schemas.AddressInput.t() | nil,
  customer_billing_name: String.t() | nil,
  customer_email: String.t() | nil,
  customer_name: String.t() | nil,
  customer_tax_id: String.t() | nil,
  discount_code: String.t() | nil,
  is_business_customer: boolean() | nil,
  locale: String.t() | nil,
  product_id: String.t() | nil,
  product_price_id: String.t() | nil,
  seats: integer() | nil
}
```

* `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*
