Skip to main content

SendInvoiceRequest

Struct SendInvoiceRequest 

Source
pub struct SendInvoiceRequest<'a> { /* private fields */ }
Expand description

Use this method to send invoices. On success, the sent Message is returned.

Implementations§

Source§

impl<'a> SendInvoiceRequest<'a>

Source

pub fn new( api: &'a API, chat_id: impl Into<ChatId>, title: impl Into<String>, description: impl Into<String>, payload: impl Into<String>, currency: impl Into<String>, prices: impl IntoIterator<Item = impl Into<LabeledPrice>>, ) -> Self

Source

pub fn chat_id(self, chat_id: impl Into<ChatId>) -> Self

Unique identifier for the target chat or username of the target channel (in the format @channelusername)

Source

pub fn message_thread_id(self, message_thread_id: impl Into<i64>) -> Self

Unique identifier for the target message thread (topic) of the forum; for forum supergroups only

Source

pub fn title(self, title: impl Into<String>) -> Self

Product name, 1-32 characters

Source

pub fn description(self, description: impl Into<String>) -> Self

Product description, 1-255 characters

Source

pub fn payload(self, payload: impl Into<String>) -> Self

Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use it for your internal processes.

Source

pub fn provider_token(self, provider_token: impl Into<String>) -> Self

Payment provider token, obtained via @BotFather. Pass an empty string for payments in Telegram Stars.

Source

pub fn currency(self, currency: impl Into<String>) -> Self

Three-letter ISO 4217 currency code, see more on currencies. Pass “XTR” for payments in Telegram Stars.

Source

pub fn prices( self, prices: impl IntoIterator<Item = impl Into<LabeledPrice>>, ) -> Self

Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Must contain exactly one item for payments in Telegram Stars.

Source

pub fn max_tip_amount(self, max_tip_amount: impl Into<i64>) -> Self

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. Not supported for payments in Telegram Stars.

Source

pub fn suggested_tip_amounts( self, suggested_tip_amounts: impl IntoIterator<Item = impl Into<i64>>, ) -> Self

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.

Source

pub fn start_parameter(self, start_parameter: impl Into<String>) -> Self

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

Source

pub fn provider_data(self, provider_data: impl Into<String>) -> Self

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.

Source

pub fn photo_url(self, photo_url: impl Into<String>) -> Self

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.

Source

pub fn photo_size(self, photo_size: impl Into<i64>) -> Self

Photo size in bytes

Source

pub fn photo_width(self, photo_width: impl Into<i64>) -> Self

Photo width

Source

pub fn photo_height(self, photo_height: impl Into<i64>) -> Self

Photo height

Source

pub fn need_name(self, need_name: impl Into<bool>) -> Self

Pass True if you require the user’s full name to complete the order. Ignored for payments in Telegram Stars.

Source

pub fn need_phone_number(self, need_phone_number: impl Into<bool>) -> Self

Pass True if you require the user’s phone number to complete the order. Ignored for payments in Telegram Stars.

Source

pub fn need_email(self, need_email: impl Into<bool>) -> Self

Pass True if you require the user’s email address to complete the order. Ignored for payments in Telegram Stars.

Source

pub fn need_shipping_address( self, need_shipping_address: impl Into<bool>, ) -> Self

Pass True if you require the user’s shipping address to complete the order. Ignored for payments in Telegram Stars.

Source

pub fn send_phone_number_to_provider( self, send_phone_number_to_provider: impl Into<bool>, ) -> Self

Pass True if the user’s phone number should be sent to the provider. Ignored for payments in Telegram Stars.

Source

pub fn send_email_to_provider( self, send_email_to_provider: impl Into<bool>, ) -> Self

Pass True if the user’s email address should be sent to the provider. Ignored for payments in Telegram Stars.

Source

pub fn is_flexible(self, is_flexible: impl Into<bool>) -> Self

Pass True if the final price depends on the shipping method. Ignored for payments in Telegram Stars.

Source

pub fn disable_notification(self, disable_notification: impl Into<bool>) -> Self

Sends the message silently. Users will receive a notification with no sound.

Source

pub fn protect_content(self, protect_content: impl Into<bool>) -> Self

Protects the contents of the sent message from forwarding and saving

Source

pub fn allow_paid_broadcast(self, allow_paid_broadcast: impl Into<bool>) -> Self

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

Source

pub fn message_effect_id(self, message_effect_id: impl Into<String>) -> Self

Unique identifier of the message effect to be added to the message; for private chats only

Source

pub fn reply_parameters( self, reply_parameters: impl Into<ReplyParameters>, ) -> Self

Description of the message to reply to

Source

pub fn reply_markup(self, reply_markup: impl Into<InlineKeyboardMarkup>) -> Self

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.

Trait Implementations§

Source§

impl<'a> Clone for SendInvoiceRequest<'a>

Source§

fn clone(&self) -> SendInvoiceRequest<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a, 'b> IntoFuture for &'b SendInvoiceRequest<'a>

Source§

type IntoFuture = Pin<Box<dyn Future<Output = Result<<SendInvoiceRequest<'a> as RequestT>::ReturnType, ConogramError>> + Send + 'b>>

Which kind of future are we turning this into?
Source§

type Output = <<&'b SendInvoiceRequest<'a> as IntoFuture>::IntoFuture as Future>::Output

The output that the future will produce on completion.
Source§

fn into_future(self) -> Self::IntoFuture

Creates a future from a value. Read more
Source§

impl<'a> IntoFuture for SendInvoiceRequest<'a>

Source§

type IntoFuture = Pin<Box<dyn Future<Output = Result<<SendInvoiceRequest<'a> as RequestT>::ReturnType, ConogramError>> + Send + 'a>>

Which kind of future are we turning this into?
Source§

type Output = <<SendInvoiceRequest<'a> as IntoFuture>::IntoFuture as Future>::Output

The output that the future will produce on completion.
Source§

fn into_future(self) -> Self::IntoFuture

Creates a future from a value. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WrapRequest for T

Source§

fn wrap<ReturnType>( &self, ) -> impl Future<Output = Result<ReturnType, ConogramError>>
where for<'a> &'a Self: IntoFuture<Output = Result<ReturnType, ConogramError>>, Self: Sized,

Source§

fn wrap_background<ReturnType>(self)
where for<'a> &'a Self: IntoFuture<Output = Result<ReturnType, ConogramError>> + Send + Sync, Self: IntoFuture<Output = Result<ReturnType, ConogramError>> + Send + Sync + Sized + 'static, ReturnType: Send, for<'a> <&'a Self as IntoFuture>::IntoFuture: Send,