Integrando produtos digitais ao seu produto
Este guia é para proprietários de bots e serviços do Telegram que desejam usar o Tribute como sistema de pagamento. Aceite pagamentos via SBP e Telegram Stars, receba saques em USDT sem um provedor de pagamentos complexo
Benefícios da integração dos Produtos Digitais do Tribute
Para você, como dono do serviço:
Aceitação de pagamentos - SBP e Telegram Stars
Integração simples - crie um produto, obtenha um link, configure um webhook
Infraestrutura pronta - não é necessário integrar provedores de pagamento por conta própria
Saques automáticos - receba dinheiro em USDT
Para seus usuários:
Pagamento conveniente - compra com um clique pelo Telegram
Métodos de pagamento disponíveis - SBP, Telegram Stars
Como funciona: esquema geral
1. Você cria um produto digital no Tribute
Por exemplo, para um assistente de IA, poderia ser "Acesso ao Assistente de IA por 1 mês"
2. Obtenha um link de pagamento exclusivo
Cada produto tem seu próprio link no formato:
Para o Telegram:
https://telegram.me/tribute/app?startapp=p123Para o navegador:
https://web.tribute.tg/p/123
3. Direcione os usuários para este link
No seu bot ou outro serviço, adicione um botão "Pagar" que leve ao link do produto
4. O usuário paga
O comprador pode:
Pagar diretamente com Telegram Stars (se houver saldo disponível)
Comprar Stars via SBP e trocá-las imediatamente pelo produto
5. Você recebe um webhook sobre o pagamento realizado com sucesso
Após o pagamento, uma solicitação POST com as informações da compra chega ao seu servidor. Mais sobre o formato do webhook na documentação de webhooks
6. Forneça acesso ao usuário
Ative o serviço para o usuário usando o ID do Telegram do webhook
Instruções de configuração passo a passo
Etapa 1: Registro no Tribute
Abra @tribute no Telegram
Clique em "Start" e siga as instruções
Vá para a seção "Painel do Autor"
Etapa 2: Criação de um produto digital
No painel, selecione "Produtos Digitais" → "Criar produto instantâneo"
Você será redirecionado para o chat do bot
Envie ao bot uma mensagem que se tornará seu produto digital. Pode ser qualquer mensagem - por exemplo, uma foto com descrição, vídeo, arquivo ou até mesmo uma mensagem de voz.
Mensagem de exemplo para integração:
Importante: Esta é a mensagem exata que o comprador receberá após o pagamento. Adicione instruções para o usuário para que ele entenda o que fazer em seguida. Depois que o produto for criado, esta mensagem não poderá ser editada (mas você sempre pode criar um novo produto digital com uma mensagem diferente).
Depois de enviar a mensagem, clique no botão "Criar Produto" na mensagem do bot
Preencha os campos obrigatórios:
Moeda - escolha a moeda de pagamento
Nome - o que o comprador verá (por exemplo: "Assistente de IA por 1 mês")
Descrição - breve descrição do produto
Preço - custo na moeda selecionada
Salve o produto
Após salvar, você receberá um link de pagamento exclusivo que pode ser usado na sua integração
Etapa 3: Obtenção da chave de API
No painel, abra o menu (três pontos) → "Configurações"
Vá para a seção "Chaves de API"
Clique em "Gerar Nova Chave"
Guarde a chave em um local seguro - você precisará dela para verificar webhooks
Etapa 4: Configuração de webhooks
Na seção "Chaves de API", encontre o campo "Webhook URL"
Especifique o endereço do seu servidor para receber webhooks:
Salve as configurações
Etapa 5: Processamento de webhooks no seu servidor
Após o pagamento bem-sucedido de um produto digital, o Tribute enviará uma solicitação POST para a sua URL:
Verificação da assinatura do webhook
Cada solicitação contém um trbt-signature cabeçalho com a assinatura HMAC-SHA256 do corpo da solicitação. Exemplos de verificação de assinatura e processamento de webhook estão disponíveis na documentação de webhooks
Etapa 6: Integração ao seu bot
No seu bot do Telegram, adicione um botão de pagamento
Trabalhando com a API
Returns a single product by its ID
API key for authentication.
Product ID
Successful response
Product ID
2548Product type
digitalValores possíveis: Product name
VPN Access - 1 MonthProduct description
High-speed VPN service with unlimited bandwidth and 50+ server locations worldwideProduct price in smallest currency units (cents for USD/EUR, kopecks for RUB). For physical products this is the starting price, taken from the cheapest variant.
499Currency code
usdValores possíveis: Price in Telegram Stars
100Whether payment with Stars is enabled
trueProduct status
approvedValores possíveis: Whether this is a custom product
falseWhether card payments are accepted
trueWhether wallet payments are accepted
falseWhether content protection is enabled
trueProduct creation date
2025-08-25T10:30:00ZProduct last update date
2025-08-25T10:30:00ZNumber of pending orders (for custom products)
3Product image URL
https://cdn.example.com/image.jpgDirect link to product in Telegram app
https://t.me/tribute_bot/app?startapp=pf6Web link to product
https://web.tribute.tg/p/f6Bad request (invalid product ID format)
Unauthorized (invalid API key)
Access denied
Product not found
GET /api/v1/products/{id} HTTP/1.1
Host: tribute.tg
Api-Key: YOUR_API_KEY
Accept: */*
{
"id": 2548,
"type": "digital",
"name": "VPN Access - 1 Month",
"description": "High-speed VPN service with unlimited bandwidth and 50+ server locations worldwide",
"amount": 499,
"currency": "usd",
"starsAmount": 100,
"starsAmountEnabled": true,
"status": "approved",
"isCustom": false,
"acceptCards": true,
"acceptWalletPay": false,
"protectContent": true,
"created": "2025-08-25T10:30:00Z",
"updated": "2025-08-25T10:30:00Z",
"pendingOrders": 3,
"imageUrl": "https://cdn.example.com/image.jpg",
"link": "https://t.me/tribute_bot/app?startapp=pf6",
"webLink": "https://web.tribute.tg/p/f6"
}Returns a paginated list of products
API key for authentication.
Page number
1Items per page
20Filter by product type
Sort by ID descending
falseSuccessful response
Bad request
Unauthorized (invalid API key)
GET /api/v1/products HTTP/1.1
Host: tribute.tg
Api-Key: YOUR_API_KEY
Accept: */*
{
"rows": [
{
"id": 2548,
"type": "digital",
"name": "VPN Access - 1 Month",
"description": "High-speed VPN service with unlimited bandwidth and 50+ server locations worldwide",
"amount": 499,
"currency": "usd",
"starsAmount": 100,
"starsAmountEnabled": true,
"status": "approved",
"isCustom": false,
"acceptCards": true,
"acceptWalletPay": false,
"protectContent": true,
"created": "2025-08-25T10:30:00Z",
"updated": "2025-08-25T10:30:00Z",
"pendingOrders": 3,
"imageUrl": "https://cdn.example.com/image.jpg",
"link": "https://t.me/tribute_bot/app?startapp=pf6",
"webLink": "https://web.tribute.tg/p/f6"
}
],
"meta": {
"total": 1,
"offset": 1,
"limit": 1
}
}Cancels a digital product purchase and refunds the payment.
Important: This endpoint only supports refunds for purchases paid with Telegram Stars. Purchases paid with other payment methods cannot be refunded via this endpoint.
API key for authentication.
Digital product purchase ID (ProductPurchase.ID)
12345Purchase successfully cancelled and payment refunded
Operation success status
trueCancelled purchase ID
12345Success message
purchase cancelled and payment refundedBad request
Unauthorized (invalid API key)
Access denied (not the product owner)
Purchase or user not found
Internal server error
POST /api/v1/products/purchases/{purchaseId}/cancel HTTP/1.1
Host: tribute.tg
Api-Key: YOUR_API_KEY
Accept: */*
{
"success": true,
"purchaseId": 12345,
"message": "purchase cancelled and payment refunded"
}Notification about a digital product purchase
new_digital_productValores possíveis: Event creation time
2025-03-20T01:15:58.33246ZEvent sending time
2025-03-20T01:15:58.542279448ZWebhook successfully processed
okInvalid webhook data
Invalid webhook signature
Payload
{
"name": "new_digital_product",
"created_at": "2025-03-20T01:15:58.33246Z",
"sent_at": "2025-03-20T01:15:58.542279448Z",
"payload": {
"product_id": 456,
"product_name": "VPN Access - 1 Month",
"amount": 500,
"currency": "usd",
"trb_user_id": "T-31326",
"telegram_user_id": 12321321,
"telegram_username": "durov",
"purchase_id": 78901,
"transaction_id": 234567,
"purchase_created_at": "2025-03-20T01:15:58.33246Z"
}
}Notification about a digital product refund. This webhook is triggered when:
- A user refunds Stars through App Store, Google Play, or their bank
- A creator initiates a refund via the API
Important: Use purchase_id to match refunds with original purchases and revoke access to digital content.
digital_product_refundedValores possíveis: Event creation time
2025-03-20T01:15:58.33246ZEvent sending time
2025-03-20T01:15:58.542279448ZWebhook successfully processed
okInvalid webhook data
Invalid webhook signature
Payload
{
"name": "digital_product_refunded",
"created_at": "2025-03-20T01:15:58.33246Z",
"sent_at": "2025-03-20T01:15:58.542279448Z",
"payload": {
"product_id": 456,
"product_name": "VPN Access - 1 Month",
"amount": 500,
"currency": "usd",
"trb_user_id": "T-31326",
"telegram_user_id": 12321321,
"telegram_username": "durov",
"purchase_id": 78901,
"transaction_id": 234567,
"refund_reason": "telegram_refund",
"refunded_at": "2025-03-20T02:30:00.33246Z"
}
}Criando diferentes tarifas
Para diferentes níveis, crie vários produtos digitais:
Assistente de IA - 1 mês (ID: 456) - $9.99
Assistente de IA - 3 meses (ID: 457) - $24.99
Assistente de IA - 1 ano (ID: 458) - $79.99
Tratamento de tentativas de reenvio
Quando a entrega do webhook falhar, o Tribute tentará novamente após:
5 minutos
15 minutos
30 minutos
1 hora
10 horas
Certifique-se de que seu handler seja idempotente (reprocessar o mesmo pagamento não criará duplicatas).
Saques
Você pode sacar os fundos ganhos em USDT (saques para cartão bancário serão adicionados no futuro). Configure saques automáticos na seção "Carteira".
Perguntas frequentes
Atualizado