# Lista de verificação da transição para produção

Use esta lista de verificação ao fazer sua integração.

> [Seja um parceiro da Stripe](https://stripe.com/partners/become-a-partner) para acessar mais práticas recomendadas e receber notícias e atualizações importantes da Stripe.

Marque cada item concluído: as caixinhas marcadas são armazenadas no cache do navegador e você pode consultar esta página a qualquer momento para ver o que já terminou.

[Faça login](https://dashboard.stripe.com) para ver algumas de suas configurações atuais.

A Stripe projetou seus ambientes de produção e de *área restrita* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes) para que funcionem [da maneira mais semelhante possível](https://docs.stripe.com/keys.md#test-live-modes). Alternar entre eles é principalmente uma questão de trocar suas [chaves de API](https://docs.stripe.com/keys.md).

Se você for um desenvolvedor ou se um desenvolvedor fez a integração para você, também considere os itens a seguir antes de mudar para o modo de produção. Se você usa a Stripe por meio de um site ou plug-in conectado, a maioria deles não é relevante no seu caso.

- [ ] Defina a versão da API
      > Todas as solicitações usam as configurações de API da sua conta, a menos que haja sobreposição da versão da API. O [changelog](https://docs.stripe.com/changelog.md) lista todas as versões disponíveis. Por padrão, os eventos de Webhook são estruturados de acordo com a versão da API da sua conta, a menos que uma versão da API seja definida durante a [criação do endpoint](https://docs.stripe.com/api/webhook_endpoints/create.md).

      Se você estiver usando uma linguagem fortemente tipada (Go, Java, TypeScript, .NET), a biblioteca do lado do servidor fixa a versão da API com base na versão da biblioteca que você está usando. Se você não estiver familiarizado com a forma como o Stripe gerencia o versionamento, consulte [versionamento](https://docs.stripe.com/sdks.md#server-side-libraries).

      Para garantir que tudo esteja sincronizado:

      - Atualize para a versão mais recente da API em [Workbench](https://dashboard.stripe.com/workbench) no Dashboard
      - Para linguagens dinâmicas (Node.js, PHP, Python, Ruby): [defina a versão da API](https://docs.stripe.com/sdks.md#server-side-libraries) na biblioteca do lado do servidor
      - Para linguagens fortemente tipadas (Go, Java, TypeScript, .NET): [atualize para a versão mais recente](https://docs.stripe.com/sdks.md#server-side-libraries) da biblioteca escolhida

- [ ] Gerencie casos extremos
      Criamos vários [valores de teste](https://docs.stripe.com/testing.md) que podem ser usados para replicar vários estados e respostas. Além dessas opções, execute sua due diligence, testando sua integração com:

      - Dados incompletos
      - Dados inválidos
      - Dados duplicados (por exemplo, tente repetir a solicitação para ver o que acontece). Também recomendamos que outra pessoa teste a integração. O ideal é que essa pessoa não seja desenvolvedora.

- [ ] Analise seu tratamento de erro de API
      Não espere entrar em produção para descobrir que você não escreveu seu código corretamente para lidar com todos os possíveis [tipos de erro](https://docs.stripe.com/api/errors.md), incluindo aqueles que “nunca” deveriam acontecer. Certifique-se de que seu código seja defensivo, lidando não apenas com os erros comuns, mas com todas as possibilidades.

      Quando testar o processamento de erros, observe as informações exibidas aos usuários. Uma recusa de cartão (ou seja, um `card_error`) é diferente de um erro no backend (por exemplo, um `invalid_request_error`).

- [ ] Analise seus registros
      A Stripe registra todas as solicitações feitas com suas chaves de API, e esses registros podem ser visualizados no [Dashboard](https://dashboard.stripe.com/logs). Recomendamos que você também registre todos os dados importantes, apesar da aparente redundância. Seus próprios registros servem como backup caso seu servidor tenha problemas para contatar a Stripe ou você tenha um problema com suas chaves de API — ambos os casos nos impediriam de registrar sua solicitação.

      Examine regularmente seus logs para garantir que armazenam apenas os dados necessários, sem dados confidenciais (por exemplo, dados de cartão de crédito ou informações pessoalmente identificáveis).

- [ ] Não dependa de objetos de teste
      Os objetos da Stripe criados em um ambiente de área restrita, como planos, cupons, produtos e SKUs, não são válidos para o modo de produção. Essa restrição evita que dados de teste sejam usados acidentalmente no código de produção. Quando criar os objetos necessários no modo de produção, verifique se está usando os mesmos valores de ID (por exemplo, o mesmo *ID* de plano e não o mesmo *nome*) para garantir que o código continue funcionando sem problemas.

- [ ] Registre seus webhooks de produção
      Sua conta Stripe pode ter [endpoints de webhook](https://docs.stripe.com/webhooks.md) para os modos de teste e produção. Se você usa webhooks, verifique se definiu endpoints para o modo de produção em sua conta Stripe. Em seguida, confirme se o endpoint em modo de produção funciona exatamente da mesma forma que o endpoint de teste.

      Ao examinar o status de seus webhook, verifique também se o endpoint do modo de produção:

      - Lida com notificações de webhook atrasadas
      - Lida com notificações de Webhook duplicadas
      - Não exige que as notificações de eventos ocorram em um pedido específico

- [ ] Assine a lista de distribuição de anúncios de API
      Recomendamos que todos os desenvolvedores assinem nossa [lista de distribuição de atualizações de API](https://groups.google.com/a/lists.stripe.com/forum/#!forum/api-announce) para conhecer os novos recursos assim que forem lançados.

- [ ] Altere e proteja suas chaves de API
      Como medida de segurança, recomendamos que você [altere suas chaves de API](https://docs.stripe.com/keys.md#rolling-keys) regularmente. Antes do lançamento:

      - atualize suas chaves, caso tenham sido salvas fora do seu banco de códigos durante o desenvolvimento.
      - Verifique se seu código não inclui nenhuma chave de API.
      - Revise as outras [práticas recomendadas para gerenciar chaves de API secretas](https://docs.stripe.com/keys-best-practices.md) antes de lançar sua integração.
