# Teste sua integração do Billing Aprenda a testar a integração do Billing para garantir que ele esteja pronto para produção. - Use [cartões](https://docs.stripe.com/testing.md#cards) e [números de conta](https://docs.stripe.com/testing.md#test-account-numbers) de teste para acionar diferentes cenários, como falhas de pagamento ou autenticação necessária. - Use [clocks de teste](https://docs.stripe.com/billing/testing/test-clocks.md) para simular objetos do Billing ao longo do tempo e testar eventos em momentos diferentes, como o final de uma avaliação gratuita ou plano anual. - Leia a [documentação geral de testes](https://docs.stripe.com/testing.md) para saber mais sobre os testes fundamentais que ocorrem em toda a Stripe. Teste detalhadamente toda a integração antes de disponibilizá-la aos clientes ou usá-la em atividades do modo de produção. Use os recursos desta página como complemento das diretrizes organizacionais (por exemplo, manuais de operação, verificações de qualidade ou listas de verificação de desenvolvimento) para ajudar a determinar se a integração está pronta para uso em produção. ## Princípios da transição para produção Antes de usar a integração no modo de produção, confira estas listas de verificação da Stripe: - [Lista de verificação da conta](https://docs.stripe.com/get-started/account/checklist.md) - [Lista de verificação de desenvolvimento](https://docs.stripe.com/get-started/checklist/go-live.md) - [Lista de verificação do site](https://docs.stripe.com/get-started/checklist/website.md) Veja a seguir um fluxo de integração típico. Uma integração básica do Billing (See full diagram at https://docs.stripe.com/billing/testing) > #### Use a API Accounts v2 para representar clientes > > The Accounts v2 API is generally available for Connect users, and in public preview for other Stripe users. If you’re part of the Accounts v2 preview, you need to specify a [specify a preview version](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning) in your code. > > To request access to the Accounts v2 preview, > > Para a maioria dos casos de uso, recomendamos [modelar seus clientes como objetos Account configurados pelo cliente](https://docs.stripe.com/connect/use-accounts-as-customers.md), em vez de usar objetos [Customer](https://docs.stripe.com/api/customers.md). Para integrações de assinaturas e receitas recorrentes, verifique se pelo menos estes componentes funcionam como esperado. A tabela mostra as notificações de evento para cada componente. A integração pode ser configurada para ouvir esses eventos com *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests)s. Leia este guia para saber mais sobre [notificações de eventos](https://docs.stripe.com/billing/testing.md#webhooks) e testes. | Componente | Descrição | Eventos | | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Registro do cliente** | Certifique-se de que sua integração consiga coletar com sucesso as informações necessárias para criar um registro de cliente na Stripe. Seus clientes podem inserir essas informações usando o Payment Links, Checkout, *Elements* (A set of UI components for building a web checkout flow. They adapt to your customer's locale, validate input, and use tokenization, keeping sensitive customer data from touching your server) ou um formulário de pagamento totalmente personalizado criado com a [API Stripe](https://docs.stripe.com/api.md). Independentemente do formulário usado, certifique-se de que o objeto `Conta` ou `Cliente` configurado pelo cliente esteja armazenado na Stripe. Você pode usar o Dashboard ou a API para visualizar e [gerenciar clientes](https://docs.stripe.com/billing/customer.md#manage-customers). | - `v2.core.account.created` - `v2.core.account[configuration.customer].updated` - `customer.created` - `customer.subscription.created` | | **Faturamento** | As assinaturas geram *faturas* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice) no final de cada período de cobrança. Dependendo da forma de pagamento, você pode enviar faturas para cobrar pagamentos pós-pagos. Verifique se a integração cria e envia faturas da forma esperada. Leia este guia para saber mais sobre a criação e o gerenciamento de [faturas para assinaturas](https://docs.stripe.com/billing/invoices/subscription.md). Use clocks de teste para simular períodos de cobrança, incluindo a geração e o envio de faturas. Leia o guia de clocks de teste para saber mais sobre os [casos de uso](https://docs.stripe.com/billing/testing/test-clocks/api-advanced-usage.md#use-cases) específicos que você pode testar. | - `invoice.created` - `invoice.finalized` - `invoice.finalization_failed` - `invoice.paid` - `invoice.payment_action_required` - `invoice.payment_failed` - `invoice.upcoming` - `invoice.updated` | | **Gerenciamento de assinaturas** | Configure o *portal do cliente* (The customer portal is a secure, Stripe-hosted page that lets your customers manage their subscriptions and billing details) para permitir que seus clientes gerenciem suas *assinaturas* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) e informações de cobrança. Para testá-lo, crie uma assinatura em uma *á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). Em seguida, faça login no portal como usuário de teste e atualize a assinatura. Verifique o Dashboard ou a API para ver se a assinatura reflete a alteração do cliente. Leia o [guia de integração](https://docs.stripe.com/customer-management.md) para saber como configurar o portal do cliente. | - `customer.subscription.deleted` - `customer.subscription.paused` - `customer.subscription.resumed` - `customer.subscription.updated` | | **Avaliações** | Ofereça aos clientes uma avaliação do seu serviço. Para testar se a configuração da avaliação está correta, crie um clock de teste. A assinatura deve gerar uma fatura com valor zero para o período da assinatura. [Saiba como testar avaliações com clocks de teste](https://docs.stripe.com/billing/testing.md#trials). Para obter mais informações sobre o funcionamento das avaliações, leia o [guia de avaliações de assinatura](https://docs.stripe.com/billing/subscriptions/trials.md). | - `customer.subscription.trial_will_end` - `customer.subscription.updated` | | **Falhas de pagamento** | Os pagamentos dos clientes podem falhar por diversos motivos. Verifique se a integração gerencia falhas, incluindo novas tentativas de pagamento [Saiba como testar falhas de pagamento](https://docs.stripe.com/billing/testing.md#payment-failures). | - `invoice.finalization_failed` - `invoice.payment_failed` - `invoice.payment_action_required` | ## Clocks de teste Os clocks de teste permitem simular objetos do Billing, como *assinaturas* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis), ao longo do tempo em uma *á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). Assim, você não precisa esperar um ano para ver como a integração se comporta no caso de falha de pagamento de uma renovação anual. Não é preciso criar nenhum código com clocks de teste: é possível criar simulações no Dashboard. Você também pode acessá-los usando a API. Saiba mais sobre os [clocks de teste](https://docs.stripe.com/billing/testing/test-clocks.md) e os seus [casos de uso](https://docs.stripe.com/billing/testing/test-clocks.md). ## Testar períodos de avaliação de assinatura Digamos que você queira que os clientes experimentem seu produto gratuitamente com um teste de sete dias antes de começarem a pagar e queira coletar as informações de pagamento antecipadamente. Para simular essa situação usando clocks de teste, siga estas etapas: - Crie uma nova simulação e defina o `frozen_time` para 1º de janeiro. - Adicione um cliente e inclua a forma de pagamento dele. Neste caso, use um [cartão de teste](https://docs.stripe.com/testing.md#cards) 4242424242424242. - Crie uma assinatura e adicione um período de avaliação gratuita de sete dias: #### Dashboard Para adicionar um período de avaliação a uma assinatura existente usando o Dashboard: Encontre a assinatura a ser alterada. 1. Clique em **Ações**. 1. Clique em **Atualizar assinatura**. 1. Clique em **Adicionar avaliação gratuita** e informe 7 no campo **Dias de avaliação gratuita**. 1. Clique em **Atualizar assinatura**. #### API Você pode iniciar a assinatura de um cliente com um período de avaliação gratuita informando o argumento `trial_period_days=7` ao criar a assinatura: #### Accounts v2 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d trial_end=1610403705 ``` #### Clientes v1 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d "customer={{CUSTOMER_ID}}" \ -d "items[0][price]={{PRICE_ID}}" \ -d trial_end=1610403705 ``` - O status de `avaliação`de uma assinatura criada com um período de avaliação gratuita de sete dias. Com essa assinatura, também é criada uma fatura de 0,00 USD. - Adiante a data para 5 de janeiro para ver a notificação do evento [customer.subscription.trial_will_end](https://docs.stripe.com/api/events/types.md#event_types-customer.subscription.trial_will_end). A Stripe envia a notificação três dias antes do final da avaliação. Esse webhook pode ser usado para informar aos clientes que a avaliação termina em breve. - Adiante a data para 8 de janeiro. O estado da assinatura passa para `paid` e é criada uma fatura de 50 USD. - Adiante a data para mais um ciclo (por exemplo, para 8 de fevereiro se a assinatura for mensal) para ver a renovação bem-sucedida da assinatura. ### Testar períodos de avaliação sem clocks de teste Para testar como a integração gerencia períodos de teste sem esperar a conclusão do período de avaliação para ver os resultados, crie uma *assinatura* (A Subscription represents the product details associated with the plan that your customer subscribes to. Allows you to charge the customer on a recurring basis) com `trial_end` definido para alguns minutos no futuro. Se você usa o Checkout, defina [trial_end](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-trial_end) pelo menos dois dias no futuro. Nessa abordagem, você não recebe uma notificação de evento `customer.subscription.trial_will_end`, que normalmente ocorre três dias antes do fim da avaliação. O resto do comportamento é idêntico ao de uma assinatura com período de avaliação maior. ## Testar notificações de webhook de assinatura As integrações de assinatura dependem muito de *webhooks* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests). Você configura um endpoint de webhook no servidor e especifica quais eventos quer ouvir. A Stripe emite notificações para eventos como atualização ou cancelamento de assinaturas. Teste webhooks criando assinaturas de teste reais ou acionando notificações de evento com a [Stripe CLI](https://docs.stripe.com/stripe-cli.md) ou no [Dashboard](https://dashboard.stripe.com/test/account/webhooks). Depois de configurar a Stripe CLI e vincular a sua conta Stripe, você pode acionar eventos do [ciclo de vida da assinatura](https://docs.stripe.com/billing/subscriptions/overview.md#subscription-lifecycle) para testar a integração de webhooks. Quando você usa a Stripe CLI para acionar eventos, pode ver notificações de eventos assim que chegam ao servidor. Dessa forma, é possível verificar a integração de webhooks diretamente, sem túneis ou firewalls de rede. Quando você usa a Stripe CLI ou o Dashboard para acionar eventos, o webhook recebe eventos com dados simulados, sem relação aos dados da assinatura. A forma mais confiável de testar notificações de webhooks é criar assinaturas de teste reais e gerenciar os eventos correspondentes. A tabela a seguir descreve os eventos mais comuns relacionados a assinaturas e sugere ações para gerenciar os eventos, quando for o caso. > A API Accounts v2 está disponível para o público em geral para usuários do Connect e em versão prévia pública para outros usuários da Stripe. > > Independentemente de você usar objetos [Accounts v2](https://docs.stripe.com/connect/use-accounts-as-customers.md) ou objetos [Customer](https://docs.stripe.com/api/customers.md) para representar clientes, use os eventos `customer.subscription` para monitorar eventos de assinatura. | Evento | Descrição | | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `v2.core.account.created` | Enviado quando uma [Account v2](https://docs.stripe.com/api/v2/core/accounts/object.md) é devidamente criada. | | `customer.created` | Enviado quando um [Customer](https://docs.stripe.com/api/customers/object.md) é criado. | | `customer.subscription.created` | Enviado quando a assinatura é criada. O `status` da assinatura poderá ser `incomplete` se a autenticação do cliente for necessária para concluir o pagamento ou se você definir `payment_behavior` como [default_incomplete](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-payment_behavior). | | `customer.subscription.deleted` | Enviado quando a assinatura do cliente termina. | | `customer.subscription.paused` | Enviado quando o `status` de uma assinatura muda para `paused (suspenso)`. Por exemplo, enviamos isso quando você [configura](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-trial_settings-end_behavior-missing_payment_method) uma assinatura para pausar quando um [período de teste gratuito termina sem uma forma de pagamento](https://docs.stripe.com/billing/subscriptions/trials/free-trials.md#create-free-trials-without-payment). O faturamento não ocorrerá até que a assinatura seja [retomada (/api/subscriptions/resume). Não enviamos esse evento se você [suspender a cobrança de pagamentos](https://docs.stripe.com/billing/subscriptions/pause-payment.md), pois as faturas continuam sendo criadas durante esse período. | | `customer.subscription.resumed` | Enviado quando você retoma uma assinatura que estava anteriormente com o status `suspenso`. Isso não se aplica quando você [retoma a cobrança de pagamentos](https://docs.stripe.com/billing/subscriptions/pause-payment.md#unpausing). | | `customer.subscription.trial_will_end` | Enviado três dias antes do [final do período de avaliação](https://docs.stripe.com/billing/subscriptions/trials.md). O evento é acionado quando o período de avaliação é inferior a três dias. | | `customer.subscription.updated` | Enviado quando uma assinatura inicia ou é [alterada](https://docs.stripe.com/billing/subscriptions/change.md). Por exemplo, o evento é acionado ao renovar uma assinatura, adicionar cupons, aplicar descontos, incluir itens de fatura ou alterar planos. | | `entitlements.active_entitlement_summary.updated` | Enviado quando os direitos ativos de um cliente são atualizados. Quando receber esse evento, você pode provisionar ou cancelar o acesso aos recursos do produto. Leia mais sobre [integração com direitos](https://docs.stripe.com/billing/entitlements.md). | | `invoice.created` | Enviado quando uma fatura é criada para uma assinatura nova ou em renovação. Se a Stripe não receber uma resposta positiva para `invoice.created`, a finalização de todas as faturas com [cobrança automática](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md) será adiada por até 72 horas. Leia mais sobre a [finalização de faturas](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). - Responda à notificação enviando uma solicitação para a API [finalizar uma fatura](https://docs.stripe.com/api/invoices/finalize.md). | | `invoice.finalized` | Enviado quando uma fatura é finalizada e está pronta para pagamento. - Você pode enviar a fatura ao cliente. Para saber mais, consulte [finalização de faturas](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). - Dependendo da configuração, cobraremos automaticamente a forma de pagamento padrão ou tentaremos fazer a cobrança. Para saber mais, consulte [e-mails após a finalização](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#emails). | | `invoice.finalization_failed` | A fatura não pôde ser finalizada. Saiba mais sobre [como lidar com falhas na finalização de faturas](https://docs.stripe.com/tax/customer-locations.md#finalizing-invoices-with-finalization-failures) e [sobre a finalização de faturas](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized). - Inspecione o [last_finalization_error](https://docs.stripe.com/api/invoices/object.md#invoice_object-last_finalization_error) da fatura para determinar a causa do erro. - Se você estiver usando o Stripe Tax, verifique o campo [automatic_tax](https://docs.stripe.com/api/invoices/object.md#invoice_object-last_finalization_error) do objeto `Invoice`. - Se `automatic_tax[status]=requires_location_inputs`, a fatura não será finalizada e os pagamentos não poderão ser coletados. Notifique seu cliente e colete a [localização do cliente](https://docs.stripe.com/tax/customer-locations.md) necessária. - Se `automatic_tax[status]=failed`, tente a solicitação outra vez mais tarde. | | `invoice.paid` | Enviado quando a fatura é paga. Você pode provisionar acesso ao produto quando recebe este evento e `status` é `active`. | | `invoice.payment_action_required` | Enviado quando a fatura exige autenticação do cliente. Saiba como gerenciar a assinatura quando a fatura [exigir ação](https://docs.stripe.com/billing/subscriptions/overview.md#requires-action). | | `invoice.payment_failed` | Um pagamento de uma fatura falhou. O status do PaymentIntent muda para `requires_action`. O status da assinatura permanece como `incomplete` *only* para a primeira fatura da assinatura. Se um pagamento falhar, você pode tomar várias ações possíveis: - Avise o cliente. - Defina suas [configurações de assinatura](https://dashboard.stripe.com/settings/billing/automatic) no Dashboard para ativar o [Smart Retries](https://docs.stripe.com/billing/revenue-recovery/smart-retries.md) e outros recursos de recuperação de receitas. - Se você usa PaymentIntents, colete os novos dados de pagamento e [confirme o PaymentIntent](https://docs.stripe.com/api/payment_intents/confirm.md). - Atualize a [forma de pagamento padrão](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-default_payment_method) na assinatura. | | `invoice.upcoming` | Enviado alguns dias antes da renovação da assinatura. O número de dias é baseado no número definido para **Próximos eventos de renovação** no [Dashboard](https://dashboard.stripe.com/settings/billing/automatic). Para assinaturas existentes, a alteração do número de dias entra em vigor no próximo período de cobrança. Se necessário, você ainda pode adicionar [outros itens de fatura](https://docs.stripe.com/billing/invoices/subscription.md#adding-upcoming-invoice-items). | | `invoice.updated` | Enviado quando um pagamento é bem-sucedido ou falha. Se o pagamento for bem-sucedido, o atributo `paid` será definido como `true`, e `status` será `paid`. Se o pagamento falhar, `paid` será definido como `false`, e `status` permanecerá `open`. As falhas de pagamento também acionam um evento `invoice.payment_failed`. | | `payment_intent.created` | Enviado quando um [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) é criado. | | `payment_intent.succeeded` | Enviado quando um PaymentIntent conclui um pagamento. | | `subscription_schedule.aborted` | Enviado quando um cronograma de assinatura é cancelado porque o pagamento inadimplente encerrou a assinatura relacionada. | | `subscription_schedule.canceled` | Enviado quando um cronograma de assinatura é cancelado, o que também cancela qualquer assinatura associada ativa. | | `subscription_schedule.completed` | Enviado quando todas as [fases](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md#subscription-schedule-phases) de um cronograma de assinatura são concluídas. | | `subscription_schedule.created` | Enviado quando um novo cronograma de assinatura é criado. | | `subscription_schedule.expiring` | Enviado 7 dias antes da data de vencimento de um cronograma de assinatura. | | `subscription_schedule.released` | Enviado quando um cronograma de assinatura é [lançado](https://docs.stripe.com/api/subscription_schedules/release.md) ou interrompido e dissociado da assinatura, que permanece. | | `subscription_schedule.updated` | Enviado quando uma programação de assinatura é atualizada. | ## Testar falhas de pagamento Use [números de cartões de crédito de teste](https://docs.stripe.com/testing.md#cards) específicos para acionar falhas de pagamento de assinaturas e *faturas* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice). Algumas atualizações de assinatura fazem a Stripe faturar a assinatura e tentar fazer o pagamento imediatamente (essa tentativa de pagamento síncrona pode ocorrer na fatura inicial ou em determinadas atualizações de fatura). Se a tentativa falhar, a assinatura é criada em um status `incomplete`. Para testar o que acontece em caso de falha no pagamento de uma assinatura ativa, vincule o cartão [**4000 0000 0000 0341**](https://docs.stripe.com/testing.md#cards) como forma de pagamento padrão do cliente, mas use um período de teste para diferir a tentativa (uma assinatura de alguns segundos ou minutos é suficiente). A assinatura se torna ativa imediatamente, com uma fatura [preliminar](https://docs.stripe.com/invoicing/overview.md#draft) criada quando o período de avaliação terminar. Leva aproximadamente uma hora para o status da fatura mudar para aberto, nesse momento ocorre a tentativa malsucedida de cobrança do pagamento. Use [clocks de teste](https://docs.stripe.com/billing/testing/test-clocks.md) para simular o avanço do tempo no *modo de teste* (Test mode is another way to test changes to your integration without affecting production. A sandbox is the default and recommended way to test integrations. All Stripe features are available in test mode but you can't create live charges unless you're in live mode), o que faz com que os recursos do Billing, como Subscriptions, alterem o status e acionem eventos de *webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests). Isso permite que você veja como sua integração gerencia uma falha de pagamento de uma renovação trimestral ou anual sem esperar um ano. ## Testar pagamentos que exigem 3D Secure Use o cartão [**4000 0027 6000 3184**](https://docs.stripe.com/testing.md#three-ds-cards) para simular o acionamento do 3D Secure para assinaturas e faturas. Quando um fluxo de autenticação 3D Secure é acionado, é possível testar a autenticação ou a falha na tentativa de pagamento na caixa de autenticação 3DS que aparecer. Se o pagamento for autenticado corretamente, a fatura é paga. Se a fatura pertencer a uma assinatura com status `incomplete`, a assinatura fica ativa. Quando uma tentativa de pagamento falha, a tentativa de autenticação é malsucedida e a fatura permanece `open`. ## Testar pagamentos de faturas com transferência bancária Para testar pagamentos manuais em faturas por meio de transferências bancárias: 1. Em uma área restrita, crie uma fatura, defina o método de cobrança como `send_invoice` e defina a matriz `payment_settings[payment_method_types]` como `[customer_balance]`. 1. Encontre a fatura no Dashboard e clique em **Enviar**. 1. Seu cliente recebeu um número de conta bancária virtual exclusivo que você pode recuperar usando a [API de instruções de financiamento](https://docs.stripe.com/payments/customer-balance/funding-instructions.md#create-funding-instructions). Os dados bancários virtuais também estão presentes na página da fatura hospedada, assim como no PDF. ## Teste a forma de pagamento padrão para faturas e assinaturas Use [IDs de cartão de teste](https://docs.stripe.com/testing.md?testing-method=payment-methods#cards) específicos para simular formas de pagamento padrão usadas em assinaturas e faturas. A forma de pagamento informada precisa definida como a `default_payment method` para ser vinculada ao cliente da assinatura ou fatura. Por exemplo, se você estiver usando `pm_card_visa` para criar uma forma de pagamento Visa de teste: 1. Chame o endpoint do [PaymentMethod](https://docs.stripe.com/api/payment_methods/attach.md) `pm_card_visa` e o cliente pretendido para a assinatura ou fatura 1. Com o ID da forma de pagamento resultante, crie a assinatura ou fatura com esse ID como o `default_payment_method`. Agora a assinatura ou fatura cobrará esta forma de pagamento. Saiba mais sobre como usar formas de [pagamento padrão](https://docs.stripe.com/testing.md?testing-method=payment-methods#cards) para assinaturas e faturas. ## Testar verificação de ID fiscal de clientes Use estes IDs fiscais “mágicos” para acionar determinadas condições de verificação em ambientes de teste. O tipo de ID fiscal deve ser Australian Business Number (ABN), EU VAT Number ou UK Value-Added-Tax (GB VAT) number. | Número | Tipo | | ----------- | ------------------------------------------------ | | `000000000` | Verificação bem-sucedida | | `111111111` | Verificação malsucedida | | `222222222` | A verificação permanece pendente indefinidamente | ## Testes automatizados Você pode configurar [testes automatizados](https://docs.stripe.com/automated-testing.md) para a integração. Para otimizar os testes: - Conheça a [política de retenção de dados](https://support.stripe.com/questions/test-mode-subscription-data-retention) para dados relacionados a assinaturas em uma área restrita. - Evite reutilizar recursos como [Cupons](https://docs.stripe.com/api/coupons.md) e [Códigos promocionais](https://docs.stripe.com/api/promotion_codes.md) no decorrer dos testes. - Use o servidor HTTP [simulado da stripe](https://github.com/stripe/stripe-mock), que é baseado na API da Stripe e reflete melhor o comportamento da API. ## See also - [Áreas restritas](https://docs.stripe.com/sandboxes.md) - [Várias contas](https://docs.stripe.com/get-started/account/multiple-accounts.md)