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
    Visão geral
    Como funcionam as assinaturas
    Comece já
    Início rápido
    Planejar uma integração
    Criar uma integração
    Casos de uso
    Sobre assinaturas
    Ativar o modo de faturamento
    Configurar eventos da assinatura
    Direitos
    Faturas de assinatura
    Cronogramas de assinatura
    Modelos de preço recorrente
    SCA (autenticação forte de cliente)
    Configurar assinaturas
    Configurar métodos de cobrança
    Incorporar uma tabela de preços
    Defina ciclos de faturamento
    Gerenciar assinaturas
    Migrar assinaturas para a Stripe
    Definir quantidade de produtos ou assinaturas
    Assinaturas de intervalo misto
    Inicie assinaturas com data passada
    Definir períodos de avaliação
    Lidar com assinaturas com pagamento diferido
    Aplicar cupons
    Modifique assinaturas
    Gerenciar formas de pagamento de assinatura
      Débito automático ACH
      Amazon Pay
      Débito automático Bacs no Reino Unido
      Transferência bancária
      Débito automático BECS na Austrália
      Cash App Pay
      Klarna
      PayPal
      Revolut Pay
      Cartões coreanos
      Kakao Pay
      Naver Pay
      Débito pré-autorizado no Canadá
      Débito automático SEPA na UE
      iDEAL com débito automático SEPA
      Bancontact com débito automático SEPA
    Análises
    Gerenciar assinaturas no iOS
Invoicing
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 inicialReceitaSubscriptionsManage subscription payment methods

Configure uma assinatura com o débito automático SEPA

Saiba como criar e cobrar uma assinatura com o débito automático SEPA.

Saiba como criar e cobrar uma assinatura com o débito automático SEPA.

Observação

Se você for um novo usuário, use o Payment Element, em vez de usar Stripe Elements como descrito neste guia. O Payment Element fornece um caminho de integração low-code com otimizações de conversão integradas. Veja instruções em Criar uma assinatura.

Criar produto e preço
Dashboard

Produtos representam o item ou serviço que você está vendendo. Preços definem quanto e com que frequência você cobra por um produto. Você estabelece quanto custa o produto, qual moeda você aceita e se a cobrança é avulsa ou recorrente. Se você tiver apenas alguns produtos e preços, crie e gerencie-os no Dashboard.

Este guia usa um serviço de banco de imagens como exemplo e cobra dos clientes uma assinatura mensal de 15 EUR. Para modelar isso:

  1. Vá para a página Produtos e clique em Criar produto.
  2. Insira um Nome para o produto. Opcionalmente, você pode adicionar uma Descrição e fazer o upload de uma imagem do produto.
  3. Selecione um Código fiscal de produto. Saiba mais sobre códigos fiscais de produto.
  4. Selecione Recorrente. Em seguida, insira 15 como preço e selecione EUR como moeda.
  5. Escolha se deseja Incluir imposto no preço. Você pode usar o valor padrão das suas configurações fiscais ou definir o valor manualmente. Neste exemplo, selecione Automático.
  6. Em Período de faturamento, selecione Mensal.
  7. Clique em Mais opções de planos de preços. Em seguida, selecione Taxa fixa como o modelo de preço para este exemplo. Saiba mais sobre taxa fixa e outros modelos de planos de preços.
  8. Adicione uma Descrição de preço interna e uma Chave de pesquisa para organizar, consultar e atualizar preços específicos no futuro.
  9. Clique em Próximo. Em seguida, clique em Adicionar produto.

Depois de criar o produto e o preço, registre o ID do preço para utilizá-lo nas etapas subsequentes. A página de preços exibe o ID, que tem esta estrutura: price_G0FvDp6vZvdwRZ.

Criar um cliente
Lado do servidor

Uma assinatura precisa de um cliente para que possa reutilizar formas de pagamento e acompanhar pagamentos recorrentes. Crie um objeto Customer quando seu cliente criar uma conta com sua empresa.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Criar a assinatura
Lado do servidor

