유료 텔레그램 봇을 만들었어요. 텔레그램 스타스가 개발자에게 실제로 얼마나 주는지 계산해봤습니다.

발행: (2026년 5월 26일 AM 05:18 GMT+9)
4 분 소요
원문: Dev.to

출처: Dev.to

표지 이미지: 나는 유료 Telegram 봇을 만들었다. Telegram Stars가 실제로 개발자에게 얼마나 주는지, 나는 계산해 보았다.

배경

PolySignal은 Telegram 봇으로, Polymarket에서 고액 지갑이 새로운 거래를 할 때 팔로워에게 알림을 보냅니다. 무료 버전과 두 가지 유료 플랜이 있습니다(※ Signal 150⭐/월, Pro 750⭐/월). 구독은 30일 주기로 자동 결제되며, Telegram 안에서 두 번만 클릭하면 바로 취소할 수 있습니다. 별도의 결제 서비스 제공자도 없고, 결제 페이지도 없으며, 배송 주소조차 입력할 필요가 없습니다.

만약 Telegram 안에서 물건을 판매해 본 적이 없다면, 당신은 인터넷에서 가장 깔끔한 결제 인터페이스 중 하나를 놓치고 있는 겁니다. 하지만 동시에 장부에는 조금 불편한 부분도 숨겨져 있습니다. 이 두 가지 모두 알아두면 좋습니다.

사용자는 어떻게 결제하는가

Telegram 사용자는 먼저 “Stars”를 구매합니다—Telegram이 자체적으로 제공하는 가상 화폐—이를 Apple 인앱 결제, Google 인앱 결제, 혹은 Telegram 웹 인앱 결제로 구입합니다. 소매 가격은 대략 별 하나당 0.02 USD 정도이며(예: 75⭐가 1.49 USD, 번들에 따라 다름) 사용자는 이 Stars를 유료 봇에서 소비합니다.

사용자 입장에서는: 한 번 탭하고, 확인하고, 이미 휴대폰에 연동된 Apple/Google 계정으로 결제하면 끝입니다. 마찰이 없습니다. “카드를 찾아야 한다”는 절차도 없습니다. 필드도 전혀 없습니다.

지금까지 제가 만든 제품 중 전 세계적으로 마찰이 가장 적은 구독 결제 인터페이스라고 할 수 있습니다. 일부 사용자는 PolySignal에 결제할 수 있지만, Stripe 결제로 유도하면 전혀 닿을 수 없는 사람들입니다—같은 Telegram 안에서 카드 번호를 한 번도 입력해 본 적이 없으니, 고급 이모티콘을 사는 느낌과 동일합니다.

개발자는 얼마를 받는가

여기가 실제 수식입니다. 사용자가 Apple/Google을 통해 결제 → Apple/Google이 30 %를 차감 → Telegram이 또 한 번 차감 → 남은 금액이 당신의 Telegram 봇 Stars 잔액으로 들어갑니다. 이후 당신은 Fragment (Telegram 자체 마켓)을 이용해 Stars를 TON(텔레그램과 연계된 네트워크 토큰)으로 전환하고, TON을 다시 법정 화폐로 교환합니다

0 조회
Back to Blog

관련 글

더 보기 »

Launch HN: Chert (YC P26) – iMessage용 Twilio

소개 우리는 Gary와 Ian이며, Chert라는 API를 개발하고 있습니다. 이 API는 기업이 대규모로 iMessage 대화를 보내고, 받고, 자동화할 수 있게 합니다. Demo: Product site:

베네수엘라의 디지털 크리에이터는 당신의 BS 솔루션을 필요로 하지 않는다.

우리가 실제로 해결하려던 문제 초기 시도 내 플랫폼의 결제 시스템은 PayPal, Stripe, Gumroad와 같은 제3자 서비스를 이용합니다. 이 서비스들은 결제 흐름을 처리하고, 결제 성공 여부를 내 시스템에 알리는 웹훅을 보냅니다. 그러나 이 웹훅이 전송되지 않거나, 결제 상태가 정확히 반영되지 않는 경우가 발생했습니다. ### 문제 정의 1. **결제 상태 동기화 실패** - 사용자가 결제를 완료했음에도 불구하고, 내 데이터베이스에 결제 완료가 기록되지 않음. - 반대로, 결제 실패가 있었음에도 “결제 완료”로 표시되는 경우가 있음. 2. **웹훅 신뢰성 부족** - PayPal, Stripe, Gumroad 모두 재시도 메커니즘을 제공하지만, 내 서버가 일시적인 오류(예: 500 오류, 타임아웃)로 인해 웹훅을 놓치는 경우가 있음. - 웹훅이 중복 전송될 때 중복 처리를 방지하는 로직이 부재함. 3. **다중 결제 제공자 관리 복잡성** - 각 제공자는 서로 다른 API 스키마와 이벤트 타입을 사용함. - 결제 확인 로직이 제공자마다 다르게 구현돼 있어 유지보수가 어려움. ### 초기 접근 방식 1. **단일 제공자에 의존** - 처음에는 Stripe만 사용하고, Stripe의 `checkout.session.completed` 이벤트만 처리하도록 설계했습니다. - 이 접근 방식은 구현이 간단했지만, PayPal과 Gumroad 사용자를 배제하게 되었습니다. 2. **동기식 확인** - 결제 완료 직후 클라이언트에서 서버로 즉시 API 호출을 보내 결제 상태를 확인하도록 했습니다. - 그러나 네트워크 지연이나 사용자가 결제 페이지를 닫는 경우, 이 호출이 누락될 수 있었습니다. 3. **단순 재시도 로직** - 웹훅 처리 중 오류가 발생하면 5분 후에 동일한 엔드포인트로 재시도하도록 설정했습니다. - 이 방식은 재시도 간격이 고정돼 있어, 일시적인 장애가 길어질 경우 여전히 데이터가 누락될 위험이 있었습니다. ### 초기 접근 방식의 문제점 - **제공자 제한**: Stripe만 지원하면 PayPal 사용자와 Gumroad 사용자를 잃게 됩니다. - **실시간성 부족**: 클라이언트‑서버 동기 호출은 사용자의 행동에 크게 의존하므로, 결제 완료를 놓칠 가능성이 높습니다. - **재시도 한계**: 고정된 재시도 간격과 횟수는 다양한 장애 상황을 충분히 커버하지 못합니다. ### 결론 우리는 결제 상태를 **신뢰성 있게** 동기화하고, **다중 제공자**를 원활히 지원하며, **웹훅 실패**에 대한 강력한 복구 메커니즘을 갖춘 시스템이 필요합니다. 이를 위해 다음과 같은 설계 원칙을 채택했습니다.

디지털 유배 속 데이터 인프라

우리가 실제로 해결하고 있던 문제 데이터 엔지니어로서 나는 고‑성장 비즈니스를 지원하는 데이터 인프라를 구축하는 데 수년을 보냈다. 하지만 내 최신 프로젝트는…