package tgapi // LabeledPrice represents a price portion. // Since: Bot API 3.0 // See https://core.telegram.org/bots/api#labeledprice type LabeledPrice struct { // Label Portion label Label string `json:"label"` // Amount Price of the product 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). Amount int `json:"amount"` } // Invoice contains basic information about an invoice. // Since: Bot API 3.0 type Invoice struct { // Title Product name Title string `json:"title"` // Description Product description Description string `json:"description"` // StartParameter Unique bot deep-linking parameter that can be used to generate this invoice StartParameter string `json:"start_parameter"` // Currency Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars Currency string `json:"currency"` // TotalAmount 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). TotalAmount int `json:"total_amount"` } // ShippingQuery represents an incoming shipping query. // Since: Bot API 3.0 // See https://core.telegram.org/bots/api#shippingquery type ShippingQuery struct { // ID Unique query identifier ID string `json:"id"` // From User who sent the query From User `json:"from"` // InvoicePayload Bot-specified invoice payload InvoicePayload string `json:"invoice_payload"` // ShippingAddress User specified shipping address ShippingAddress ShippingAddress `json:"shipping_address"` } // ShippingAddress represents a shipping address. // Since: Bot API 3.0 // See https://core.telegram.org/bots/api#shippingaddress type ShippingAddress struct { // CountryCode Two-letter ISO 3166-1 alpha-2 country code CountryCode string `json:"country_code"` // State State, if applicable State string `json:"state"` // City City City string `json:"city"` // StreetLine1 First line for the address StreetLine1 string `json:"street_line1"` // StreetLine2 Second line for the address StreetLine2 string `json:"street_line2"` // PostCode Address post code PostCode string `json:"post_code"` } // OrderInfo represents information about an order. // Since: Bot API 3.0 // See https://core.telegram.org/bots/api#orderinfo type OrderInfo struct { // Name Optional. User name Name string `json:"name"` // PhoneNumber Optional. User's phone number PhoneNumber string `json:"phone_number"` // Email Optional. User email Email string `json:"email"` // ShippingAddress Optional. User shipping address ShippingAddress ShippingAddress `json:"shipping_address"` } // PreCheckoutQuery represents an incoming pre-checkout query. // Since: Bot API 3.0 // See https://core.telegram.org/bots/api#precheckoutquery type PreCheckoutQuery struct { // ID Unique query identifier ID string `json:"id"` // From User who sent the query From User `json:"from"` // Currency Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars Currency string `json:"currency"` // TotalAmount 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). TotalAmount int `json:"total_amount"` // InvoicePayload Bot-specified invoice payload InvoicePayload string `json:"invoice_payload"` // ShippingOptionID Optional. Identifier of the shipping option chosen by the user ShippingOptionID string `json:"shipping_option_id"` // OrderInfo Optional. Order information provided by the user OrderInfo *OrderInfo `json:"order_info,omitempty"` } // PaidMediaPurchased represents a purchased paid media. // Since: Bot API 7.10 // See https://core.telegram.org/bots/api#paidmediapurchased type PaidMediaPurchased struct { // From User who purchased the media From User `json:"from"` // PaidMediaPayload Bot-specified paid media payload PaidMediaPayload string `json:"paid_media_payload"` } // ShippingOption represents one shipping option. // Since: Bot API 3.0 // See https://core.telegram.org/bots/api#shippingoption type ShippingOption struct { // ID Shipping option identifier ID string `json:"id"` // Title Option title Title string `json:"title"` // Prices List of price portions Prices []LabeledPrice `json:"prices"` } // SuccessfulPayment contains basic information about a successful payment. // Since: Bot API 3.0 type SuccessfulPayment struct { // Currency Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars Currency string `json:"currency"` // TotalAmount 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). TotalAmount int `json:"total_amount"` // InvoicePayload Bot-specified invoice payload InvoicePayload string `json:"invoice_payload"` // SubscriptionExpirationDate Optional. Expiration date of the subscription, in Unix time; for recurring // payments only SubscriptionExpirationDate int `json:"subscription_expiration_date,omitempty"` // Since: Bot API 8.0 // IsRecurring Optional. True, if the payment is a recurring payment for a subscription IsRecurring bool `json:"is_recurring,omitempty"` // Since: Bot API 8.0 // IsFirstRecurring Optional. True, if the payment is the first payment for a subscription IsFirstRecurring bool `json:"is_first_recurring,omitempty"` // Since: Bot API 8.0 // ShippingOptionID Optional. Identifier of the shipping option chosen by the user ShippingOptionID string `json:"shipping_option_id,omitempty"` // OrderInfo Optional. Order information provided by the user OrderInfo *OrderInfo `json:"order_info,omitempty"` // TelegramPaymentChargeID Telegram payment identifier TelegramPaymentChargeID string `json:"telegram_payment_charge_id"` // ProviderPaymentChargeID Provider payment identifier ProviderPaymentChargeID string `json:"provider_payment_charge_id"` } // RefundedPayment contains basic information about a refunded payment. // Since: Bot API 7.7 type RefundedPayment struct { // Currency Three-letter ISO 4217 currency code, or “XTR” for payments in Telegram Stars. Currently, // always “XTR”. Currency string `json:"currency"` // TotalAmount Total refunded price in the smallest units of the currency (integer, not float/double). For // example, for a price of US$ 1.45, total_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). TotalAmount int `json:"total_amount"` // InvoicePayload Bot-specified invoice payload InvoicePayload string `json:"invoice_payload"` // TelegramPaymentChargeID Telegram payment identifier TelegramPaymentChargeID string `json:"telegram_payment_charge_id"` // ProviderPaymentChargeID Optional. Provider payment identifier ProviderPaymentChargeID string `json:"provider_payment_charge_id,omitempty"` }