Skip to main content
Aceite pagamentos no seu app com o connector Stripe do Replit ou com suas próprias chaves de API do Stripe. Escolha o connector para uma configuração de sandbox gerenciada, ou use suas próprias chaves quando precisar de controle sobre a integração.

Escolha um método por ambiente

Use um método em cada ambiente, não os dois ao mesmo tempo. Combiná-los no mesmo ambiente causa conflitos de conexão. Você pode usar métodos diferentes em ambientes diferentes, como o sandbox do connector em desenvolvimento e suas próprias chaves ao vivo em produção.

Ideal para

  • Fundadores que gerenciam reservas, aluguéis ou agendamentos e precisam de depósitos que protejam seu tempo.
  • Desenvolvedores que querem pagamentos funcionando em um sandbox hoje e pagamentos ao vivo sem uma configuração manual de chaves.
  • Equipes com uma conta Stripe existente ou requisitos que exigem uma integração de SDK e webhook gerenciada manualmente.

Connector Stripe do Replit

Use este método para cobrar um depósito reembolsável na reserva e cobrar o saldo depois, sem colar chaves de API.

Connectors

Antes de começar

Comece a partir de um App com backend, login e banco de dados, para que cada reserva possa armazenar seu status de pagamento. Depois escolha os valores:
  • Depósito na reserva: um valor fixo, como US$ 500, ou uma porcentagem do total.
  • Saldo depois: o restante do preço, cobrado no cartão salvo quando o cliente chegar.
  • Janela de reembolso: até quando um cliente pode cancelar e ainda receber o depósito de volta. 48 horas é um padrão comum.

Peça ao Agent

O Agent propõe o connector do Stripe e configura um sandbox do Stripe para você. Você não precisa copiar chaves do Stripe Dashboard.

O que esperar

O Agent adiciona o checkout, os fluxos de depósito e saldo e a regra de reembolso. Teste-os no Preview com o cartão de teste do Stripe 4242 4242 4242 4242, qualquer validade futura e qualquer CVC de 3 dígitos:
  1. Faça uma reserva e pague o depósito. Confirme que a reserva mostra o depósito como pago e um cartão salvo.
  2. Cobre o saldo a partir da reserva. Confirme que ele aparece como pago.
  3. Cancele uma segunda reserva fora da janela de reembolso. Confirme o reembolso no painel do sandbox do Stripe.
  4. Cancele uma terceira reserva dentro da janela. Confirme que o app mantém o depósito e explica o motivo.
  5. Pague com o cartão de teste de recusa do Stripe 4000 0000 0000 0002. Confirme que a reserva não é confirmada.
Quando os fluxos funcionarem, conecte sua conta Stripe ao vivo a partir do painel Publish. Siga Vá para produção na página Stripe Payments e depois faça uma reserva real de baixo custo com seu próprio cartão antes de compartilhar o app.

Adapte ao seu caso

Solução de problemas

  • O depósito é aprovado, mas a reserva não é confirmada: peça ao Agent para conectar o evento de sucesso de pagamento do Stripe ao status da reserva no banco de dados e teste outra reserva.
  • O Agent pede para você colar chaves do Stripe ou configurar um webhook: diga ao Agent para usar o connector Stripe do Replit. Misturar o connector e suas próprias chaves no mesmo ambiente causa conflitos.
  • A publicação pede para conectar uma conta Stripe ao vivo: o sandbox só aceita pagamentos de teste. Conecte sua conta ao vivo a partir do painel Publish, como descrito em Vá para produção.
  • Você precisa de assinaturas para um app mobile: use as assinaturas do RevenueCat.

Suas próprias chaves do Stripe

Conecte o Stripe por conta própria: armazene suas próprias chaves de API em Secrets, receba pagamentos com o SDK do Stripe e receba eventos de pagamento por meio de um webhook. Use este caminho quando você já gerencia uma conta Stripe e quer controle total sobre a configuração.
Esta é uma configuração manual. Você cria e rotaciona as chaves, registra o webhook e mantém a integração funcionando. O Replit não a gerencia. Para uma configuração sem chaves de API, use o connector Stripe do Replit.

Antes de começar com suas próprias chaves

