Pular para o conteúdo
Criar conta
ou
Entrar
O logotipo da documentação da Stripe
/
Pergunte à IA
Criar conta
Login
Comece já
Pagamentos
Receita
Plataformas e marketplaces
Gestão de valores
Recursos para desenvolvedores
Visão geral
Billing
Visão geralSobre as APIs do Billing
Assinaturas
Invoicing
    Visão geral
    Como o faturamento funciona
    Início rápido de API
    Integrar com a API
    Faturamento sem código
    Ciclo de vida da fatura
    Visualizar faturas
    Editar faturas
    Programar finalização de fatura
    Transições de status e finalização
    Enviar e-mails aos clientes
    Gerar notas de crédito
    Faturar clientes
    Clientes
    Saldo de crédito do cliente
    IDs fiscais dos clientes
    Pagamentos por fatura
    Página da fatura hospedada
    Criar planos de pagamento de fatura
    Aceitar pagamentos parciais
    Formas de pagamento para faturas
    Cobranças automáticas
    Personalização de faturas
    Personalizar faturas
    Modelos de renderização de fatura
    Agrupar itens de linha de fatura
    Resumir itens de linha
    Faturamento global
    Práticas recomendadas
    Clientes multimoedas
    Outros recursos de faturamento
    Produtos e preços
    Gerenciar itens de linha de faturas em lote
    Impostos
Cobrança por uso
Cotações
Gerenciamento de clientes
Cobrança com outros produtos
Recuperação de receitas
Automações
Teste sua integração
Tributos
Visão geral
Usar Stripe Tax
Gerenciar conformidade
Relatórios
Visão geral
Selecionar um relatório
Configurar relatórios
API de relatórios
Relatórios para várias contas
Reconhecimento de receitas
Dados
Visão geralEsquema
Relatórios personalizados
Data Pipeline
Gerenciamento de dados
Página inicialReceitaInvoicing

Integrar com a API Invoicing

Saiba como criar e enviar uma fatura com código.

O Dashboard é o caminho mais comum para criar faturas. Se quiser automatizar a criação de faturas, você pode integrar a API. Crie uma integração completa e operacional do Invoicing usando o exemplo de integração.

Observação

Não é preciso fazer integração com a API Payments para integrar com a API Invoicing.

Configurar a Stripe

Use nossas bibliotecas oficiais para acessar a API Stripe:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Criar um produto

Para criar um produto, informe o nome dele:

Command Line
cURL
curl https://api.stripe.com/v1/products \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d name="Gold Special"

Criar um preço

Preços definem quanto e com que frequência cobrar os produtos. Você define o custo do produto, a moeda a ser usada e o intervalo de cobrança (quando o preço refere-se a uma assinatura). Assim como os produtos, se você tem poucos preços, é preferível gerenciá-los no Dashboard. Use o valor unitário para expressar preços na menor unidade da moeda, neste caso, centavos (10 USD são 1.000 centavos, portanto, o valor unitário é 1000).

Observação

Se não for preciso criar um preço para seu produto, você também pode usar o parâmetro value durante a criação do item da fatura.

Para criar um preço e atribuí-lo ao produto, passe o ID, o valor unitário e a moeda do produto. Neste exemplo, o preço do produto “Gold Special” é US$ 10:

Command Line
cURL
curl https://api.stripe.com/v1/prices \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d product=
{{PRODUCT_ID}}
\ -d unit_amount=1000 \ -d currency=usd

Criar um cliente

O objeto Customer representa o cliente que compra seu produto e é obrigatório para criar uma fatura. Para criar um cliente com name, email e description, adicione este código, substituindo os valores pelos seus próprios valores:

Command Line
cURL
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d name="Jenny Rosen" \ --data-urlencode email="jenny.rosen@example.com" \ -d description="My first customer"

Após criar o cliente, armazene o id do cliente no seu banco de dados para usá-lo mais tarde. A próxima etapa, por exemplo, usa o ID do cliente para criar uma fatura.

Observação

Consulte Criar um cliente para ver mais parâmetros.

Criar uma fatura

Defina o atributo collection_method como send_invoice. Para a Stripe marcar uma fatura como vencida, é preciso adicionar o parâmetro days_until_due. Quando você envia uma fatura, a Stripe envia ao cliente um e-mail com instruções de pagamento.

