How to correctly catch and handle successful_payment from Telegram in n8n?

Hi!
We’re building a Telegram bot using n8n and need to properly process Telegram payments inside the bot (without external links, using sendInvoice and the Smart Glocal test token).

Here’s what we already have working:

  • A working bot with Telegram Trigger in n8n.
  • We successfully generate invoices using /sendInvoice.
  • We catch the pre_checkout_query in the Telegram Trigger and respond with /answerPreCheckoutQuery via HTTP Request.
  • The response is { "ok": true, "result": true }, and everything seems fine on that step.

:yellow_circle: But here is the issue:

After that, successful_payment never arrives to the Telegram Trigger or any webhook.

  • The payment window inside Telegram continues spinning.
  • Eventually, Telegram shows the error: “Bot didn’t respond”, even though all HTTP responses are 200 OK.
  • We tried setting "successful_payment" inside allowed_updates, but Telegram webhook info still doesn’t show it.
  • The bot has all permissions, and webhook is working.

:question: What we want to understand:

  • How to properly receive and process successful_payment in n8n?
  • Does Telegram Trigger receive this event? Or should we use a separate Webhook node?
  • What is the correct response structure, if one is required?
  • Are there any timing requirements or webhook settings we must apply?

Any working example or advice would be appreciated :pray: