Las tarifas de envío te permiten mostrar varias opciones de envío, como estándar, exprés y al día siguiente, con estimaciones de entrega más precisas. Cobra a tu cliente por el envío con diferentes productos de Stripe. Antes de crear una tarifa de envío, aprende a recopilar las direcciones de pagos y de envío.
Nota
Las tarifas de envío solo admiten valores de monto fijo para todo el pedido. No puedes ajustar la tarifa de envío en función de la cantidad de artículos del pedido.
Las tarifas de envío solo admiten valores de monto fijo para todo el pedido. No puedes ajustar la tarifa de envío en función de la cantidad de artículos del pedido.
Introduce un importe, una descripción y una estimación de envío opcional.
Haz clic en Guardar y copia el ID de la tarifa de envío (shr_123456).
Introduce los datos de la tarifa de envío
Actualiza una tarifa de envío
No puedes actualizar una tarifa de envío en el Dashboard. Para actualizar una tarifa de envío en el Dashboard, debes archivarla y luego crear una nueva.
Archiva una tarifa de envío
Para archivar una tarifa de envío:
En la pestaña Tarifas de envío, selecciona la tarifa de envío aplicable.
Haz clic en el menú de contenido adicional y selecciona Archivar.
Para desarchivar la tarifa de envío, haz clic en el menú de contenido adicional y selecciona Desarchivar tarifa de envío.
Para crear una Checkout Session que incluya tu tarifa de envío, especifica el ID de la tarifa de envío generado en el parámetro shipping_options. Si quieres crear la tarifa de envío al mismo tiempo que una Checkout Session, usa el parámetro shipping_rate_data con shipping_options. Solo las Checkout Sessions en modo de pago admiten opciones de envío.
En el siguiente ejemplo de código se agregan dos opciones de envío a la Checkout Session:
Envío gratuito con entrega estimada de cinco a siete días hábiles.
Envío por Next Day Air, con un costo de USD 15.00 y una entrega estimada de un día hábil.
En este ejemplo, la primera opción de la matriz shipping_options se preselecciona para el cliente en la página de confirmación de compra. Sin embargo, los clientes pueden elegir cualquiera de las dos opciones.
Una vez que el pago se efectúa correctamente, puedes recuperar el importe del envío en el atributo amount_total del shipping_cost. También puedes recuperar la tarifa de envío seleccionada usando el atributo shipping_rate en shipping_cost. Para acceder a la propiedad shipping_cost, debes crear un controlador de eventos para administrar las Checkout Sessions completadas. Puedes probar un controlador instalando la CLI de Stripe y usando stripe listen --forward-to localhost:4242/webhook para enviar eventos a tu servidor local. En el siguiente ejemplo de código, el controlador permite que el usuario acceda a shipping_property:
Ruby
Python
PHP
Java
Node.js
Ir
.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
Puedes configurar tarifas de envío mediante una serie de combinaciones de estimaciones de envío. La siguiente tabla contiene algunos ejemplos de estimaciones de envío en lenguaje sencillo y sus correspondientes valores delivery_estimate.minimum y delivery_estimate.maximum:
Puedes usar Stripe Tax para calcular automáticamente los impuestos sobre las comisiones de envío estableciendo tax_behavior y tax_code en la tarifa de envío. Stripe Tax determina automáticamente si el envío está sujeto a impuestos, (ya que esta condición varía según el estado y el país), y aplica la tasa impositiva correcta, si corresponde.
Cuando creas una tarifa de envío con shipping_rate_data o a través de Crear una tarifa de envío, puedes agregarle los parámetros tax_behavior y tax_code.
Te recomendamos configurar el tax_code en Shipping (txcd_92010001) para asegurarte de que siempre cobres el impuesto que corresponde. También puedes configurar la tarifa de envío tax_code en Nontaxable (txcd_00000000) si no quieres cobrar impuestos.
En este ejemplo, establecemos tax_behavior en exclusive, que es habitual en los EE. UU. Obtén más información sobre el comportamiento fiscal.
En la página de confirmación de compra, tu cliente puede ver el importe del impuesto calculado para la tarifa de envío incluido en el impuesto total sobre las ventas:
Importe del impuesto calculado para la tarifa de envío en la página de confirmación de compra