# PreCheckoutQuery

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

**Category:** Telegram Bot API — Types (A-Z)  
**URL:** https://docs.botlify.cloud/precheckoutquery  
**Platform:** Botlify Cloud (https://botlify.cloud)  

---

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

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| id | String | Always | Unique query identifier |
| from | User | Always | User who sent the query |
| currency | String | Always | Three-letter ISO 4217 currency code, or "XTR" for payments in Telegram Stars |
| total_amount | Integer | Always | 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 | String | Always | Bot-specified invoice payload |
| shipping_option_id | String | Optional | Identifier of the shipping option chosen by the user |
| order_info | OrderInfo | Optional | Order information provided by the user |

> [!TIP]
> **Botlify Cloud Runtime**
> Credentials are auto-injected in .env — always load them with getenv(): BOT_TOKEN, ADMIN_CHAT_ID, BOT_USERNAME. Main database: database.db (SQLite, WAL mode). Runtime errors: error.log. Quick test: send to $ADMIN_CHAT_ID. Full details: Runtime Reference.
