web-dev-qa-db-ja.com

新しいストライプチェックアウトの税率


新しいStripe CheckoutNodeJS serverに実装しましたが、税率を指定できません請求。

私の理解に従って税率Payment Intent API で指定する必要があります。事実は、新しいCheckoutCreateSession を介して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)
17
r4id4

この回答の時点では、Stripe Checkoutは税率をサポートしていません。

1つの代替方法は、「セットアップ」モードのチェックアウト[1]を使用して支払いの詳細を収集し、チェックアウトで収集したPaymentMethodと使用する税率を使用してサーバーからPaymentIntent [2]を作成することです。

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

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

5
w1zeman1p

ストライプチェックアウトサポートが税率になりました。

"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のバージョンを更新することを忘れないでください。

0