# sendInvoice

## Description

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


## Arguments

| Name | Type | Description |
| - | - | - |
| `chat_id` | `#!python3 int` | Unique identifier for the target private chat |
| `title` | `#!python3 str` | Product name, 1-32 characters |
| `description` | `#!python3 str` | Product description, 1-255 characters |
| `payload` | `#!python3 str` | Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes. |
| `provider_token` | `#!python3 str` | Payments provider token, obtained via Botfather |
| `start_parameter` | `#!python3 str` | Unique deep-linking parameter that can be used to generate this invoice when used as a start parameter |
| `currency` | `#!python3 str` | Three-letter ISO 4217 currency code, see more on currencies |
| `prices` | `#!python3 List[LabeledPrice]` | Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.) |
| `provider_data` | `#!python3 Optional[str]` | Optional. JSON-encoded 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` | `#!python3 Optional[str]` | Optional. 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` | `#!python3 Optional[int]` | Optional. Photo size |
| `photo_width` | `#!python3 Optional[int]` | Optional. Photo width |
| `photo_height` | `#!python3 Optional[int]` | Optional. Photo height |
| `need_name` | `#!python3 Optional[bool]` | Optional. Pass True, if you require the user's full name to complete the order |
| `need_phone_number` | `#!python3 Optional[bool]` | Optional. Pass True, if you require the user's phone number to complete the order |
| `need_email` | `#!python3 Optional[bool]` | Optional. Pass True, if you require the user's email address to complete the order |
| `need_shipping_address` | `#!python3 Optional[bool]` | Optional. Pass True, if you require the user's shipping address to complete the order |
| `send_phone_number_to_provider` | `#!python3 Optional[bool]` | Optional. Pass True, if user's phone number should be sent to provider |
| `send_email_to_provider` | `#!python3 Optional[bool]` | Optional. Pass True, if user's email address should be sent to provider |
| `is_flexible` | `#!python3 Optional[bool]` | Optional. Pass True, if the final price depends on the shipping method |
| `disable_notification` | `#!python3 Optional[bool]` | Optional. Sends the message silently. Users will receive a notification with no sound. |
| `reply_to_message_id` | `#!python3 Optional[int]` | Optional. If the message is a reply, ID of the original message |
| `reply_markup` | `#!python3 Optional[InlineKeyboardMarkup]` | Optional. 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. |



## Response

Type: `#!python3 Message`

Description: On success, the sent Message is returned.


## Usage

### As bot method

```python3
result: Message = await bot.send_invoice(...)
```

### Method as object

Imports:

- `from aiogram.methods import SendInvoice`
- `from aiogram.api.methods import SendInvoice`
- `from aiogram.api.methods.send_invoice import SendInvoice`

#### In handlers with current bot
```python3
result: Message = await SendInvoice(...)
```

#### With specific bot
```python3
result: Message = await bot(SendInvoice(...))
```
#### As reply into Webhook in handler
```python3
return SendInvoice(...)
```


## Related pages:

- [Official documentation](https://core.telegram.org/bots/api#sendinvoice)
- [aiogram.types.InlineKeyboardMarkup](../types/inline_keyboard_markup.md)
- [aiogram.types.LabeledPrice](../types/labeled_price.md)
- [aiogram.types.Message](../types/message.md)
