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.
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.
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/apikeysStripe.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)rescueJSON::ParserError=> e
# Invalid payloadreturn status 400rescueStripe::SignatureVerificationError=> e
# Invalid signaturereturn status 400endif event['type']=='checkout.session.completed'
checkout_session = event['data']['object']
fulfill_order(checkout_session)end
status 200enddeffulfill_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...raiseNotImplementedError.new(<<~MSG)Given the CheckoutSession"#{checkout_session.id}" load your internal order from the database then implement your own fulfillment logic.MSGend
É 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:
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.