SuccessfulPayment

class aiogram.types.successful_payment.SuccessfulPayment(*, currency: str, total_amount: int, invoice_payload: str, telegram_payment_charge_id: str, provider_payment_charge_id: str, subscription_expiration_date: int | None = None, is_recurring: bool | None = None, is_first_recurring: bool | None = None, shipping_option_id: str | None = None, order_info: OrderInfo | None = None, **extra_data: Any)[source]

This object contains basic information about a successful payment.

Source: https://core.telegram.org/bots/api#successfulpayment

currency: str

Three-letter ISO 4217 currency code, or ‘XTR’ for payments in Telegram Stars

total_amount: int

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: str

Bot-specified invoice payload

telegram_payment_charge_id: str

Telegram payment identifier

provider_payment_charge_id: str

Provider payment identifier

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_post_init(context: Any, /) None

We need to both initialize private attributes and call the user-defined model_post_init method.

subscription_expiration_date: int | None

Optional. Expiration date of the subscription, in Unix time; for recurring payments only

is_recurring: bool | None

Optional. True, if the payment is a recurring payment for a subscription

is_first_recurring: bool | None

Optional. True, if the payment is the first payment for a subscription

shipping_option_id: str | None

Optional. Identifier of the shipping option chosen by the user

order_info: OrderInfo | None

Optional. Order information provided by the user