收税
了解如何在 Stripe Checkout 中为一次性付款收税。
使用 Stripe Tax,您可以在使用 Checkout 时计算您的一次性和经常性付款的税额。您可以启用 Stripe Tax 来自动计算您的所有 Checkout 流程中的购物和订阅的税额。
创建一个 Checkout Session
更新了您的产品和价格后,您即可开始在您的 Checkout 会话中计算税额。您可以为一次性购买和经常性购买创建会话。
为新客户计算税额时,Checkout 会验证并使用提供的收货地址或账单地址。对于现有客户,Checkout 通过验证并使用关联的客户收货地址或账单地址来计税。如果您捕获现有客户的新账单或收货地址,那么 Checkout 不会自动覆盖之前的账单或收货地址信息。必须明确要求客户地址更改。
Apple Pay 和 Google Pay
为确保在使用 Stripe Tax 的 Checkout 中提供 Google Pay 作为付款方式,您必须要求收集收货地址,或向现有客户提供已保存的收货地址。只有当客户的浏览器支持 Apple Pay 12 版本或更高版本时,才会显示带有 Stripe Tax 的 Apple Pay。
为新客户计税
如果您在创建 Checkout 会话时不传入现有客户,则 Checkout 会创建一个新的客户并自动保存账单地址和收货地址。Checkout 使用会话过程中输入的收货地址来确定客户的计税地点。如果您不收集收货地址信息,则 Checkout 会使用账单地址。
可选为现有客户计税
要在现有客户的 Checkout 会话中计税,请在创建会话时将 automatic_
参数设置为 true
。您可以根据客户的现有地址或在结账过程中收集的新地址来计算税额:
用客户上的现有地址来计税
如果您已经收集了现有客户的地址,则可以基于这些地址而非结账时收集的地址来计税:
Checkout 用哪个客户地址计税?
客户地址必须要满足某种要求吗?
使用现有地址计税时,客户必须要保存一个有效的收货地址或账单地址。可以通过检查客户的 customer.tax.automatic_tax 属性来查看客户保存的地址是否有效。如果
customer.
的值为tax. automatic_ tax supported
或not_
,则客户保存的地址有效,而且您可以在该客户的 Checkout 会话中启用 Stripe Tax。collecting
用结账过程中收集的地址计税
可以通过配置 Checkout 来保存客户的新账单地址或收货地址。这种情况下,Checkout 使用结账过程中输入的地址来计算税额。
Checkout 用哪个地址计税?
如果您收集收货地址,Checkout 会使用会话过程中输入的收货地址来计算税款。否则,Checkout 会使用收集的账单地址。
Checkout 过程中收集的地址保存到哪了?
如果您收集收货地址,Checkout 会将会话过程中输入的收货地址保存到客户的 customer.shipping.address 属性。否则,Checkout 会将会话过程中输入的账单地址保存到客户的 customer.address 属性中。在这两种情况下,用于税务的地址将覆盖任何现有地址。
如果您用 Checkout 收集收货地址,则将 customer_
属性设置到 auto
,从而将来自 Checkout 的收货信息复制到客户。
如果您不通过 Checkout 收集收货地址,并且想用结账过程中输入的账单地址来计算税款,那么必须将账单地址保存到客户数据。将 customer_
属性设置为 auto
,以便将新输入的地址复制到提供的客户上。
可选查看响应
要查看最近的税额计算结果,可以查看 Checkout Session 资源中的 total_details.amount_tax 属性,其中会显示计算的税额。此外,您可以用管理平台来查看计算的每笔付款的税额。