Copie suas chaves de API de teste do Stripe Dashboard e adicione-as aos Secrets do seu app. Adicione o segredo de assinatura do webhook mais tarde, quando iniciar o listener descrito abaixo. Mantenha as chaves de teste em desenvolvimento. Configure as chaves ao vivo separadamente nos secrets do seu app publicado. Para adicionar uma chave, selecione Tools no Project Editor e depois Secrets em Setup. Selecione New Secret, digite o nome exato em Key, digite sua chave do Stripe em Value e selecione Add Secret.
Project Editor com Secrets selecionado em Setup e o formulário de novo secret destacado, mostrando STRIPE_SECRET_KEY em Key e um campo Value vazio

Digite o nome exato do secret em Key. O exemplo deixa Value vazio; digite sua própria chave ali.

Depois de concluir a configuração do webhook abaixo, sua lista de Secrets contém os três nomes com seus valores ocultos:
Painel de Secrets do Replit mostrando os secrets STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY e STRIPE_WEBHOOK_SECRET

Peça ao Agent a configuração manual

Teste a integração manual

O Agent adiciona o checkout e um endpoint de webhook. Para desenvolvimento, siga o guia rápido de webhooks do Stripe para instalar e autenticar a Stripe CLI no Shell do seu projeto. Peça ao Agent a porta local do seu servidor e o caminho do webhook. Execute o listener nesse mesmo ambiente, substituindo a porta e o caminho de exemplo pelos valores do seu app:
Salve o segredo de assinatura exibido por stripe listen como STRIPE_WEBHOOK_SECRET nos Secrets de desenvolvimento e depois reinicie seu app para que ele leia o valor. Mantenha o app e o listener em execução enquanto testa no Preview. O listener encaminha eventos de teste para o servidor de desenvolvimento, então você ainda não precisa de uma URL publicada nem de um endpoint de webhook público de desenvolvimento. Assista ao passo a passo para ver a configuração completa: Teste com o cartão de teste do Stripe 4242 4242 4242 4242, qualquer validade futura e qualquer CVC de 3 dígitos. Confirme que o pedido aparece como pago no seu app e que a Stripe CLI relata uma resposta bem-sucedida do seu endpoint de webhook.

Publique com suas próprias chaves ao vivo

Mantenha inalteradas suas chaves de teste de desenvolvimento e o segredo do listener. Em Publishing > Adjust settings > Production app secrets, defina STRIPE_SECRET_KEY e STRIPE_PUBLISHABLE_KEY com suas chaves ao vivo. Veja Gerencie secrets de produção. Registre um endpoint de webhook separado em modo ao vivo no Stripe usando a URL do seu app publicado mais o caminho do webhook. Defina STRIPE_WEBHOOK_SECRET em Production app secrets com o segredo de assinatura desse endpoint, não com o do listener da CLI, e depois publique ou publique novamente. Se esta for sua primeira publicação, estabeleça primeiro a URL publicada, depois conclua a configuração do endpoint e do secret e publique novamente antes de aceitar pagamentos. Se o desenvolvimento usa o sandbox do connector Stripe do Replit e a produção usa suas próprias chaves, a publicação verifica STRIPE_SECRET_KEY:
  • Ela deve conter uma chave secreta ao vivo (sk_live_...) ou uma chave restrita ao vivo (rk_live_...). Chaves de teste, chaves publicáveis e chaves armazenadas com outros nomes não contam.
  • Sem uma chave ao vivo válida, a publicação é interrompida com Connect a live Stripe account before publishing.
  • Produtos e preços não são sincronizados do sandbox para sua conta ao vivo. Crie-os você mesmo na sua conta Stripe ao vivo.

Personalize a integração manual

Solução de problemas da integração manual

  • A publicação diz “Connect a live Stripe account before publishing”: verifique se o secret se chama exatamente STRIPE_SECRET_KEY e contém uma chave ao vivo que começa com sk_live_ ou rk_live_.
  • Eventos de webhook falham nas verificações de assinatura: certifique-se de que STRIPE_WEBHOOK_SECRET corresponde ao segredo de assinatura do endpoint e de que você usa o segredo do modo ao vivo em produção.
  • O connector e suas próprias chaves estão ambos configurados em um ambiente: remova um deles. Para remover o connector, veja Atualizar ou remover a conexão do Stripe.

Relacionado

Ajuda sobre pagamentos e Stripe

Respostas sobre métodos de configuração, nomes de secrets obrigatórios e erros de publicação.

Stripe Payments

Como o connector do Stripe funciona, do sandbox à conta ao vivo.