Ir a contenido
Crea una cuenta
o
inicia sesión
Logotipo de la documentación de Stripe
/
Pregúntale a la IA
Crear cuenta
Iniciar sesión
Empezar
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores
Resumen
Acerca de Stripe Payments
Actualiza tu integración
Análisis de pagos
Pagos por Internet
ResumenEncuentra tu caso de usoManaged Payments
Utiliza Payment Links
Crear una página del proceso de compra
    Resumen
    Guías de inicio rápido
    Personaliza el estilo
    Recolecta información adicional
      Recopila direcciones físicas
      Cobra por el envío
      Recopila los números de teléfono
      Añadir campos personalizados
      Obtener el consentimiento para correos electrónicos promocionales
    Cobrar impuestos
    Actualiza forma dinámica el proceso de compra
    Gestiona tu catálogo de productos
    Suscripciones
    Gestiona los métodos de pago
    Permite que los clientes paguen en su divisa local
    Añade descuentos, ventas de productos de más valor y artículos opcionales
    Configurar pagos futuros
    Guardar datos de pago durante el pago
    Acepta pagos manualmente en tu servidor
    Después del pago
    Elements con registro de cambios beta de la API Checkout Sessions
    Migrar desde Checkout heredado
    Migrar Checkout para usar precios
Desarrolla una integración avanzada
Desarrolla una integración en la aplicación
Métodos de pago
Añadir métodos de pago
Gestiona los métodos de pago
Proceso de compra más rápido con Link
Interfaces de pago
Payment Links
Checkout
Elements para la web
In-app Payments
Escenarios de pago
Administrar múltiples divisas
Flujos de pagos personalizados
Capacidad adquirente flexible
Orquestación
Pagos en persona
Terminal
Más allá de los pagos
Constituye tu empresa
Criptomonedas
Financial Connections
Climate
Comprender el fraude
Protección antifraude de Radar
Gestiona disputas
Verificar identidades
InicioPagosBuild a checkout pageCollect additional information

Cobra por el envío

Crea diferentes tarifas de envío para tus clientes.

Las tarifas de envío te permiten mostrar distintas opciones de envío, como estándar, urgente y al día siguiente, con estimaciones de entrega más precisas. Cobra a tu cliente por el envío utilizando diferentes productos de Stripe. Antes de crear una tasa de envío, descubre cómo recopilar las direcciones de facturación y envío.

Nota

Las tasas de envío solo admiten valores de importe fijos para todo el pedido. No puedes ajustar la tasa de envío en función del número de artículos del pedido.

Crear una tarifa de envío
Dashboard
Lado del servidor

Nota

Las tasas de envío solo admiten valores de importe fijos para todo el pedido. No puedes ajustar la tasa de envío en función del número de artículos del pedido.

Para añadir una tarifa de envío usando el Dashboard, haz lo siguiente:

  1. Haz clic en Crear tarifa de envío.
  2. Introduce un importe, una descripción y una estimación de envío opcional.
  3. Haz clic en Guardar y copia el ID de la tarifa de envío (shr_123456).

Introduce los datos de tu 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:

  1. En la pestaña Tarifas de envío, selecciona la tarifa de envío aplicable.
  2. Haz clic en el menú de desbordamiento y selecciona Archivar.

Para desarchivar la tarifa de envío, haz clic en el menú de desbordamiento y selecciona Desarchivar tarifa de envío.

Crear una Checkout Session
Lado del servidor

Para crear una sesión de Checkout que incluya tu tarifa de envío, pasa el ID de la tarifa de envío generado al parámetro shipping_options. Si quieres crear la tasa de envío al mismo tiempo que una sesión de Checkout, usa el parámetro shipping_rate_data con shipping_options. Solo Checkout Sessions en modo de pago aceptan opciones de envío.

En el siguiente ejemplo de código, se añaden dos opciones de envío a la sesión de Checkout:

  • Envío gratuito, con una entrega estimada de 5 a 7 días hábiles.
  • Next Day Air, con un coste de 15,00 USD y una entrega estimada de un día hábil.

En este ejemplo, la primera opción de la matriz shipping_options está elegida previamente para el cliente en la página del proceso de compra. Sin embargo, los clientes pueden elegir cualquiera de las dos opciones.

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"

Si se realiza correctamente, el selector de envíos aparece en tu página del proceso de compra:

El selector de envíos en la página del proceso de compra

El selector de envíos en la página del proceso de compra

OpcionalGestiona transacciones completadas

Una vez que el pago se realiza 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 elegida con el atributo shipping_rate en shipping_cost. Para acceder a la propiedad shipping_cost, debes crear un controlador de eventos para gestionar Checkout Sessions completadas. Puedes probar un controlador instalando la CLI de Stripe y utilizando stripe listen --forward-to localhost:4242/webhook para reenviar eventos a tu servidor local. En el siguiente ejemplo de código, el controlador permite que el usuario acceda al 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

OpcionalDefine una estimación de entrega

Puedes configurar tarifas de envío usando una serie de combinaciones de estimación de envío. La siguiente tabla contiene algunos ejemplos de estimaciones de envío y sus correspondientes valores de delivery_estimate.minimum y delivery_estimate.maximum:

Estimación de entregaCantidad mínimaCantidad máxima
1 día
{ unit: 'day', value: 1, }
{ unit: 'day', value: 1, }
1 día hábil
{ unit: 'business_day', value: 1, }
{ unit: 'business_day', value: 1, }
Al menos 2 días hábiles
{ unit: 'business_day', value: 2, }
null
De 3 a 7 días
{ unit: 'day', value: 3, }
{ unit: 'day', value: 7, }
De 4 a 8 horas
{ unit: 'hour', value: 4, }
{ unit: 'hour', value: 8, }
De 4 horas a 2 días hábiles
{ unit: 'hour', value: 4, }
{ unit: 'business_day', value: 2, }

OpcionalCobrar impuesto por envío

Puedes usar Stripe Tax para calcular impuestos automáticamente sobre las comisiones de envío configurando un tax_code y un tax_behavior 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 el tipo impositivo correcto, en su caso.

Al crear una tarifa de envío con shipping_rate_data o a través de Crear una tarifa de envío, puedes añadir los parámetros tax_behavior y tax_code a la tarifa de envío.

Te recomendamos que definas el tax_code en Shipping (txcd_92010001) para asegurarte de que siempre cobres el impuesto que corresponde. También puedes establecer la tasa de envío tax_code como Nontaxable (txcd_00000000) si no quieres cobrar impuestos.

En este ejemplo, establecimos tax_behavior en exclusive, que es lo habitual en los EE. UU. Más información sobre el comportamiento 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"

En la página del proceso de compra, tu cliente puede ver el importe del impuesto calculado para la tasa de envío incluido en el total del impuesto sobre las ventas:

Importe del impuesto calculado para la tarifa de envío en la página del proceso de compra

Importe del impuesto calculado para la tarifa de envío en la página del proceso de compra

¿Te ha sido útil la página?
SíNo
  • ¿Necesitas ayuda? Ponte en contacto con el equipo de soporte.
  • Únete a nuestro programa de acceso anticipado.
  • Echa un vistazo a nuestro registro de cambios.
  • ¿Tienes alguna pregunta? Ponte en contacto con el equipo de ventas.
  • ¿LLM? Lee llms.txt.
  • Con tecnología de Markdoc