version: 2.1.3
sendInvoice
Use this method to send invoices. On success, the sent Message is returned.
Parameters
chat_id | int | string | Unique identifier for the target chat or username of the target channel (in the format @channelusername) | Optional |
title | string | Product name, 1-32 characters | Yes |
description | string | Product description, 1-255 characters | Yes |
payload | string | Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes. | Yes |
provider_token | string | Payment provider token, obtained via @BotFather | Yes |
currency | string | Three-letter ISO 4217 currency code, see more on currencies | Yes |
prices | Array of LabeledPrice | Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.) | Yes |
max_tip_amount | int | 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 | Optional |
suggested_tip_amounts | Array of int | 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. | Optional |
start_parameter | 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 | Optional |
provider_data | string | 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. | Optional |
photo_url | string | 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. | Optional |
photo_size | int | Photo size in bytes | Optional |
photo_width | int | Photo width | Optional |
photo_height | int | Photo height | Optional |
need_name | bool | Pass True, if you require the user's full name to complete the order | Optional |
need_phone_number | bool | Pass True, if you require the user's phone number to complete the order | Optional |
need_email | bool | Pass True, if you require the user's email address to complete the order | Optional |
need_shipping_address | bool | Pass True, if you require the user's shipping address to complete the order | Optional |
send_phone_number_to_provider | bool | Pass True, if the user's phone number should be sent to provider | Optional |
send_email_to_provider | bool | Pass True, if the user's email address should be sent to provider | Optional |
is_flexible | bool | Pass True, if the final price depends on the shipping method | Optional |
disable_notification | bool | Sends the message silently. Users will receive a notification with no sound. | Optional |
protect_content | bool | Protects the contents of the sent message from forwarding and saving | Optional |
reply_to_message_id | int | If the message is a reply, ID of the original message | Optional |
allow_sending_without_reply | bool | Pass True, if the message should be sent even if the specified replied-to message is not found | Optional |
reply_markup | 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. | Optional |
token | String | You can use this method on another bot with specify this parameter | Optional |
return_array | Boolean | Specify the result type , if pass true results will be array otherwise will be object | Optional |
forgot | Boolean | You can set to not receive request result, dont set it or pass null for turn it off | Optional |
answer | Boolean | You can set to answer to webhook, dont set it or pass null for turn it off | Optional |
Method errors
ErrorName | description |
---|---|
required parameters not found | required parameter for this method is not founded. you can see them in log |
answer mode not allowed | you can use answer mode only once for each webhook update and you already did |
answer mode not allowed bc multi | you can't use answer mode when multi is on |
Method examples
$this->sendInvoice(['chat_id' => int | string, 'title' => string, 'description' => string, 'payload' => string, 'provider_token' => string, 'currency' => string, 'prices' => Array of LabeledPrice, 'max_tip_amount' => int, 'suggested_tip_amounts' => Array of int, 'start_parameter' => string, 'provider_data' => string, 'photo_url' => string, 'photo_size' => int, 'photo_width' => int, 'photo_height' => int, 'need_name' => bool, 'need_phone_number' => bool, 'need_email' => bool, 'need_shipping_address' => bool, 'send_phone_number_to_provider' => bool, 'send_email_to_provider' => bool, 'is_flexible' => bool, 'disable_notification' => bool, 'protect_content' => bool, 'reply_to_message_id' => int, 'allow_sending_without_reply' => bool, 'reply_markup' => InlineKeyboardMarkup]);
$this->sendInvoice(['title' => string, 'description' => string, 'payload' => string, 'provider_token' => string, 'currency' => string, 'prices' => Array of LabeledPrice]);
Method alices
sendinvoice
invoice