O Tiny Shops é um criador de lojas em Mini App do Telegram sem código. Uma loja pode receber pagamentos de várias formas ao mesmo tempo, e o comprador escolhe uma no checkout. Este guia lista todos os métodos de pagamento no Telegram que você pode conectar hoje, explica para quais compradores cada um serve e mostra a configuração de cada um.
O dinheiro do comprador sempre vai para a sua conta: o seu Stripe, a sua Xendit, a sua carteira TON, o saldo do seu bot no Telegram. O Tiny Shops nunca retém esse dinheiro. Nossa taxa (0.7–5% de cada pedido, conforme o plano, com os seus primeiros 50 pedidos grátis (uma única vez, não todo mês)) é cobrada junto com o seu plano. A única exceção são os pagamentos com cartão via Stripe Connect, que descontam o mesmo percentual no momento da cobrança.
Qual método de pagamento no Telegram combina com a sua loja#
| Método | O comprador paga com | Onde funciona | Configuração |
|---|---|---|---|
| Telegram Stars | Saldo de Stars | Em todo lugar | Nada para conectar |
| Telegram Invoice | Cartões por um provedor do BotFather (Stripe, Freedom Pay, YooKassa e outros) | Depende do provedor | Token do @BotFather |
| Stripe | Cartões, Apple Pay, Google Pay dentro do Mini App | Países com Stripe | Cadastro no Stripe pelo painel |
| Xendit | QRIS, carteiras digitais, transferência bancária, lojas de conveniência, cartões | Indonésia, Filipinas, Malásia | Chave secreta e webhook |
| TON | TON de qualquer carteira TON | Em todo lugar | Endereço da carteira |
| Pedido manual | O que você combinar com o comprador | Em todo lugar | Nada para conectar |
| Razorpay, Midtrans, NOWPayments | UPI e cartões (Índia), métodos indonésios, cripto | Índia, Indonésia, em todo lugar | Pelo Nano ou pela API |
Todo método que você adiciona aparece na aba Payment methods do configurador de checkout. Abra Checkout no painel e depois Add method:

Você pode manter vários métodos ativos ao mesmo tempo, mudar a ordem, marcar um como padrão e dar a cada um seu próprio rótulo. Métodos que exigem uma conta mostram Not connected até você concluir os passos abaixo; os compradores nunca veem um método que não consegue receber o pagamento.
Telegram Stars#
As Stars são a moeda do próprio Telegram. O comprador paga com o saldo de Stars sem sair da conversa, e as Stars caem no saldo do seu bot.
- Defina a moeda da loja como Telegram Stars (XTR) em Storefront Settings → Orders & Payments.
- Em Checkout → Payment methods, adicione Telegram Stars.
Só isso. As Stars são indicadas para produtos digitais, acessos e compras pequenas. Os preços são apenas em Stars inteiras. O Telegram permite sacar as Stars em TON depois do período de retenção.
Telegram Invoice (provedores do BotFather)#
O Telegram tem a própria tela de pagamento, com cerca de 20 provedores por trás: Stripe, Freedom Pay, YooKassa e outros, cada um disponível nos seus países. Você conecta um deles colando o token do provedor que o @BotFather emite para o seu bot.
- No Telegram, abra o @BotFather →
/mybots→ o bot da sua loja → Bot Settings → Payments. - Escolha um provedor e conclua o cadastro. Comece pelo token de teste.
- No painel, abra Storefront Settings → Orders & Payments, escolha Telegram Payments e clique em Add Provider.
- Digite um nome fácil de reconhecer (por exemplo "Stripe") e cole o token. Deixe Test Mode ligado no primeiro pedido.

- Em Checkout → Payment methods, adicione Telegram Invoice.
O provedor precisa aceitar a moeda da sua loja; caso contrário, o Telegram responde PAYMENT_PROVIDER_INVALID. Depois que um pedido de teste for concluído, pegue o token de produção no BotFather e substitua o de teste. Guias passo a passo para dois provedores: Stripe e Freedom Pay.
Stripe (cartões dentro do Mini App)#
Aqui o Stripe é conectado diretamente ao Tiny Shops, sem o BotFather. O comprador paga com cartão, Apple Pay ou Google Pay num formulário dentro do seu Mini App, e os repasses vão para a sua própria conta Stripe.
- Abra Checkout → Payment methods e encontre o card Stripe Connect.
- Escolha o país onde a sua empresa está registrada. O Stripe fixa esse país na conta, então escolha o país da empresa, não onde você está agora.
- Clique em Connect Stripe e conclua o cadastro do Stripe.

