Pagamentos: Stripe, Mercado Pago, Pagar.me e Hotmart
Como ligar o gateway que recebe o dinheiro das vendas e assinaturas do seu app, com chaves de teste primeiro e de produção depois.
Sem um gateway conectado, a tela de checkout do app existe mas a compra não conclui. O dinheiro vai direto para a sua conta no provedor: a plataforma não intermedia o pagamento e não cobra crédito de integração por ele.
Antes de começar
- Plano: Builder;
- Conta no provedor: Stripe, Mercado Pago ou Pagar.me (criar conta e usar o modo de teste é gratuito nos três; as tarifas por venda são as de cada provedor);
- Um gateway por app. Stripe, Mercado Pago e Pagar.me dividem o mesmo lugar: salvar um substitui o outro. A Hotmart é separada e pode conviver com eles;
- Não serve para dentro do app das lojas. No app instalado pela App Store ou pelo Google Play, quem cobra é a loja. Isso é outro assunto, em Vender assinaturas dentro do app.
Todos ficam na aba Integrações, categoria Pagamentos.
Teste antes de vender
Nenhum dos três gateways tem botão de ambiente no card: o ambiente é o da chave que você cola. Comece sempre pelas chaves de teste, faça uma compra de teste e só então troque pelas de produção.
Ao trocar, digite as chaves de produção nos campos delas. Um campo deixado em branco mantém o valor salvo, então uma chave de teste num campo que você não digitou continua valendo.
Ao trocar de gateway (por exemplo, da Stripe para o Mercado Pago), as chaves do anterior não passam para o novo: preencha os campos do card do novo gateway.
Stripe
Campos do card: Chave publicável (pk_), Chave secreta (sk_) e Segredo do webhook (whsec_).
- em dashboard.stripe.com, ligue o modo de teste;
- em Desenvolvedores → Chaves de API, copie a chave publicável (
pk_test_…) e a secreta (sk_test_…); - no card Stripe, cole as duas e deixe o Segredo do webhook em branco;
- clique em Salvar e ativar.
A plataforma testa a chave secreta e cria o webhook sozinha na sua conta Stripe. O card mostra o bloco URL do Webhook com o selo Automático e a lista de eventos: não há nada a fazer no painel da Stripe.
Para produção, repita com o modo de teste desligado (pk_live_… e sk_live_…).
Mercado Pago
Campos do card: Public Key, Access Token e Chave secreta do webhook.
O Mercado Pago não permite criar o webhook por API, então este é o único dos três com um passo manual.
- em mercadopago.com.br/developers/panel, crie uma aplicação;
- em Credenciais de teste, copie a Public Key e o Access Token;
- no card Mercado Pago, cole os dois e clique em Salvar e ativar;
- o card passa a mostrar o bloco URL do Webhook com o selo Manual, a URL com botão Copiar e os Eventos a habilitar;
- no painel do Mercado Pago, em Suas integrações → Webhooks, cole a URL, marque os eventos listados e salve;
- copie a chave secreta que o Mercado Pago gerou para esse webhook;
- volte ao card, preencha a Chave secreta do webhook e clique em Salvar e ativar de novo. A Public Key e o Access Token podem ficar em branco: o valor salvo é mantido.
Sem a chave secreta do webhook, a plataforma não consegue confirmar os avisos de pagamento, e a compra não libera nada no app.
Pagar.me
Campos do card: Chave de API (secret) e Chave pública (encryption).
- no painel da Pagar.me, vá em Configurações → Chaves de API e escolha o ambiente de teste;
- copie a chave secreta (
sk_…) e a pública (pk_…); - no card Pagar.me, cole as duas e clique em Salvar e ativar;
- o card mostra o bloco URL do Webhook com o selo Manual. A URL já inclui um usuário e uma senha gerados pela plataforma: trate-a como secreta;
- no painel da Pagar.me, em Configurações → Webhooks, cole essa URL e marque os Eventos a habilitar que o card lista.
Não existe campo de segredo de webhook para preencher na Pagar.me: a autenticação já vai dentro da URL.
Hotmart
A Hotmart não é um gateway do app. Ela vende pelo site dela, e a integração faz o app reconhecer quem já comprou e liberar o acesso sozinho.
Campos do card: Client ID, Client Secret, Hottok (do Webhook), Código(s) do produto que libera o app e a opção Usar o ambiente de testes (sandbox).
- na Hotmart, em Ferramentas > Credenciais Developers, crie a credencial e copie o Client ID e o Client Secret;
- em Ferramentas > Webhook, copie o hottok;
- no card Hotmart, preencha os campos. Em Código(s) do produto que libera o app, informe o código do produto (separe por vírgula se for mais de um);
- marque Usar o ambiente de testes (sandbox) só se as credenciais forem de teste;
- clique em Salvar e ativar. A plataforma pergunta à Hotmart de quem é a conta e mostra "Conectado à Hotmart de" seguido do nome, o que confirma que você conectou a conta certa;
- copie a URL do Webhook que o card mostra e cole no painel da Hotmart, em Ferramentas > Webhook, escolhendo os eventos de compra e assinatura.
Dentro do app publicado nas lojas a venda não pode acontecer: o app só libera o que foi comprado no site.
Como fazer o primeiro pagamento de teste
- conecte o gateway com as chaves de teste;
- se o app ainda não tem tela de compra, peça no chat (por exemplo: "crie a página de planos com botão de assinar"). Essa parte gasta crédito de IA, como qualquer construção;
- abra o app e faça uma compra. Na Stripe, o cartão de teste é
4242 4242 4242 4242, com qualquer data futura e qualquer código de segurança. No Mercado Pago e na Pagar.me, use os cartões de teste da documentação de cada um; - confira a compra no painel do provedor, no modo de teste, e veja se o app liberou o que foi comprado.
Só troque para as chaves de produção depois que esse ciclo inteiro funcionou.
Como saber que funcionou
- o card mostra Conectado. Nos três gateways e na Hotmart esse selo vem de um teste real com o provedor, não só do formulário salvo;
- no Stripe, o bloco do webhook está com o selo Automático;
- no Mercado Pago, a chave secreta do webhook foi salva depois de criar o webhook no painel;
- a compra de teste aparece no painel do provedor e o app libera o acesso.
Problemas comuns
- Erro na configuração logo ao salvar. A chave secreta foi recusada: confira se copiou a secreta (e não a publicável) e se não sobrou espaço no começo ou no fim;
- O pagamento aprova no provedor e o app não libera nada. É o webhook. No Mercado Pago, falta a chave secreta ou algum evento. Na Pagar.me, a URL colada não é a que o card mostra ou falta evento;
- Troquei de gateway e o antigo parou. É o esperado: só um fica ativo por app;
- O botão de assinar não aparece no app instalado da loja. Dentro do app das lojas o gateway nunca é usado. Veja Vender assinaturas dentro do app.