Crie a assinatura usando os IDs de cliente e de preço. Devolva no lado do cliente o client_secret do confirmation_secret.client_secret da última fatura ou, para assinaturas que não cobram um pagamento antecipado, o pending_setup_intent. Além disso, defina:

  • Defina payment_behavior como default_incomplete para simplificar a coleta da instrução de débito automático SEPA.
  • Use save_default_payment_method para on_subscription para salvar a forma de pagamento como o padrão para a assinatura quando o pagamento for bem-sucedido. Salvar uma forma de pagamento padrão aumenta o sucesso de futuros pagamentos de assinatura.
server.rb
Rubi
Python
PHP
Java
Node.js
Pronto
.NET
No results
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
post '/create-subscription' do content_type 'application/json' data = JSON.parse(request.body.read) customer_id = cookies[:customer] price_id = data['priceId'] subscription = Stripe::Subscription.create( customer: customer_id, items: [{ price: price_id, }], payment_behavior: 'default_incomplete', payment_settings: {save_default_payment_method: 'on_subscription'}, expand: ['latest_invoice.confirmation_secret', 'pending_setup_intent'] ) if subscription.pending_setup_intent != nil { type: 'setup', clientSecret: subscription.pending_setup_intent.client_secret }.to_json else { type: 'payment', clientSecret: subscription.latest_invoice.confirmation_secret.client_secret }.to_json end end

Coletar detalhes de forma de pagamento e reconhecimento de mandato
Lado do cliente

Você já pode coletar dados de pagamento do cliente com o Stripe Elements. O Elements é um conjunto de componentes de IU pré-integrados para coletar dados de pagamento.

Um Stripe Element contém um iframe que envia com segurança os dados de pagamento para a Stripe por uma conexão HTTPS. O endereço da página de checkout também deve iniciar com https://, e não http://, para que sua integração funcione.

Você pode testar sua integração sem usar HTTPS. Habilite-o quando estiver pronto para aceitar pagamentos no modo de produção.

Configurar o Stripe Elements

O Stripe Elements é disponibilizado automaticamente como recurso do script Stripe.js, que deve ser inserido em sua página de pagamento no head do arquivo HTML. Sempre carregue o Stripe.js diretamente de js.stripe.com para manter a conformidade com PCI. Não insira o script em um pacote nem hospede sua própria cópia.

payment_setup.html
<head> <title>Submit Payment</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>

Crie uma instância do Elements com o seguinte JavaScript em sua página de pagamento:

const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const elements = stripe.elements();

Adicionar e configurar um elemento IBAN

O Elements precisa de um lugar específico em seu formulário de pagamentos. Crie nós de DOM vazios (contêineres) com IDs individuais no formulário de pagamento. Além disso, o cliente precisa ler e aceitar o mandato do débito automático SEPA.

Exiba o seguinte texto de autorização padrão para que o cliente assine implicitamente o mandato.

Substitua Rocket Rides pelo nome da sua empresa.

Authorization text template

By providing your payment information and confirming this payment, you authorise (A) and Stripe, our payment service provider, to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with those instructions. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights are explained in a statement that you can obtain from your bank. You agree to receive notifications for future debits up to 2 days before they occur.

Copiar

A configuração de uma forma de pagamento cria o mandato aceito. Como o cliente assinou implicitamente o mandato quando aceitou estes termos, você precisa comunicar esses termos em um formulário ou por e-mail.

