Example: a Telegram Shop Bot with Catalog, Checkout, and Card Payments
A payment-bot example for product sellers: Mini App catalog, variants, cart, Nova Poshta or courier, Mono / LiqPay / Stripe, fiscal receipt, and order statuses in the chat.
A clothing, cosmetics, or hobby shop that already takes orders in Direct is one invoice away from a real storefront inside Telegram. The example is not a marketplace. It is your catalog, your stock, your acquiring, your packing list.
I do not build this as a text bot with “send 1 for red, 2 for blue.” That is how you lose size charts and sell the last unit twice. A Mini App catalog plus a paid webhook is the example that survives Friday night traffic.
1. The shop path
Same loop as any checkout: browse, cart, pay, fulfill. The messenger only changes where the status lands.
- Browse: categories, photos, price, variants (size / color) with stock per SKU. Out of stock is disabled, not “message the manager”.
- Cart: quantity, notes, delivery method (Nova Poshta warehouse, courier, pickup). Address or warehouse picker before pay, not after.
- Pay: pending order, invoice, hosted checkout. On webhook: decrement stock, fiscalize if required, notify packer, message the buyer with the TTN when it exists.
- Abandoned cart: if they opened checkout and did not pay, one Telegram nudge after 30-60 minutes with the same invoice, not a spam sequence.
2. Payments and fiscalization in this example
Physical goods plus a ФОП usually means a fiscal receipt, not only a bank webhook.
- Cards in Ukraine: Monobank or LiqPay. COD is a business choice, not a default - it reintroduces the Direct work you were escaping.
- Fiscal receipt: after paid webhook, call Checkbox or Вчасно.Каса. The buyer can get the PDF in the same chat. Do not make a human punch the РРО.
- International: Stripe. Multi-currency only if you actually ship abroad; otherwise you invent support tickets.
3. Stock, delivery, and the human who packs
A shop bot fails in the warehouse, not in the CSS. The example includes a thin admin: new paid orders, print a packing slip, mark shipped, paste TTN. KeyCRM / a Google Sheet is fine at the start if the webhook writes a row. A second source of truth in someone’s head is not.
Conclusion: a Telegram shop is a storefront you already have an audience for
If the catalog lives in posts and the payment lives in a card number in chat, this example is the upgrade: Mini App, stock, Mono / LiqPay / Stripe, fiscal receipt, statuses. I build that loop. Write via the form with a rough SKU count and how you ship - we will cut a first catalog that can take a paid order.
Need this built, not just explained?
Telegram Mini App development: Next.js, payments, bots. Direct contractor.
Ready to discuss your project?
I'm a senior web engineer specializing in React and Next.js - available for freelance projects worldwide.
Location
Kyiv, Ukraine
Upwork
View ProfileTelegram
Contact meViber
Contact me