Command Line
cURL
curl https://api.stripe.com/v1/invoices \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d collection_method=send_invoice \ -d days_until_due=30

Em seguida, crie um item de fatura passando um id de cliente, um price de produto e um ID de fatura invoice. Adicione itens de fatura a um único cliente por vez para evitar adicioná-los ao cliente errado.

O número máximo de itens da fatura é 250.

Command Line
cURL
curl https://api.stripe.com/v1/invoiceitems \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "pricing[price]"=
{{PRICE_ID}}
\ -d invoice=
{{INVOICE_ID}}

Se você definir auto_advance como false, continue a modificar a fatura até finalizá-la. Para finalizar uma fatura provisória, use o Dashboard para pagá-la ou enviá-la ao cliente. Também é possível usar a API Finalize:

Observação

Se você criou a fatura por engano, anule-a. Você também pode marcar uma fatura como incobrável.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/invoices/
{{INVOICE_ID}}
/finalize
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Aceite pagamento de faturas

Envie a fatura para o endereço de e-mail associado ao cliente. A Stripe finaliza a fatura assim que você a envia. Muitas jurisdições consideram as faturas finalizadas um documento legal, o que impede a alteração de alguns campos. Quando você envia faturas que já foram pagas, não há referência ao pagamento no e-mail.

Observação

Quando você envia faturas que já foram pagas, o e-mail não faz referência ao pagamento. A Stripe envia faturas para o e-mail associado ao cliente.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/invoices/
{{INVOICE_ID}}
/send
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Gerenciar eventos pós-pagamento

A Stripe envia um evento invoice.paid quando o pagamento de uma fatura é concluído. Ouça este evento para garantir um execução confiável. Se a sua integração depender apenas de um retorno de chamada no lado do cliente, o cliente poderá perder a conexão antes que o retorno de chamada seja executado, o que faria com que o cliente fosse cobrado sem que seu servidor fosse notificado. Configurar a integração para ouvir eventos assíncronos também permite aceitar diferentes formas de pagamento com uma única integração.

Observação

Os pagamentos de fatura bem-sucedidos acionam os eventos invoice.paid e invoice.payment_succeeded. Os dois tipos de evento contêm os mesmos dados de fatura, por isso é necessário ouvir apenas um deles para receber notificação sobre pagamentos de fatura bem-sucedidos. A diferença é que os eventos invoice.payment_succeeded são enviados em caso de pagamentos de fatura bem-sucedidos, mas não são enviados quando você marca uma fatura como paid_out_of_band. Os eventos invoice.paid, por outro lado, são acionados em caso de pagamentos bem-sucedidos e pagamentos fora da Stripe. Como invoice.paid cobre os dois cenários, normalmente recomendamos ouvir invoice.paid em vez de invoice.payment_succeeded.

Use a ferramenta de webhook do Dashboard ou siga o início rápido do webhook para receber esses eventos e executar ações, como enviar um e-mail de confirmação do pedido ao cliente, registrar a venda em um banco de dados ou iniciar um fluxo de trabalho de envio.

Além de gerenciar o evento invoice.paid, recomendamos gerenciar dois outros eventos ao coletar pagamentos com o Payment Element:

EventoDescriçãoAção
payment_intent.processingEnviado quando um cliente inicia um pagamento, mas o pagamento ainda não foi concluído. Esse evento normalmente é enviado quando um débito bancário é iniciado. Ele é seguido por um evento invoice.paid ou invoice.payment_failed no futuro.Envie ao cliente uma confirmação do pedido que indica que o pagamento está pendente. Para produtos digitais, pode ser necessário executar o pedido antes de aguardar a conclusão do pagamento.
invoice.payment_failedEnviado quando um cliente tenta pagar uma fatura, mas o pagamento falha.Se um pagamento passou de processing para payment_failed, ofereça ao cliente outra tentativa para pagar.

OpcionalPersonalizar uma fatura

Veja também

  • Pós-finalização
  • Usar webhooks de entrada para obter atualizações em tempo real
Esta página foi útil?
SimNão
Precisa de ajuda? Fale com o suporte.
Participe do nosso programa de acesso antecipado.
Confira nosso changelog.
Dúvidas? Fale com a equipe de vendas.
LLM? Read llms.txt.
Powered by Markdoc
Code quickstart
Guias relacionados
Como funciona o Invoicing
API Invoicing
Página da fatura hospedada
Produtos usados
Invoicing