payment_setup.html
<form action="/form" method="post" id="setup-form"> <div class="form-row inline"> <div class="col"> <label for="accountholder-name"> Name </label> <input id="accountholder-name" name="accountholder-name" placeholder="Jenny Rosen" required /> </div> <div class="col"> <label for="email"> Email Address </label> <input id="email" name="email" type="email" placeholder="jenny.rosen@example.com" required /> </div> </div> <div class="form-row"> <!-- Using a label with a for attribute that matches the ID of the Element container enables the Element to automatically gain focus when the customer clicks on the label. --> <label for="iban-element"> IBAN </label> <div id="iban-element"> <!-- A Stripe Element will be inserted here. --> </div> </div> <!-- Add the client_secret from the SetupIntent as a data attribute --> <button id="submit-button" data-secret="{CLIENT_SECRET}"> Set up SEPA Direct Debit </button> <!-- Display mandate acceptance text. --> <div id="mandate-acceptance"> By providing your payment information and confirming this payment, you authorise (A) Rocket Rides and Stripe, our payment service provider and/or PPRO, its local service provider, to send instructions to your bank to debit your account and (B) your bank to debit your account in accordance with those instructions. As part of your rights, you are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited. Your rights are explained in a statement that you can obtain from your bank. You agree to receive notifications for future debits up to 2 days before they occur. </div> <!-- Used to display form errors. --> <div id="error-message" role="alert"></div> </form>

Quando o formulário for carregado, crie uma instância do IBAN Element e monte-a no contêiner do Element:

// Custom styling can be passed to options when creating an Element. const style = { base: { color: '#32325d', fontSize: '16px', '::placeholder': { color: '#aab7c4' }, ':-webkit-autofill': { color: '#32325d', }, }, invalid: { color: '#fa755a', iconColor: '#fa755a', ':-webkit-autofill': { color: '#fa755a', }, }, }; const options = { style, supportedCountries: ['SEPA'], // Elements can use a placeholder as an example IBAN that reflects // the IBAN format of your customer's country. If you know your // customer's country, we recommend passing it to the Element as the // placeholderCountry. placeholderCountry: 'DE', }; // Create an instance of the IBAN Element const iban = elements.create('iban', options); // Add an instance of the IBAN Element into the `iban-element` <div> iban.mount('#iban-element');

Enviar os detalhes da forma de pagamento para a Stripe
Lado do cliente

Use confirmSepaDebitPayment ou, para assinaturas que não cobram pagamento antecipado, confirmSepaDebitSetup para confirmar a assinatura e criar um PaymentMethod de débito automático SEPA. Inclua o nome e endereço de e-mail do cliente nas propriedades payment_method.billing_details.

PaymentSetup.js
// Define stripe with your publishable key var stripe = Stripe('pk_test_1234'); // Get the IBAN information from your element var iban = document.getElementById('iban-element'); const form = document.getElementById('payment-form'); const accountholderName = document.getElementById('accountholder-name'); const email = document.getElementById('email'); form.addEventListener('submit', async(event) => { event.preventDefault(); // Create the subscription const res = await fetch('/create-subscription', { method: 'POST', }); const {type, clientSecret} = await res.json(); const confirmIntent = type === 'setup' ? stripe.confirmSepaDebitSetup : stripe.confirmSepaDebitPayment; const {error} = await confirmIntent({ clientSecret, { payment_method: { sepa_debit: iban, billing_details: { name: accountholderName.value, email: email.value, }, }, } }); });

Definir a forma de pagamento padrão
Lado do servidor

Você precisa armazenar uma forma de pagamento para o cliente para processar pagamentos futuros. Para isso, defina a forma de pagamento cobrada no nível superior do objeto Customer e como forma de pagamento padrão para faturas:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/customers/cus_Gk0uVzT2M4xOKD \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "invoice_settings[default_payment_method]"=pm_1F0c9v2eZvKYlo2CJDeTrB4n

Gerenciar o status da assinatura
Lado do cliente

Quando o pagamento inicial for realizado, o status da assinatura estará active e nenhuma outra ação será necessária. Quando os pagamentos falharem, o status será alterado para Status da assinatura definido nas suas configurações de cobrança automática. Notifique o cliente após uma falha e cobre-o com uma forma de pagamento diferente.

Observação

pagamentos por débito automático SEPA nunca são repetidos automaticamente, mesmo que haja um cronograma de novas tentativas configurado para outras formas de pagamento.

