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
Sobre os pagamentos da Stripe
Atualize sua integração
Análise de pagamentos
Pagamentos online
Visão geralEncontre seu caso de usoPagamentos gerenciados
Usar Payment Links
Crie uma página de checkout
    Visão geral
    Inícios rápidos
    Personalizar a aparência
    Coletar informações adicionais
      Coletar endereços físicos
      Cobrar a tarifa de envio
      Coletar números de telefone
      Adicionar campos personalizados
      Obter autorização para e-mails promocionais
    Colete impostos
    Atualizar checkout dinamicamente
    Gerencie seu catálogo de produtos
    Assinaturas
    Gerenciar formas de pagamento
    Permita que os clientes paguem na moeda local
    Adicione descontos, upsells e itens opcionais
    Configurar pagamentos futuros
    Salvar dados de pagamento durante o pagamento
    Aprovar manualmente pagamentos no servidor
    Após o pagamento
    Elements com changelog beta da API Checkout Sessions
    Migrar do Checkout antigo
    Migrar o Checkout para usar Prices
Criar uma integração avançada
Crie uma integração no aplicativo
Formas de pagamento
Adicionar formas de pagamento
Gerenciar formas de pagamento
Checkout mais rápido com o Link
Interfaces de pagamento
Payment Links
Checkout
Web Elements
In-app Payments
Cenários de pagamento
Gerenciar várias moedas
Fluxos de pagamento personalizados
Aquisição flexível
Orquestração
Pagamentos presenciais
Terminal
Muito mais que pagamentos
Abra sua empresa
Cripto
Financial Connections
Climate
Entenda as fraudes
Proteção contra fraudes do Radar
Gerenciar contestações
Verificar identidades
Página inicialPagamentosBuild a checkout pageCollect additional information

Cobrar a tarifa de envio

Crie tarifas de envio diferentes para os clientes.

As taxas de envio permitem exibir várias opções de remessa, como padrão, expressa e dia seguinte, com estimativas de entrega mais precisas. Cobre o cliente pelo envio usando diferentes produtos Stripe. Antes de criar uma taxa de envio, saiba como coletar endereços de cobrança e entrega.

Observação

As tarifas de envio só aceitam valores fixos para todo o pedido. Não é possível ajustar a taxa de envio com base no número de itens no pedido.

Criar taxa de envio
Dashboard
Lado do servidor

Observação

As tarifas de envio só aceitam valores fixos para todo o pedido. Não é possível ajustar a taxa de envio com base no número de itens no pedido.

Para adicionar um tarifa de frete usando o Dashboard:

  1. Clique em Criar tarifa de envio.
  2. Insira um valor, uma descrição e, opcionalmente, um prazo estimado de entrega.
  3. Clique em Salvar e copie o ID da tarifa de envio (shr_123456).

Insira os detalhes da tarifa de envio

Atualizar uma tarifa de envio

Não é possível atualizar uma taxa de envio no Dashboard. Para atualizar uma taxa de envio no Dashboard, arquive a taxa de envio e crie uma nova.

Arquivar uma taxa de envio

Para arquivar uma taxa de envio:

  1. Na guia Taxas de envio, selecione a taxa de envio aplicável.
  2. Clique no menu de navegação e selecione Arquivar.

Para desarquivar a taxa de envio, clique no menu de navegação e selecione Desarquivar taxa de envio.

Criar uma sessão do Checkout
Lado do servidor

Para criar uma sessão do Checkout que inclua sua taxa de envio, passe o ID da taxa de envio gerada para o parâmetro shipping_options. Se quiser criar a taxa de envio ao mesmo tempo que uma sessão do Checkout, use o parâmetro shipping_rate_data com shipping_options. Somente sessões do Checkout no modo pagamento aceitam opções de envio.

O exemplo de código a seguir adiciona duas opções de envio à sessão do Checkout:

  • Frete grátis, com uma entrega estimada de 5 a 7 dias úteis.
  • Transporte aéreo no dia seguinte, a um custo de US$ 15,00, com uma entrega estimada em exatamente 1 dia útil.

Neste exemplo, a primeira opção na matriz shipping_options é pré-selecionada para o cliente na página de checkout. No entanto, os clientes podem escolher qualquer uma das opções.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "shipping_address_collection[allowed_countries][0]"=US \ -d "shipping_address_collection[allowed_countries][1]"=CA \ -d "shipping_options[0][shipping_rate_data][type]"=fixed_amount \ -d "shipping_options[0][shipping_rate_data][fixed_amount][amount]"=0 \ -d "shipping_options[0][shipping_rate_data][fixed_amount][currency]"=usd \ -d "shipping_options[0][shipping_rate_data][display_name]"="Free shipping" \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]"=business_day \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]"=5 \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]"=business_day \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]"=7 \ -d "shipping_options[1][shipping_rate_data][type]"=fixed_amount \ -d "shipping_options[1][shipping_rate_data][fixed_amount][amount]"=1500 \ -d "shipping_options[1][shipping_rate_data][fixed_amount][currency]"=usd \ -d "shipping_options[1][shipping_rate_data][display_name]"="Next day air" \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]"=business_day \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]"=1 \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]"=business_day \ -d "shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]"=1 \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ --data-urlencode success_url="https://example.com/success"

