# Cobra impuestos Cómo cobrar impuestos por pagos únicos en Stripe Checkout. # Full hosted page > This is a Full hosted page for when payment-ui is stripe-hosted. View the full page at https://docs.stripe.com/payments/checkout/taxes?payment-ui=stripe-hosted. Stripe Tax te permite calcular los impuestos de tus pagos únicos y recurrentes al usar Checkout. Puedes habilitar Stripe Tax para que calcule automáticamente los impuestos de todas las compras y suscripciones de Checkout. > #### Transferir la responsabilidad de impuestos a Stripe > > Si vendes productos digitales, [Managed Payments](https://docs.stripe.com/payments/managed-payments/tax-compliance.md) te permite transferir la responsabilidad de impuestos a Stripe, por lo que Stripe es directamente responsable de gestionar el impuesto sobre las ventas, el IVA o el GST a nivel global. Como solución de comerciante registrado, Managed Payments también se encarga de la prevención de fraude, la gestión de disputas y el soporte al cliente en todas las transacciones. ## Crea una sesión de Checkout Puedes crear sesiones de Checkout para compras únicas y recurrentes. Para calcular los impuestos de los nuevos clientes, Checkout valida y utiliza la dirección de envío o de facturación provista. En el caso de los clientes existentes, para calcular los impuestos, Checkout valida y usa la dirección de envío o de facturación asociada al cliente. Si capturas una nueva dirección de facturación o de envío de un cliente existente, Checkout no reemplaza de forma automática la información anterior de facturación o de envío, sino que deberás pedir el cambio de dirección del cliente de forma expresa. ### Apple Pay y Google Pay Si deseas asegurarte de que Google Pay se ofrezca como método de pago mientras usas Stripe Tax en el proceso de compra, debes solicitar una dirección de envío o proporcionar a un cliente existente una dirección de envío guardada. Apple Pay con Stripe Tax solo se muestra cuando el navegador del cliente admite la versión 12 de Apple Pay o posterior. ## Calcula impuestos para clientes nuevos Si al crear la sesión, no especificas que el cliente ya existe, Checkout creará un nuevo cliente y automáticamente guardará la dirección de pago y los datos de envío. Checkout utiliza la dirección de envío para determinar la ubicación del cliente y calcular los impuestos. Si no recopilas los datos de envío, Checkout utilizará la dirección de pago. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` ## Optional: Actualiza los productos y precios Stripe Tax utiliza la información almacenada en los *productos* (Products represent what your business sells—whether that's a good or a service) y los *precios* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions) para calcular los impuestos, como el *código fiscal* (A tax code is the category of your product for tax purposes) y el *comportamiento fiscal* (Tax behavior determines whether you want to include taxes in the price ("inclusive") or add them on top ("exclusive")). Si no especificas explícitamente estas configuraciones, Stripe Tax utilizará el código fiscal predeterminado seleccionado en la [Configuración de impuestos](https://dashboard.stripe.com/settings/tax). Para obtener más información, consulta [Especificar códigos de impuestos de productos y comportamiento impuestos](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md). ## Optional: Calcula impuestos para clientes existentes Para calcular impuestos en la sesión de Checkout de un cliente existente, establece el parámetro `automatic_tax[enabled]` en `true` al crear la sesión. Para el cálculo de impuestos, puedes tomar las direcciones del cliente ya existentes o las nuevas recopiladas durante el proceso de compra: ### Usa las direcciones existentes del cliente para calcular impuestos Si ya recopilaste las direcciones de los clientes existentes, puedes basar los cálculos de impuestos en esas direcciones y no en las direcciones recopiladas durante el proceso de compra: > #### Usa la API Accounts v2 para representar a los clientes > > La API Accounts v2 suele estar disponible para usuarios Connect y en versión preliminar pública para otros usuarios de Stripe. Si eres parte de la versión preliminar Accounts v2, debes especificar una [versión preliminar](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning) en tu código. > > Para solicitar el acceso a la versión preliminar Accounts v2, > > Para la mayoría de los casos de uso, recomendamos [modelar a tus clientes como objetos Account configurados por el cliente](https://docs.stripe.com/connect/use-accounts-as-customers.md) en lugar de usar objetos [Customer](https://docs.stripe.com/api/customers.md). #### Accounts v2 Si está disponible, Checkout utiliza [configuration.customer.shipping.address](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-shipping-address) del cliente para calcular los impuestos. De lo contrario, utiliza la dirección de facturación del cliente ([identity.individual.address](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-identity-individual-address) o [identity.business_details.address](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-identity-business_details-address)). Puedes verificar que las direcciones guardadas del cliente sean válidas comprobando que [configuration.customer.capabilities.automatic_indirect_tax.status](https://docs.stripe.com/api/v2/core/accounts/retrieve.md#v2_retrieve_accounts-response-configuration-customer-capabilities-automatic_indirect_tax-status) esté `activo`. Esta propiedad solo está disponible después de que solicites la funcionalidad estableciendo [configuration.customer.capabilities.automatic_indirect_tax.requested](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer-capabilities-automatic_indirect_tax-requested) en verdadero. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### Customers v1 Si está disponible, Checkout utiliza [shipping.address](https://docs.stripe.com/api/customers/object.md#customer_object-shipping-address) del cliente para calcular los impuestos. De lo contrario, utiliza la dirección de facturación ([address](https://docs.stripe.com/api/customers/object.md#customer_object-address)) del cliente para calcular los impuestos. Puedes verificar que las direcciones guardadas de un cliente sean válidas comprobando su propiedad [tax.automatic_tax](https://docs.stripe.com/api/customers/object.md#customer_object-tax-automatic_tax). Si se `admite` `tax.automatic_tax` o `not_collecting`, las direcciones guardadas del cliente son válidas y puedes habilitar Stripe Tax en sesiones de Checkout para ese cliente. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` ### Usa las direcciones recopiladas durante el proceso de compra para el cálculo de impuestos Puedes configurar Checkout para guardar las nuevas direcciones de pago o de envío del cliente. En este caso, Checkout calcula los impuestos utilizando las direcciones introducidas durante el proceso de compra. #### Accounts v2 Si [recopilas direcciones de envío](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-shipping_address_collection), Checkout guarda la dirección de envío ingresada durante la sesión en la propiedad [configuration.customer.shipping](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-shipping) del cliente y la usa para calcular los impuestos. De lo contrario, Checkout guarda la dirección de facturación ingresada durante la sesión en la propiedad [identity.individual.address](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-identity-individual-address) del cliente y la usa para calcular los impuestos. En ambos casos, la dirección ingresada durante el proceso de compra reemplaza cualquier dirección existente. Si recopilas direcciones de envío con Checkout, establece la propiedad `customer_update.shipping` en `auto`. De esta manera, los datos de envío se copian de forma automática de Checkout a `Account` del cliente. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "customer_update[shipping]=auto" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` Si no recopilas direcciones de envío con Checkout y quieres que Stripe Tax utilice las direcciones de facturación ingresadas durante el proceso de compra, debes guardar la dirección de facturación en el cliente. Establece la `propiedad customer_update.address` en `auto` para copiar de forma automática la dirección ingresada en `Account` del cliente. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "customer_update[address]=auto" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` #### Customers v1 Si [recopilas direcciones de envío](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-shipping_address_collection), Checkout guarda la dirección de envío ingresada durante la sesión en la propiedad [shipping.address](https://docs.stripe.com/api/customers/object.md#customer_object-shipping-address) del cliente y la utiliza para calcular los impuestos. De lo contrario, Checkout guarda la dirección de facturación ingresada durante la sesión en la propiedad [address](https://docs.stripe.com/api/customers/object.md#customer_object-address) del cliente y la utiliza para calcular los impuestos. En ambos casos, la dirección ingresada durante el proceso de compra reemplaza cualquier dirección existente. Si recopilas direcciones de envío con Checkout, establece la propiedad `customer_update.shipping` en `auto`. De esta manera, los datos de envío se copian de forma automática de Checkout al cliente. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d "customer_update[shipping]=auto" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` Si no recopilas direcciones de envío con Checkout y quieres usar las direcciones de facturación introducidas durante el proceso de compra para el cálculo de impuestos, debes guardar la dirección de facturación en el cliente. Establece la propiedad `client_update.address` en `auto` para copiar de forma automática la dirección introducida en `Customer`. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d "customer_update[shipping]=auto" \ -d mode=payment \ --data-urlencode "success_url=https://example.com/success" ``` ## Optional: Revisa la respuesta Para ver los resultados del último cálculo de impuestos, la propiedad [total_details.amount_tax](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-total_details) del recurso de la sesión de Checkout muestra el importe de impuestos calculado. Además, puedes usar el [Dashboard](https://dashboard.stripe.com/) para ver el efecto fiscal de cada pago. # Full embedded page > This is a Full embedded page for when payment-ui is embedded-page. View the full page at https://docs.stripe.com/payments/checkout/taxes?payment-ui=embedded-page. Stripe Tax te permite calcular los impuestos de tus pagos únicos y recurrentes al usar Checkout. Puedes habilitar Stripe Tax para que calcule automáticamente los impuestos de todas las compras y suscripciones de Checkout. > #### Transferir la responsabilidad de impuestos a Stripe > > Si vendes productos digitales, [Managed Payments](https://docs.stripe.com/payments/managed-payments/tax-compliance.md) te permite transferir la responsabilidad de impuestos a Stripe, por lo que Stripe es directamente responsable de gestionar el impuesto sobre las ventas, el IVA o el GST a nivel global. Como solución de comerciante registrado, Managed Payments también se encarga de la prevención de fraude, la gestión de disputas y el soporte al cliente en todas las transacciones. ## Crea una sesión de Checkout Después de actualizar los productos y precios, ya tienes todo listo para empezar a calcular impuestos en tus sesiones de Checkout. Puedes crear sesiones para compras únicas y recurrentes. Para calcular los impuestos de los nuevos clientes, Checkout valida y utiliza la dirección de envío o de pago provista. En el caso de los clientes existentes, para calcular los impuestos, Checkout valida y usa la dirección de envío o de pago asociada al cliente. Si capturas una nueva dirección de pago o de envío de un cliente existente, Checkout no reemplazará automáticamente la información anterior de pago o de envío, sino que deberás pedir el cambio de dirección del cliente en forma expresa. ### Apple Pay y Google Pay Si deseas asegurarte de que Google Pay se ofrezca como método de pago mientras usas Stripe Tax en el proceso de compra, debes solicitar una dirección de envío o proporcionar a un cliente existente una dirección de envío guardada. Apple Pay con Stripe Tax solo se muestra cuando el navegador del cliente admite la versión 12 de Apple Pay o posterior. ## Calcula impuestos para clientes nuevos Si al crear la sesión, no especificas que el cliente ya existe, Checkout creará un nuevo cliente y automáticamente guardará la dirección de pago y los datos de envío. Checkout utiliza la dirección de envío para determinar la ubicación del cliente y calcular los impuestos. Si no recopilas los datos de envío, Checkout utilizará la dirección de pago. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` ## Optional: Actualiza los productos y precios Stripe Tax utiliza la información almacenada en los *productos* (Products represent what your business sells—whether that's a good or a service) y los *precios* (Prices define how much and how often to charge for products. This includes how much the product costs, what currency to use, and the interval if the price is for subscriptions) para calcular los impuestos, como el *código fiscal* (A tax code is the category of your product for tax purposes) y el *comportamiento fiscal* (Tax behavior determines whether you want to include taxes in the price ("inclusive") or add them on top ("exclusive")). Si no especificas explícitamente estas configuraciones, Stripe Tax utilizará el código fiscal predeterminado seleccionado en la [Configuración de impuestos](https://dashboard.stripe.com/settings/tax). Para obtener más información, consulta [Especificar códigos de impuestos de productos y comportamiento impuestos](https://docs.stripe.com/tax/products-prices-tax-codes-tax-behavior.md). ## Optional: Calcula impuestos para clientes existentes Para calcular impuestos en la sesión de Checkout de un cliente existente, establece el parámetro `automatic_tax.enabled` en verdadero al crear la sesión. Para el cálculo de impuestos, puedes tomar las direcciones del cliente ya existentes o las nuevas recopiladas durante el proceso de compra: > #### Usa la API Accounts v2 para representar a los clientes > > La API Accounts v2 suele estar disponible para usuarios Connect y en versión preliminar pública para otros usuarios de Stripe. Si eres parte de la versión preliminar Accounts v2, debes especificar una [versión preliminar](https://docs.stripe.com/api-v2-overview.md#sdk-and-api-versioning) en tu código. > > Para solicitar el acceso a la versión preliminar Accounts v2, > > Para la mayoría de los casos de uso, recomendamos [modelar a tus clientes como objetos Account configurados por el cliente](https://docs.stripe.com/connect/use-accounts-as-customers.md) en lugar de usar objetos [Customer](https://docs.stripe.com/api/customers.md). ### Usa las direcciones existentes del cliente para calcular impuestos Si ya recopilaste las direcciones de los clientes existentes, puedes basar los cálculos de impuestos en esas direcciones y no en las direcciones recopiladas durante el proceso de compra: #### Accounts v2 Si está disponible, Checkout utiliza [configuration.customer.shipping.address](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-shipping-address) del cliente para calcular los impuestos. De lo contrario, utiliza la dirección de facturación del cliente ([identity.individual.address](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-identity-individual-address) o [identity.business_details.address](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-identity-business_details-address)). Puedes verificar que las direcciones guardadas del cliente sean válidas comprobando que [configuration.customer.capabilities.automatic_indirect_tax.status](https://docs.stripe.com/api/v2/core/accounts/retrieve.md#v2_retrieve_accounts-response-configuration-customer-capabilities-automatic_indirect_tax-status) esté `activo`. Esta propiedad solo está disponible después de que solicites la funcionalidad estableciendo [configuration.customer.capabilities.automatic_indirect_tax.requested](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer-capabilities-automatic_indirect_tax-requested) en verdadero. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` #### Customers v1 Si está disponible, Checkout utiliza [shipping.address](https://docs.stripe.com/api/customers/object.md#customer_object-shipping-address) del cliente para calcular los impuestos. De lo contrario, utiliza la dirección de facturación ([address](https://docs.stripe.com/api/customers/object.md#customer_object-address)) del cliente para calcular los impuestos. Puedes verificar que las direcciones guardadas de un cliente sean válidas comprobando su propiedad [tax.automatic_tax](https://docs.stripe.com/api/customers/object.md#customer_object-tax-automatic_tax). Si se `admite` `tax.automatic_tax` o `not_collecting`, las direcciones guardadas del cliente son válidas y puedes habilitar Stripe Tax en sesiones de Checkout para ese cliente. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` ### Usa las direcciones recopiladas durante el proceso de compra para el cálculo de impuestos Puedes configurar Checkout para guardar las nuevas direcciones de pago o de envío del cliente. En este caso, Checkout calcula los impuestos utilizando las direcciones introducidas durante el proceso de compra. #### Accounts v2 Si [recopilas direcciones de envío](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-shipping_address_collection), Checkout guarda la dirección de envío ingresada durante la sesión en la propiedad [configuration.customer.shipping](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-configuration-customer-shipping) del cliente y la usa para calcular los impuestos. De lo contrario, Checkout guarda la dirección de facturación ingresada durante la sesión en la propiedad [identity.individual.address](https://docs.stripe.com/api/v2/core/accounts/object.md#v2_account_object-identity-individual-address) del cliente y la usa para calcular los impuestos. En ambos casos, la dirección ingresada durante el proceso de compra reemplaza cualquier dirección existente. Si recopilas direcciones de envío con Checkout, establece la propiedad `customer_update.shipping` en `auto`. De esta manera, los datos de envío se copian de forma automática de Checkout a `Account` del cliente. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "customer_update[shipping]=auto" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` Si no recopilas direcciones de envío con Checkout y quieres usar las direcciones de facturación ingresadas durante el proceso de compra para los impuestos, debes guardar la dirección de facturación en el cliente. Establece la `propiedad customer_update.address` en `auto` para copiar de forma automática la dirección ingresada en `Account` del cliente. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer_account={{CUSTOMERACCOUNT_ID}}" \ -d "customer_update[address]=auto" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` #### Customers v1 Si [recopilas direcciones de envío](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-shipping_address_collection), Checkout guarda la dirección de envío ingresada durante la sesión en la propiedad [shipping.address](https://docs.stripe.com/api/customers/object.md#customer_object-shipping-address) del cliente y la utiliza para calcular los impuestos. De lo contrario, Checkout guarda la dirección de facturación ingresada durante la sesión en la propiedad [address](https://docs.stripe.com/api/customers/object.md#customer_object-address) del cliente y la utiliza para calcular los impuestos. En ambos casos, la dirección ingresada durante el proceso de compra reemplaza cualquier dirección existente. Si recopilas direcciones de envío con Checkout, establece la propiedad `customer_update.shipping` en `auto`. De esta manera, los datos de envío se copian de forma automática de Checkout a `Checkout`. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d "customer_update[shipping]=auto" \ -d "shipping_address_collection[allowed_countries][0]=US" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` Si no recopilas direcciones de envío con Checkout y quieres usar las direcciones de facturación introducidas durante el proceso de compra para el cálculo de impuestos, debes guardar la dirección de facturación en el cliente. Establece la propiedad `client_update.address` en `auto` para copiar de forma automática la dirección introducida en `Customer`. ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "line_items[0][price]={{PRICE_ID}}" \ -d "line_items[0][quantity]=2" \ -d "automatic_tax[enabled]=true" \ -d "customer={{CUSTOMER_ID}}" \ -d "customer_update[address]=auto" \ -d mode=payment \ -d ui_mode=embedded_page \ --data-urlencode "return_url=https://example.com/return" ``` ## Optional: Revisa la respuesta Para ver los resultados del último cálculo de impuestos, la propiedad [total_details.amount_tax](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-total_details) del recurso de la sesión de Checkout muestra el importe de impuestos calculado. Además, puedes usar el [Dashboard](https://dashboard.stripe.com/) para ver el efecto fiscal de cada pago.