新しいStripe Checkout
をNodeJS server
に実装しましたが、税率を指定できません請求。
私の理解に従って税率は Payment Intent API で指定する必要があります。事実は、新しいCheckout
が CreateSession を介してPayment Intent
を自動的に作成することです(payment_intent_data
を参照)。ただし、作成時の税率。
これはどのように行うことができますか?私が達成したいのは、Checkout UI
と最後のemail invoice
の両方で税率をユーザーに知らせることです。
これは私のコードです:
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)
この回答の時点では、Stripe Checkoutは税率をサポートしていません。
1つの代替方法は、「セットアップ」モードのチェックアウト[1]を使用して支払いの詳細を収集し、チェックアウトで収集したPaymentMethodと使用する税率を使用してサーバーからPaymentIntent [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のバージョンを更新することを忘れないでください。