我已经在Stripe Checkout
上实现了新的NodeJS server
,但是我无法为发票指定税率。
根据我的理解,应该在Payment Intent API中指定税率。事实是,新的Checkout
通过其CreateSession自动创建了Payment Intent
(请参见payment_intent_data
),但是我无法插入税率创建后。
这怎么办?我想要实现的是让用户在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)
答案 0 :(得分:2)
在回答此问题时,Stripe Checkout不支持税率。
一种选择是使用“设置”模式Checkout [1]收集付款明细,然后使用Checkout中收集的PaymentMethod和您要使用的税率从服务器创建PaymentIntent [2]。
答案 1 :(得分:0)
现在支持条带化结帐税率。
从“ 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,请不要忘记更新它。
答案 2 :(得分:0)
一次性付款的条纹结帐处的税率现已处于测试阶段,请参见此处:https://stripe.com/docs/payments/checkout/taxes
您可以通过电子邮件加入Beta版计划并试用。
现在,请注意,只有美国,欧洲和此处指定的某些国家(https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-line_items-dynamic_tax_rates)支持动态税率,因此请注意