Problem
What broke in typical Telegram D2C:
- Orders lived in a manager DM: receipt screenshot, «send to this card», address as text.
- Nobody reconciled payment automatically.
- The drop pin vanished in chat history.
- CRM got an empty ticket — or nothing.
- Overnight orders waited for morning copy-paste.
Goal: one contour catalogue → pay → lead.
Solution
What we shipped in ~21 days:
- Bot funnel: language, Telegram contact, location, catalogue, order summary.
- Local checkout: Payme or Click link with order id. Cash-on-delivery sends the lead unpaid; courier closes payment in the card.
- Payment check: background polling plus a «Check payment» button.
- UpGrid CRM: lead on checkout (awaiting pay); status, amount and method update after success.
- On the card and chat timeline: name, phone, username, chat id, SKU, amount, map coordinates, provider and paid flag.
Result
- A bot order becomes a lead — no retyping the thread.
- Payme and Click are checked in-product, not in Excel.
- Courier sees where to go: map on the card.
- ⏱ When it was paid matches the bot.
- Manager replies in the same Telegram thread bound to the lead.
- Overnight orders land in the funnel, not in a private chat.
A composite retail/D2C case. Brand and bot username are not published.