После отправки sendInvoice пользователю (пользователь правильно получил эту форму оплаты) мой бот не получает preCheckoutQuery для подтверждения оплаты. Я пытаюсь получать обновления (в частности, preCheckoutQuery) от Telegram Bot через webhook, но здесь:
dev.botframework.com -> Мои боты -> Телеграмма -> Столбец здоровья -> Проблема - > «Произошла ошибка при отправке этого сообщения вашему боту: код состояния HTTP BadRequest» .
Кроме того, когда я пытался установить webhook на dev.botframework.com для своего собственного бота и проверяя getWebhookInfo я получаю спецификацию c url следующим образом:
{"ok":true,"result":{"url":"https://telegram.botframework.com/api/telegram/XXX/XXX","has_custom_certificate":false,"pending_update_count":0,"max_connections":40}}
С этим webhook мой бот правильно обменивается сообщениями с пользователем
Некоторая информация о том, как правильно получать preCheckoutQuery?
Дополнительная информация:
/ getWebhookInfo возвращает меня иногда pending_update_count ": 1
Библиотека: Telegram.Bot (https://github.com/TelegramBots/telegram.bot)
Поддержка моего бота TLS 1.2:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Мой контроллер ничего не получает
[Route("api/[controller]")]
public class UpdateController : Controller
{
private readonly IBotFrameworkHttpAdapter Adapter;
private readonly IBot Bot;
public UpdateController(IBotFrameworkHttpAdapter adapter, IBot bot)
{
Adapter = adapter;
Bot = bot;
}
[HttpPost]
public async Task<IActionResult> Post([FromBody]Update _update)
{
...
await Consts.BotClient.SendTextMessageAsync(chatId, string.Format("Update received\nP: {0} M: {1} H: {2}", a.Path, a.Method, a.Host.Value));
...
}
}