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 Stripe4242 4242 4242 4242, qualquer validade futura e qualquer CVC de 3 dígitos:
- Faça uma reserva e pague o depósito. Confirme que a reserva mostra o depósito como pago e um cartão salvo.
- Cobre o saldo a partir da reserva. Confirme que ele aparece como pago.
- Cancele uma segunda reserva fora da janela de reembolso. Confirme o reembolso no painel do sandbox do Stripe.
- Cancele uma terceira reserva dentro da janela. Confirme que o app mantém o depósito e explica o motivo.
- Pague com o cartão de teste de recusa do Stripe
4000 0000 0000 0002. Confirme que a reserva não é confirmada.
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.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.

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

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: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, definaSTRIPE_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_KEYe contém uma chave ao vivo que começa comsk_live_ourk_live_. - Eventos de webhook falham nas verificações de assinatura: certifique-se de que
STRIPE_WEBHOOK_SECRETcorresponde 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.