今回の記事では、オーダーメイドな製品やパーソナライズした商品など、顧客によって価格や商品内容が異なるケースでのCheckoutの利用方法を紹介します。
Checkoutでは、料金データを利用する
Stripe Checkoutを利用することで、簡単に決済ページを組み込むことができます。
サンプルコードでは、一般的に「事前に作成した料金のID」を設定してCheckoutのセッションを開始します。
const session = await stripe.checkout.sessions.create({
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
customer_creation: 'if_required',
line_items: [
{
price: 'price_xxx',
quantity: 2
},
],
mode: 'payment',
});
ですが、オーダーメイドなサービス・製品を提供する場合には、前もって料金を登録することができません。
そのため、アドホックに料金・商品を登録する方法で実装する必要があります。
顧客ごとに、アドホックに料金を作成して処理する
Checkoutセッションを作成する際に料金を登録するには、line_items.price_data
を利用します。
この中に、料金をAPIから作成する際に設定する値を入れることで、そのセッション用の料金を作ることができます。
await stripe.checkout.sessions.create({
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
customer_creation: 'if_required',
line_items: [{
- price: 'price_xxx',
+ price_data: {
+ currency: 'jpy',
+ product: "prod_xxxx",
+ unit_amount: 1000,
+ },
quantity: 1
}],
mode: 'payment',
})
作成した料金は、処理完了後にアーカイブされる
アドホックに作成した料金データは、Dashboardでは表示されません。
これは、自動的に料金のアーカイブまで行われるためです。
$ stripe prices retrieve price_xxxxx
{
"id": "price_xxxxx",
"object": "price",
"active": false, # active=falseなのでアーカイブ済み
アドホックに商品データも作成する
先ほどのサンプルでは、料金に紐づける商品データは事前に作成済みでした。
ですが、商品データについてもアドホックに作成することができます。
await stripe.checkout.sessions.create({
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
customer_creation: 'if_required',
line_items: [{
price_data: {
currency: 'jpy',
- product: "prod_xxxx",
+ product_data: {
+ name: "アドホックな料金"
+ },
unit_amount: 1000,
},
quantity: 1
}],
mode: 'payment',
})
商品についても、自動的にアーカイブされます。
そのため、セッション数が増えることでによってDashboardで商品・料金データの数が増えて探しにくくなることもありません。
サブスクリプションにも対応
サブスクリプションについても、アドホックに商品・料金を登録して処理できます。
await stripe.checkout.sessions.create({
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel',
line_items: [{
price_data: {
currency: 'jpy',
product_data: {
name: "アドホックな料金"
},
unit_amount: 1000,
recurring: {
interval: "month",
}
},
quantity: 1
}],
mode: 'subscription',
})
オーダーメイドECやパーソナライズしたサービス提供にお使いください
アドホックな料金登録を利用することで、顧客に応じて料金の変わるオーダーメイド・パーソナライズ商品・サービスの提供がより簡単になります。
自動でアーカイブできるなど、料金・商品の登録APIを利用するよりも便利なケースがありますので、ご活用ください。
参考記事