Com o Stripe conectado, o cartão passa a ser a única forma de pagamento nessa loja, e os outros métodos são desativados. Se você quer cartões ao lado de Stars ou de métodos locais, use um provedor do BotFather pelo Telegram Invoice.
Xendit: pagamentos locais no Sudeste Asiático#
A maioria dos compradores no Sudeste Asiático não paga on-line com cartão. Pela sua própria conta Xendit, sua loja recebe pelos métodos que eles realmente usam:
- Indonésia (IDR): QRIS; GoPay, DANA, OVO, ShopeePay; transferência bancária para BCA, Mandiri, BNI, BRI, Permata, BSI e CIMB Niaga; pagamento em dinheiro na Alfamart e na Indomaret.
- Filipinas (PHP): QR Ph; GCash, Maya, GrabPay; internet banking do BPI; pagamento em dinheiro na 7-Eleven.
- Malásia (MYR): internet banking FPX com 20 bancos; Touch 'n Go, ShopeePay, GrabPay; DuitNow.
- Em todo lugar: cartões, PayLater e qualquer outro método da sua conta Xendit, pela página de pagamento segura da Xendit.
Conecte sua conta Xendit#
Você pode começar com chaves de teste imediatamente. Os pagamentos reais começam depois que a Xendit verificar a sua empresa, o que leva até 14 dias úteis.
- Abra Checkout → Payment methods, encontre o card Xendit e clique em Connect Xendit. Escolha o país da sua conta Xendit. Ainda não tem conta? O card leva ao cadastro da Xendit.
- Na Xendit, abra Settings → Developers → API Keys e gere uma chave secreta com a permissão Money-in: Write. Cole-a no card. Verificamos a chave com a Xendit antes de salvar, e ela é armazenada criptografada.

- Copie Your webhook URL do card. Na Xendit, abra Settings → Developers → Webhooks e cole o endereço em quatro campos, clicando em Test and save em cada um: Payment Status e Payment Request Status (em Payment Requests V3), e Payment Session Completed e Payment Session Expired (em Payment Session).
- Copie o webhook verification token da mesma página da Xendit para o card e clique em Connect.

O card mostra quando chegou a última atualização de pagamento da Xendit, para você ver que o webhook funciona. A URL no seu card é o endereço da sua própria loja, não o endereço de teste desta captura de tela.
- Defina a moeda da loja como a moeda do país da Xendit (IDR, PHP ou MYR). Enquanto não coincidir, o card exibe um aviso e os compradores não veem a Xendit.
Lojas novas podem escolher Local payments direto no assistente de configuração e selecionar o país. Os preços aparecem nessa moeda desde o início, e as chaves da Xendit são adicionadas depois do lançamento:

O que o comprador vê#
No checkout, os métodos são agrupados do jeito que os compradores pensam neles: pagar escaneando, carteiras digitais, transferência bancária, pagar numa loja. Métodos cujos limites não comportam o total do pedido ficam ocultos. Com QRIS, transferência bancária e códigos de loja, o comprador continua no seu Mini App: ele vê o QR code, o número da conta ou o código para o caixa, com um botão de copiar e o tempo restante para pagar. Quando o dinheiro chega, a tela avança sozinha.

As carteiras digitais abrem o app ou a página da carteira e levam o comprador de volta à sua loja:

FPX e DuitNow passam pela página de pagamento da Xendit, onde o comprador escolhe o banco:

No modo de teste, a tela de pagamento tem um botão Simulate payment, então você pode fazer um pedido de teste completo sem dinheiro de verdade. Todo pedido da Xendit aparece em Orders com o método usado, como qualquer outro pedido pago:

TON#
Os compradores pagam em TON de qualquer carteira TON, escaneando um QR code ou abrindo o link da carteira. O dinheiro vai direto para a sua carteira, sem intermediários.
- Em Storefront Settings → Orders & Payments, escolha Crypto Payments.
- Adicione um provedor TON e cole o endereço da sua carteira (ele começa com
EQouUQ; endereços de testnet começam comkQou0Q). A moeda da loja muda para TON automaticamente. - Em Checkout → Payment methods, adicione TON.
Os preços numa loja TON são definidos em TON.
Pedido manual#
O comprador faz o pedido sem pagar on-line, e você combina o pagamento diretamente: dinheiro na entrega, transferência bancária, uma fatura. Em Checkout → Payment methods, adicione Manual order e depois atualize o status do pedido em Orders quando receber.
Razorpay, Midtrans e NOWPayments#
Esses três continuam funcionando nas lojas que já os usam, mas não têm tela de configuração no painel. Você os conecta pelo Nano, o assistente do painel, ou pela API do Tiny Shops (create_payment_provider e depois update_checkout):
- Razorpay (Índia: UPI, cartões, internet banking): key ID e key secret em Razorpay → Settings → API Keys.
- Midtrans (Indonésia): merchant ID, client key e server key. Para lojas novas na Indonésia, recomendamos a Xendit, que cobre os mesmos métodos e mais.
- NOWPayments (cripto): API key e IPN secret.
Por exemplo, diga ao Nano: "Conecte o Razorpay, aqui estão meu key ID e meu key secret."
Antes de entrar em produção#
- Teste primeiro. Todo método tem um modo de teste: Stars e tokens de teste do BotFather, modo de teste do Stripe, chaves de teste da Xendit, uma carteira TON na testnet. Faça um pedido completo do começo ao fim antes de trocar para as chaves de produção.
- Confira a moeda. Cada provedor cobra em moedas específicas. A Xendit precisa da moeda do país, e um provedor do BotFather precisa de uma moeda que ele aceite.
- Verifique se os pedidos chegam. Cada pedido pago chega até você no Telegram e aparece em Orders. No caso da Xendit, o card também mostra quando chegou a última atualização de pagamento.
Ainda em dúvida entre Stars e cartões? Leia Stars vs Stripe no checkout do Telegram ou a visão geral dos pagamentos no Telegram.
