# `ExGram.Model.PreCheckoutQuery`
[🔗](https://github.com/rockneurotiko/ex_gram/blob/0.64.0/lib/ex_gram.ex#L7012)

This object contains information about an incoming pre-checkout query.

Check the [documentation of this model on Telegram Bot API](https://core.telegram.org/bots/api#precheckoutquery)

- `id`: Unique query identifier
- `from`: User who sent the query
- `currency`: Three-letter ISO 4217 currency code, or "XTR” for payments in Telegram Stars
- `total_amount`: Total price in the smallest units of the currency (integer, not float/double). For example, for a price of US$ 1.45 pass amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies).
- `invoice_payload`: Bot-specified invoice payload
- `shipping_option_id (optional)`: Optional. Identifier of the shipping option chosen by the user
- `order_info (optional)`: Optional. Order information provided by the user

# `t`

```elixir
@type t() :: %ExGram.Model.PreCheckoutQuery{
  currency: String.t(),
  from: ExGram.Model.User.t(),
  id: String.t(),
  invoice_payload: String.t(),
  order_info: ExGram.Model.OrderInfo.t() | nil,
  shipping_option_id: String.t() | nil,
  total_amount: integer()
}
```

# `decode_as`

---

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