pub struct SendInvoice {Show 29 fields
pub chat_id: Recipient,
pub title: String,
pub description: String,
pub payload: String,
pub currency: String,
pub prices: Vec<LabeledPrice>,
pub message_thread_id: Option<ThreadId>,
pub provider_token: Option<String>,
pub max_tip_amount: Option<u32>,
pub suggested_tip_amounts: Option<Vec<u32>>,
pub start_parameter: Option<String>,
pub provider_data: Option<String>,
pub photo_url: Option<Url>,
pub photo_size: Option<u32>,
pub photo_width: Option<u32>,
pub photo_height: Option<u32>,
pub need_name: Option<bool>,
pub need_phone_number: Option<bool>,
pub need_email: Option<bool>,
pub need_shipping_address: Option<bool>,
pub send_phone_number_to_provider: Option<bool>,
pub send_email_to_provider: Option<bool>,
pub is_flexible: Option<bool>,
pub disable_notification: Option<bool>,
pub protect_content: Option<bool>,
pub allow_paid_broadcast: Option<bool>,
pub message_effect_id: Option<EffectId>,
pub reply_parameters: Option<ReplyParameters>,
pub reply_markup: Option<InlineKeyboardMarkup>,
}Expand description
Use this method to send invoices. On success, the sent Message is returned.
Fields§
§chat_id: RecipientUnique identifier for the target private chat
title: StringProduct name, 1-32 characters
description: StringProduct description, 1-255 characters
payload: StringBot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.
currency: StringThree-letter ISO 4217 currency code, see more on currencies. Pass XTR for payments in Telegram Stars.
prices: Vec<LabeledPrice>Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.)
message_thread_id: Option<ThreadId>Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
provider_token: Option<String>Payments provider token, obtained via Botfather. Pass None for payments in Telegram Stars.
max_tip_amount: Option<u32>The maximum accepted amount for tips in the smallest units of the currency (integer, not float/double). For example, for a maximum tip of US$ 1.45 pass max_tip_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). Defaults to 0
suggested_tip_amounts: Option<Vec<u32>>A JSON-serialized array of suggested amounts of tips in the smallest units of the currency (integer, not float/double). At most 4 suggested tip amounts can be specified. The suggested tip amounts must be positive, passed in a strictly increased order and must not exceed max_tip_amount.
start_parameter: Option<String>Unique deep-linking parameter. If left empty, forwarded copies of the sent message will have a Pay button, allowing multiple users to pay directly from the forwarded message, using the same invoice. If non-empty, forwarded copies of the sent message will have a URL button with a deep link to the bot (instead of a Pay button), with the value used as the start parameter
provider_data: Option<String>A JSON-serialized data about the invoice, which will be shared with the payment provider. A detailed description of required fields should be provided by the payment provider.
photo_url: Option<Url>URL of the product photo for the invoice. Can be a photo of the goods or a marketing image for a service. People like it better when they see what they are paying for.
photo_size: Option<u32>Photo size in bytes
photo_width: Option<u32>Photo width
photo_height: Option<u32>Photo height
need_name: Option<bool>Pass True, if you require the user’s full name to complete the order
need_phone_number: Option<bool>Pass True, if you require the user’s phone number to complete the order
need_email: Option<bool>Pass True, if you require the user’s email address to complete the order
need_shipping_address: Option<bool>Pass True, if you require the user’s shipping address to complete the order
send_phone_number_to_provider: Option<bool>Pass True, if user’s phone number should be sent to provider
send_email_to_provider: Option<bool>Pass True, if user’s email address should be sent to provider
is_flexible: Option<bool>Pass True, if the final price depends on the shipping method
disable_notification: Option<bool>Sends the message silently. Users will receive a notification with no sound.
protect_content: Option<bool>Protects the contents of sent messages from forwarding and saving
allow_paid_broadcast: Option<bool>Pass true to allow up to 1000 messages per second, ignoring broadcasting limits for a fee of 0.1 Telegram Stars per message. The relevant Stars will be withdrawn from the bot’s balance
message_effect_id: Option<EffectId>Unique identifier of the message effect to be added to the message; for private chats only
reply_parameters: Option<ReplyParameters>Description of the message to reply to
reply_markup: Option<InlineKeyboardMarkup>A JSON-serialized object for an inline keyboard. If empty, one ‘Pay total price’ button will be shown. If not empty, the first button must be a Pay button.
Implementations§
Source§impl SendInvoice
impl SendInvoice
pub fn new( chat_id: impl Into<Recipient>, title: impl Into<String>, description: impl Into<String>, payload: impl Into<String>, currency: impl Into<String>, prices: impl IntoIterator<Item = <Vec<LabeledPrice> as IntoIterator>::Item>, ) -> SendInvoice ⓘ
Trait Implementations§
Source§impl Clone for SendInvoice
impl Clone for SendInvoice
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SendInvoice
impl Debug for SendInvoice
Source§impl Hash for SendInvoice
impl Hash for SendInvoice
Source§impl PartialEq for SendInvoice
impl PartialEq for SendInvoice
Source§impl Payload for SendInvoice
impl Payload for SendInvoice
Source§fn timeout_hint(&self) -> Option<Duration>
fn timeout_hint(&self) -> Option<Duration>
GetUpdates with
big timeout), the minimum timeout that should be used.Source§impl Serialize for SendInvoice
impl Serialize for SendInvoice
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for SendInvoice
impl StructuralPartialEq for SendInvoice
Auto Trait Implementations§
impl Freeze for SendInvoice
impl RefUnwindSafe for SendInvoice
impl Send for SendInvoice
impl Sync for SendInvoice
impl Unpin for SendInvoice
impl UnwindSafe for SendInvoice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Erasable for T
impl<T> Erasable for T
Source§impl<P> HasPayload for Pwhere
P: Payload,
impl<P> HasPayload for Pwhere
P: Payload,
Source§fn payload_mut(&mut self) -> &mut <P as HasPayload>::Payload
fn payload_mut(&mut self) -> &mut <P as HasPayload>::Payload
Source§fn payload_ref(&self) -> &<P as HasPayload>::Payload
fn payload_ref(&self) -> &<P as HasPayload>::Payload
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> RequestReplyExt<SendInvoice> for Twhere
T: SendInvoiceSetters,
impl<T> RequestReplyExt<SendInvoice> for Twhere
T: SendInvoiceSetters,
Source§impl<P> SendInvoiceSetters for Pwhere
P: HasPayload<Payload = SendInvoice>,
impl<P> SendInvoiceSetters for Pwhere
P: HasPayload<Payload = SendInvoice>,
Source§fn description<T>(self, value: T) -> Self
fn description<T>(self, value: T) -> Self
description field.Source§fn message_thread_id(self, value: ThreadId) -> Self
fn message_thread_id(self, value: ThreadId) -> Self
message_thread_id field.Source§fn provider_token<T>(self, value: T) -> Self
fn provider_token<T>(self, value: T) -> Self
provider_token field.Source§fn max_tip_amount(self, value: u32) -> Self
fn max_tip_amount(self, value: u32) -> Self
max_tip_amount field.Source§fn suggested_tip_amounts<T>(self, value: T) -> Self
fn suggested_tip_amounts<T>(self, value: T) -> Self
suggested_tip_amounts field.Source§fn start_parameter<T>(self, value: T) -> Self
fn start_parameter<T>(self, value: T) -> Self
start_parameter field.Source§fn provider_data<T>(self, value: T) -> Self
fn provider_data<T>(self, value: T) -> Self
provider_data field.Source§fn photo_size(self, value: u32) -> Self
fn photo_size(self, value: u32) -> Self
photo_size field.Source§fn photo_width(self, value: u32) -> Self
fn photo_width(self, value: u32) -> Self
photo_width field.Source§fn photo_height(self, value: u32) -> Self
fn photo_height(self, value: u32) -> Self
photo_height field.Source§fn need_phone_number(self, value: bool) -> Self
fn need_phone_number(self, value: bool) -> Self
need_phone_number field.Source§fn need_email(self, value: bool) -> Self
fn need_email(self, value: bool) -> Self
need_email field.Source§fn need_shipping_address(self, value: bool) -> Self
fn need_shipping_address(self, value: bool) -> Self
need_shipping_address field.Source§fn send_phone_number_to_provider(self, value: bool) -> Self
fn send_phone_number_to_provider(self, value: bool) -> Self
send_phone_number_to_provider field.Source§fn send_email_to_provider(self, value: bool) -> Self
fn send_email_to_provider(self, value: bool) -> Self
send_email_to_provider field.Source§fn is_flexible(self, value: bool) -> Self
fn is_flexible(self, value: bool) -> Self
is_flexible field.Source§fn disable_notification(self, value: bool) -> Self
fn disable_notification(self, value: bool) -> Self
disable_notification field.Source§fn protect_content(self, value: bool) -> Self
fn protect_content(self, value: bool) -> Self
protect_content field.Source§fn allow_paid_broadcast(self, value: bool) -> Self
fn allow_paid_broadcast(self, value: bool) -> Self
allow_paid_broadcast field.Source§fn message_effect_id(self, value: EffectId) -> Self
fn message_effect_id(self, value: EffectId) -> Self
message_effect_id field.Source§fn reply_parameters(self, value: ReplyParameters) -> Self
fn reply_parameters(self, value: ReplyParameters) -> Self
reply_parameters field.Source§fn reply_markup(self, value: InlineKeyboardMarkup) -> Self
fn reply_markup(self, value: InlineKeyboardMarkup) -> Self
reply_markup field.