【问题标题】:Tax Rate in new Stripe Checkout新 Stripe Checkout 中的税率
【发布时间】:2019-09-29 13:30:46
【问题描述】:


我在 NodeJS server 上实现了新的 Stripe Checkout,但我无法指定发票的税率

据我了解税率应在Payment Intent API 中指定。事实上,新的Checkout 通过其CreateSession 自动创建Payment Intent(请参阅payment_intent_data),但我无法在创建时插入税率。 p>

如何做到这一点?我想要实现的是让用户知道Checkout UI 和最终email invoice 中的Tax %。

这是我的代码:

return stripe.checkout.sessions.create({
    payment_method_types: [paymentMethod],
    line_items: [{
        name: name,
        description: description,
        images: [imageUrl],
        amount: amount,
        currency: currency,
        quantity: 1
    }],
    success_url: successUrl,
    cancel_url: cancelUrl,
    customer: stripeId,
    payment_intent_data: {
        receipt_email: email,
        metadata: {
            userId: userId,
            amount: amount,
            currency: currency,
            ref: ref,
            stripeId: stripeId,
            details: details
        }
    }
}).then(session => {
    return res.send(session)

【问题讨论】:

  • 税率仅适用于 Invoice 对象,这些对象主要与 Subscriptions 一起使用,而不是此结帐会话创建的一次性付款“订单项”。 stripe.com/docs/api/subscriptions/…stripe.com/docs/api/payment_intents/create我可能会通过电子邮件向 Stripe 发送有关此功能的请求!
  • @duck 感谢您的回复。那么有没有办法在一次性付款“行项目”中插入税率? :( 我可以让用户知道收取的税款的百分比吗?
  • 我的意思是,这是一个哈希列表,所以我想您可以为税额添加自己的行项目,但它不会使用 Stripe 的税率 atm
  • @r4id4 我正在寻找相同的设置。您是否设法实现了它,如果是,如何实现?
  • 很遗憾没有

标签: stripe-payments checkout


【解决方案1】:

在回答此问题时,Stripe Checkout 不支持税率。

另一种方法是使用“设置”模式 Checkout [1] 收集付款详细信息,然后使用 Checkout 中收集的 PaymentMethod 和您想要使用的税率从您的服务器创建一个 PaymentIntent [2]。

[1]https://stripe.com/docs/payments/checkout/collecting

[2]https://stripe.com/docs/api/payment_intents/create

【讨论】:

  • w1zeman1p 您能详细说明第 [2] 点吗?我在 PaymentIntent API 文档中找不到任何关于添加税率的参考。 default_tax_ratestax_rates 出现在发票和订阅上,但不在 PaymentIntents 上。
  • 很抱歉给您带来了困惑。 PaymentIntent 允许您指定总金额。因此,您将使用设置模式 Checkout 来存储 PaymentMethod,然后计算您自己的税款并将其添加到小计并创建 PaymentIntent。
  • 谢谢 w1zeman1p,这就是我最终要做的事情 - 计算我的税收应用程序端并将总数发送到 Stripe。我将处理 Stripe 之外的税务文书工作。
【解决方案2】:

现在支持条带结帐税率。

从“Stripe.net”35.12.0版本开始,您可以在创建新会话时设置默认税率。

var options = new SessionCreateOptions {
    PaymentMethodTypes = new List<string> {
        "card",
    },
    SubscriptionData = new SessionSubscriptionDataOptions {
        DefaultTaxRates = new List<string> {
            _STRIPE_OPTIONS.Tax // Your tax rate id
        },
        Items = new List<SessionSubscriptionDataItemOptions> {
            new SessionSubscriptionDataItemOptions {
                Plan = request.PlanId, // Your plan id
            },
        },
    },
    Customer = customer.StripeCustomerId,
    SuccessUrl = _STRIPE_OPTIONS.SuccessUrl,
    CancelUrl = _STRIPE_OPTIONS.CancelUrl
};

var service = new SessionService();
var session = service.Create(options);

如果您正在使用,请不要忘记更新您的 webhook 版本。

【讨论】:

  • 是的,从文档support.stripe.com/questions/… 阅读,如果我们正在通过模式:付款需要在发送付款之前计算税款。如果需要,我最终将增值税作为一个项目传递。
【解决方案3】:

Stripe Checkout 一次性付款的税率现在处于测试阶段,请参阅此处:https://stripe.com/docs/payments/checkout/taxes

您可以通过电子邮件加入测试计划并试用。

目前,请注意,动态税率仅在美国、欧洲和此处指定的某些国家/地区 (https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-line_items-dynamic_tax_rates) 支持,因此请注意

【讨论】:

    猜你喜欢
    • 2019-12-02
    • 2019-12-22
    • 1970-01-01
    • 2017-05-23
    • 2021-02-10
    • 1970-01-01
    • 2021-04-27
    • 2011-07-15
    • 2019-03-05
    相关资源
    最近更新 更多