본문 바로가기
텔레그램 한글 가이드
채널·봇 STEP 76 / 98

텔레그램 봇 구독 — 스타로 매달 결제받기

텔레그램 봇이 스타로 매달 결제를 받는 구독 만들기입니다. 30일 고정 기간과 최대 10,000 스타, createInvoiceLink 로 구독 링크 만들기, 갱신 결제를 알아보는 칸, 해지·되살리기·환불 API 와 파는 쪽이 지킬 것을 정리했습니다.

  • 난이도L4
  • 읽는 시간5분
  • 최종 검증

결론부터

  1. 1구독은 스타(XTR)만 — 기간은 30일 하나, 최대 10,000 스타.
  2. 2createInvoiceLink 에 subscription_period 를 넣으면 구독 링크.
  3. 3갱신은 successful_payment 의 칸으로 — 만료 시각을 저장해 본다.
이 글의 목차
  1. 스타 구독이란
  2. 결제 링크 만들기
  3. 결제와 갱신 알아보기
  4. 해지·되살리기·환불
  5. 자주 묻는 질문
  6. 한눈에 정리

스타 구독이란

봇이 사용자에게 텔레그램 스타로 매달 결제를 받는 방식입니다. 사용자가 한 번 결제하면 기간이 끝날 때마다 스타 잔액에서 자동으로 다시 결제되고, 사용자가 해지하면 멈춥니다. 디지털 서비스(유료 기능·콘텐츠)를 파는 봇이라면 앱 스토어 규정상 스타로 받아야 합니다 — 한 번 결제는 봇 스타 결제에 있습니다.

규칙내용(공식 문서)
통화XTR(텔레그램 스타)만
기간지금은 30일(2592000초) 하나뿐
가격한 번에 최대 10,000 스타
동시 구독한 봇에 여러 구독이 동시에 걸려도 된다 — 같은 사용자가 둘 이상 들어도 된다

결제 링크 만들기

createInvoiceLink 에 subscription_period 를 넣으면 구독 결제 링크가 됩니다. 이 링크를 버튼이나 미니 앱에서 열게 합니다.

curl https://api.telegram.org/bot123456:ABC-EXAMPLE/createInvoiceLink \
  -H "Content-Type: application/json" \
  -d '{"title":"프리미엄 기능","description":"광고 없이 무제한 사용",
       "payload":"sub_basic","currency":"XTR",
       "prices":[{"label":"한 달","amount":100}],
       "subscription_period":2592000}'

스타 결제에는 provider_token 이 필요 없습니다. 가격(amount)은 예시 값입니다.

결제와 갱신 알아보기

결제가 끝나면 봇은 successful_payment 가 든 메시지를 받습니다. 구독이면 칸이 몇 개 더 붙습니다.

칸뜻
is_recurring구독 결제다
is_first_recurring그 구독의 첫 결제다 — 이후 갱신 결제에는 없다
subscription_expiration_date이번 결제로 쓸 수 있는 마지막 시각(유닉스 시간)
telegram_payment_charge_id결제 번호 — 해지·환불에 쓰므로 꼭 저장

내 서버에는 사용자별 만료 시각을 저장하고, 기능을 열어 줄 때마다 그 시각을 봅니다. 갱신 결제가 오면 만료 시각을 새 값으로 바꿉니다.

해지·되살리기·환불

  • editUserStarSubscription — 봇 쪽에서 그 사용자의 다음 갱신을 막거나(해지) 다시 이어지게(되살리기) 합니다. 사용자 ID 와 결제 번호가 필요합니다.
  • refundStarPayment — 결제 하나를 환불합니다.
  • 사용자는 자기 텔레그램 설정의 스타 화면에서 구독을 보고 해지할 수 있습니다. 해지해도 이미 낸 기간이 끝날 때까지는 씁니다.

채널도 같은 30일 방식으로 유료 초대 링크를 만들 수 있습니다(createChatSubscriptionInviteLink) — 구독료를 내야 들어오는 비공개 채널입니다.

자주 묻는 질문

텔레그램 봇 구독 기간을 바꿀 수 있나요?

지금은 30일(2592000초) 하나뿐입니다.

구독 갱신 결제는 어떻게 알 수 있나요?

successful_payment 의 is_recurring 이 true 이고 subscription_expiration_date 에 새 만료 시각이 옵니다.

봇 쪽에서 구독을 해지할 수 있나요?

editUserStarSubscription 으로 그 사용자의 다음 갱신을 막거나 다시 이어지게 할 수 있습니다.

구독 가격 한도가 있나요?

공식 문서 기준 한 번에 최대 10,000 스타입니다.

참고한 공식 문서

요약

한눈에 정리

  1. 1규칙

    XTR · 30일 · 최대 10,000.

  2. 2링크

    subscription_period.

  3. 3관리

    만료 시각 · 해지 · 환불.

이 글 공유하기

같은 문제를 겪는 친구에게 보내 주세요.

텔레그램
더보기

휴대폰으로 열기휴대폰 카메라로 비추면 이 글이 열려요.

최종 수정 2026-10-06

함께 보면 좋은 글

전체 보기 ›