Se funcionar, o seletor de envio aparecerá na página de checkout:

O seletor de envio na página de checkout

O seletor de envio na página de checkout

OpcionalGerenciar transações concluídas

Após a conclusão do pagamento, você pode acessar o valor de frete no atributo amount_total do shipping_cost. Você também pode recuperar a tarifa de envio selecionada usando o atributo shipping_rate em shipping_cost. Para acessar a propriedade shipping_cost, você deve criar um gerenciador de eventos para gerenciar sessões do Checkout concluídas. Você pode testar um gerenciador instalando o Stripe CLI e usando stripe listen --forward-to localhost:4242/webhook para encaminhar eventos ao seu servidor local. No exemplo de código a seguir, o manipulador permite que o usuário acesse shipping_property:

Ruby
Python
PHP
Java
Node.js
Go
.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"
require 'sinatra' # You can find your endpoint's secret in your webhook settings endpoint_secret = 'whsec_...' post '/webhook' do event = nil # Verify webhook signature and extract the event # See https://stripe.com/docs/webhooks#verify-events for more information. begin sig_header = request.env['HTTP_STRIPE_SIGNATURE'] payload = request.body.read event = Stripe::Webhook.construct_event(payload, sig_header, endpoint_secret) rescue JSON::ParserError => e # Invalid payload return status 400 rescue Stripe::SignatureVerificationError => e # Invalid signature return status 400 end if event['type'] == 'checkout.session.completed' checkout_session = event['data']['object'] fulfill_order(checkout_session) end status 200 end def fulfill_order(checkout_session) selected_shipping_rate = Stripe::ShippingRate.retrieve(checkout_session.shipping_cost.shipping_rate) shipping_total = checkout_session.shipping_cost.amount_total # TODO: Remove error and implement... raise NotImplementedError.new(<<~MSG) Given the Checkout Session "#{checkout_session.id}" load your internal order from the database then implement your own fulfillment logic. MSG end

OpcionalDefinir uma estimativa de entrega

É possível configurar tarifas de frete usando uma série de combinações de estimativa de entrega. A tabela a seguir contém alguns exemplos de estimativas de entrega em inglês simples e seus valores correspondentes para delivery_estimate.minimum e delivery_estimate.maximum:

Estimativa de entregaMínimoMáximo
1 dia
{ unit: 'day', value: 1, }
{ unit: 'day', value: 1, }
1 dia útil
{ unit: 'business_day', value: 1, }
{ unit: 'business_day', value: 1, }
No mínimo 2 dias úteis
{ unit: 'business_day', value: 2, }
null
3 a 7 dias
{ unit: 'day', value: 3, }
{ unit: 'day', value: 7, }
4 a 8 horas
{ unit: 'hour', value: 4, }
{ unit: 'hour', value: 8, }
4 horas a 2 dias úteis
{ unit: 'hour', value: 4, }
{ unit: 'business_day', value: 2, }

OpcionalCobrar o imposto da tarifa de envio

Use o Stripe Tax para calcular automaticamente o imposto sobre tarifas de envio, definindo um tax_code e tax_behavior na sua tarifa de envio. O Stripe Tax decide automaticamente se o envio é tributável (a tributação depende do estado e do país) e aplica a alíquota correta, se houver.

Ao criar uma tarifa de envio com shipping_rate_data ou usando Criar tarifa de envio, é possível adicionar os parâmetros tax_behavior e tax_code à tarifa de envio.

Recomendamos configurar tax_code como Shipping (txcd_92010001) para garantir a cobrança correta de impostos. Você também pode definir o tax_code da tarifa de envio como Nontaxable (txcd_00000000) se não quiser cobrar imposto.

Neste exemplo, definimos o tax_behavior como exclusive, o que é comum nos EUA. Saiba mais sobre comportamento fiscal.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d billing_address_collection=required \ -d "shipping_address_collection[allowed_countries][0]"=US \ -d "shipping_address_collection[allowed_countries][1]"=CA \ -d "shipping_options[0][shipping_rate_data][type]"=fixed_amount \ -d "shipping_options[0][shipping_rate_data][fixed_amount][amount]"=0 \ -d "shipping_options[0][shipping_rate_data][fixed_amount][currency]"=usd \ -d "shipping_options[0][shipping_rate_data][display_name]"="Free shipping" \ -d "shipping_options[0][shipping_rate_data][tax_behavior]"=exclusive \ -d "shipping_options[0][shipping_rate_data][tax_code]"=txcd_92010001 \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][unit]"=business_day \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][minimum][value]"=5 \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][unit]"=business_day \ -d "shipping_options[0][shipping_rate_data][delivery_estimate][maximum][value]"=7 \ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][price_data][tax_behavior]"=exclusive \ -d "line_items[0][quantity]"=1 \ -d "automatic_tax[enabled]"=true \ -d mode=payment \ --data-urlencode success_url="https://example.com/success"

Seu cliente pode ver o valor calculado do imposto sobre a tarifa de envio incluído no total do imposto sobre vendas na página de checkout:

Valor do imposto calculado para a tarifa de envio na página de checkout

Valor do imposto calculado para a tarifa de envio na página de checkout

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