Testar a integração

Você pode testar a integração usando os IBANs abaixo. Os dados da forma de pagamento são coletados para todos os IBANs, mas cada um deles terá um comportamento diferente na cobrança.

IBANs de teste
Número da contaDescrição
DE89370400440532013000O status do PaymentIntent muda de processing para succeeded.
DE08370400440532013003O status do PaymentIntent muda de processing para succeeded após pelo menos três minutos.
DE62370400440532013001O status do PaymentIntent muda de processing para requires_payment_method.
DE78370400440532013004O status do PaymentIntent muda de processing para requires_payment_method após pelo menos três minutos.
DE35370400440532013002O status do PaymentIntent muda de processing para succeeded, mas uma contestação é imediatamente criada.
DE65370400440000343434O pagamento falha com um código de falha charge_exceeds_source_limit devido ao valor do pagamento fazer com que a conta exceda o limite de volume de pagamentos semanal.
DE27370400440000121212O pagamento falha com um código de falha charge_exceeds_weekly_limit quando o valor do pagamento excedeu o limite de volume de transações da conta.
DE65370400440002222227O pagamento falha com um código de falha insufficient_funds.

OpcionalDefinir o período de cobrança

Ao criar uma assinatura, ela define automaticamente o ciclo de cobrança por padrão. Por exemplo, se um cliente assina um plano mensal em 7 de setembro, ele será cobrado no dia 7 de cada mês subsequente. Algumas empresas preferem definir manualmente o ciclo de cobrança, de modo a cobrar todos os clientes ao mesmo tempo. O argumento âncora do ciclo de cobrança permite que você faça isso.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d billing_cycle_anchor=1611008505

A definição manual do ciclo de cobrança gera cobra o cliente proporcionalmente pelo tempo decorrido da criação da assinatura até o primeiro dia do ciclo de cobrança. Se não quiser cobrar esse período dos clientes, defina o argumento proration_behavior como none. Você também pode combinar a âncora do ciclo de cobrança com períodos de avaliação para oferecer acesso gratuito ao seu produto e depois cobrar um valor proporcional.

OpcionalAvaliações de assinaturas

As avaliações oferecem acesso gratuito ao seu produto por um período. Usar avaliações gratuitas é diferente de definir proration_behavior como none, porque você pode personalizar a duração do período gratuito. Passe um carimbo de data e hora em fim do teste para definir o período do teste.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "items[0][price]"=
{{PRICE_ID}}
\ -d trial_end=1610403705

Também é possível combinar uma âncora de ciclo de faturamento com um período de teste gratuito. Por exemplo, digamos que seja 15 de setembro e você queira oferecer um teste gratuito de sete dias e começar o ciclo de cobrança normal em 1º de outubro. Você pode definir o teste gratuito para terminar em 22 de setembro e a âncora do ciclo de faturamento para 1º de outubro. Assim, o cliente ganha um teste de sete dias e depois paga um valor proporcional do fim do teste até 1º de outubro. Em 1º de outubro, você cobra o valor normal da assinatura pelo primeiro ciclo de faturamento completo.

OpcionalCriar pagamentos com débito automático SEPA usando outras formas de pagamento

Você pode criar pagamentos por débito automático SEPA com outras formas de pagamento, como Bancontact, iDEAL e Sofort. Essas formas de pagamento precisam de mais algumas etapas. Para iDEAL:

  1. Use um idealBank Element para coletar informações de pagamento.
  2. Confirme a assinatura usando confirmIdealPayment ou, para assinaturas que não cobram um pagamento antecipado, confirmIdealSetup.
  3. Liste as formas de pagamento do cliente, localize a forma de pagamento por débito automático SEPA e defina-a como forma de pagamento padrão do cliente.

Para Bancontact e Sofort, substitua:

  • confirmIdealPayment para confirmBancontactPayment ou confirmSofortPayment
  • confirmIdealSetup para confirmBancontactSetup ou confirmSofortSetup
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