> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adicionar pagamentos

> Cobre um depósito reembolsável quando um cliente reservar um carro da Velocity e o saldo no momento da retirada.

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block font-sans whitespace-pre-wrap break-words">
      <div className="pr-7">
        {children}
      </div>
    </CodeBlock>;
};

Ao final, um cliente da Velocity pagará um depósito reembolsável para reservar um carro e o saldo na retirada.

Você adicionou login e um banco de dados à Velocity. Agora transforme-o em um negócio de reservas real: segure cada carro com um **depósito reembolsável na reserva** e **cobre o saldo na retirada**. O Replit gerencia os pagamentos pelo Stripe — você não escreve nenhum código Stripe por conta própria.

## Decida os valores de depósito e saldo

Antes de pedir ao Agent para construir, defina a lógica:

* **Depósito na reserva:** um valor fixo ou uma porcentagem do total? Um valor fixo de \$500 é mais simples de comunicar; 20% escala com o carro.
* **Saldo na retirada:** o restante do custo do aluguel, cobrado quando o cliente pega as chaves.
* **Janela de reembolso:** até quando alguém pode cancelar e ainda receber o depósito de volta? 48 horas é um padrão comum.

Para este guia, a Velocity retém um depósito fixo e reembolsável de \$500 na reserva, cobra o saldo na retirada e reembolsa integralmente se um cliente cancelar com mais de 48 horas de antecedência. Ajuste conforme o que se encaixa no seu negócio real.

## Peça ao Agent para adicionar o checkout do Stripe

<AiPrompt>
  Adicione pagamentos de depósito e saldo à Velocity usando o Stripe em modo de teste.<br />
  Na reserva, cobre um depósito reembolsável de \$500 e salve o método de pagamento do cliente no arquivo.<br />
  Na retirada, cobre o saldo restante no método de pagamento salvo.<br />
  Se o cliente cancelar com mais de 48 horas antes da retirada, reembolse o depósito integralmente. Dentro de 48 horas, mantenha-o.<br />
  Salve o status do depósito e a referência do cartão salvo no banco de dados para que um cliente possa ver ambos na sua reserva.<br />
  Me diga exatamente quais chaves secretas preciso colar do Stripe e onde colá-las.<br />
  Me dê um checklist de teste para os casos de sucesso do depósito, cancelamento do depósito, cobrança do saldo e reembolso por cancelamento.
</AiPrompt>

O Agent configurará o Stripe, adicionará os fluxos de depósito e saldo, e informará quais chaves secretas pegar do Stripe. Cole-as nas configurações do seu app quando o Agent pedir — suas chaves de teste ficam lá, nunca no código.

<Frame>
  <img src="https://mintcdn.com/replit/TBbCBDsd8nVQwxq3/images/velocity/add-payments/stripe-secrets.png?fit=max&auto=format&n=TBbCBDsd8nVQwxq3&q=85&s=80f25ad62982cb96274ab45692f7baff" alt="Painel de Secrets do Replit mostrando as chaves de API do Stripe (STRIPE_SECRET_KEY, STRIPE_PUBLISHABLE_KEY, STRIPE_WEBHOOK_SECRET) que o Agent pediu ao desenvolvedor para colar" width="1280" height="720" data-path="images/velocity/add-payments/stripe-secrets.png" />
</Frame>

## Teste o fluxo completo em modo de teste

O Stripe oferece um cartão de teste especial para que você possa executar pagamentos reais sem gastar dinheiro real: `4242 4242 4242 4242`, qualquer vencimento futuro, qualquer CVC de 3 dígitos.

1. Entre na Velocity no Preview e reserve um carro para o próximo sábado-domingo.
2. No checkout, você deve ver "Depósito hoje: $500" e "Saldo na retirada: $1.900" (ou o valor que sua lógica produzir).
3. Pague o depósito com o cartão de teste `4242`. Você deve retornar a uma página de confirmação mostrando o depósito pago e um método de pagamento salvo para o saldo.
4. Abra a reserva em "Minhas reservas" e use a ação administrativa ou de retirada para cobrar o saldo. Confirme que o saldo aparece como pago.
5. Faça uma segunda reserva e cancele com mais de 48 horas de antecedência. O depósito deve ser reembolsado para o cartão de teste (você pode verificar no painel de modo de teste do Stripe).
6. Faça uma terceira reserva e cancele dentro de 48 horas. O depósito deve ser mantido e claramente explicado ao cliente.
7. Tente o checkout com o cartão de teste de recusa do Stripe (`4000 0000 0000 0002`). A reserva não deve ser confirmada e o cliente deve ver uma mensagem de falha clara.

Se o depósito for bem-sucedido mas a reserva não for confirmada, diga ao Agent:

<AiPrompt>
  O depósito de teste do Stripe para a Velocity foi bem-sucedido, mas a reserva não está sendo mostrada como confirmada.<br />
  Conecte o evento de sucesso do depósito ao status da reserva no banco de dados.<br />
  Me mostre como verificar com outra reserva de teste.
</AiPrompt>

## Mude para pagamentos reais quando estiver pronto

O modo de teste é para você. O modo ao vivo é para clientes reais pagando dinheiro real. Quando a Velocity estiver pronta:

1. No Stripe, mude do modo de teste para o modo ao vivo e copie as chaves secretas **ao vivo**.
2. Nas configurações do seu app, substitua as chaves de teste pelas chaves ao vivo.
3. Publique a Velocity novamente pelo chat do Agent.
4. Abra a URL pública, reserve um carro de teste de baixo custo com seu cartão real e confirme que o depósito e o saldo funcionam de ponta a ponta.

Execute esse teste com cartão real uma vez antes de compartilhar a URL pública amplamente. A Velocity agora aceita reservas reais com dinheiro real.

## Melhorias a seguir

<CardGroup cols={2}>
  <Card title="Adicionar integrações" icon="plug" href="/pt/build/add-integrations">
    Envie cada reserva para o calendário do cliente.
  </Card>

  <Card title="Adicionar um domínio personalizado" icon="globe" href="/pt/build/add-custom-domain">
    Mova a Velocity para uma URL com marca antes de cobrar dos clientes.
  </Card>
</CardGroup>

## Precisa de mais ajuda?

* **O depósito é bem-sucedido mas a reserva não é confirmada:** peça ao Agent para conectar o evento de sucesso do Stripe ao status da reserva no banco de dados.
* **O modo de teste funciona, o modo ao vivo não:** certifique-se de ter substituído as chaves de teste pelas chaves ao vivo nas configurações do seu app.
* **Você quer um único pagamento antecipado em vez de depósito + saldo:** diga ao Agent para mudar a Velocity para um único pagamento completo na reserva.
* **Você quer precificação de assinatura recorrente (acesso mensal à frota):** o Replit também oferece suporte ao RevenueCat — peça ao Agent para usá-lo em vez do Stripe.

## Relacionado

* [Pagamentos com Stripe](/pt/references/monetization/stripe-payments)
* [Assinaturas com RevenueCat](/pt/references/monetization/revenuecat-subscriptions)
