💸
Stripe の Checkout session で Subscription の設定を付与する
Stripe で Subscription を作る時に Checkout を使うことができますが、Subscription 作成時に色々な設定を与えたい場合があります。
現在の Stripe では Plan に trial を付与するのではなく Subscripiton 自体に trial を付与する必要があったり、Tax Rates (税率) を指定したい場合です。
調べてみると Stripe session を作る時に subscription_data
を指定することで実現できました。
指定の日時までを指定するパターン
-
subscription_data.trial_end
に Unix timestamp を指定します
const session = await stripe.checkout.sessions.create({
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
payment_method_types: ['card'],
line_items: [
{price: 'price_xxxxx', quantity: 1},
],
mode: 'payment',
subscription_data: {trial_end: 1616661475}
});
現在からn日後を指定するパターン
-
subscription_data.trial_period_days
に日数を指定します
const session = await stripe.checkout.sessions.create({
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
payment_method_types: ['card'],
line_items: [
{price: 'price_xxxxx', quantity: 1},
],
mode: 'payment',
subscription_data: {trial_period_days: 30}
});
税率(Tax Rates)を指定するパターン
const session = await stripe.checkout.sessions.create({
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
payment_method_types: ['card'],
line_items: [
{price: 'price_xxxxx', quantity: 1},
],
mode: 'payment',
subscription_data: {default_tax_rates: 'txr_xxxxx'}
});
Discussion