製品またはサブスクリプション数量の設定
1 人の顧客に対して、複数の製品または 1 つの製品の複数の数量のサブスクリプション登録を行います。これらはすべて 1 つの請求書で請求されます。
複数の商品または同じ商品の複数の数量のサブスクリプションを作成する必要がある場合があります。個人顧客に複数のサブスクリプションを作成することもできます。
複数の商品のサブスクリプション
複数の商品を提供している場合、または同じ商品に対して異なる金額の決済を請求する場合は、複数の商品のサブスクリプションを作成できます。これにより、請求期間ごとにすべての価格を合計した 1 つの請求書が生成され、顧客は 1 回の決済を行うだけで済みます。
複数製品のサブスクリプションを作成する
items パラメータを使用して、顧客に複数の商品のサブスクリプションを作成します。各商品に対し、price
、および任意で quantity
(1 以外の値を使用する場合) を指定します。
応答には、すべてのサブスクリプション項目、価格、数量のリストが含まれます。
{ "id": "sub_CZEpS1Zt9QLxdo", "object": "subscription", ... "items": { "object": "list", "data": [ { "id": "si_H1yPnAVzP9vDRW", "object": "subscription_item", "billing_thresholds": null, "created": 1585939321, "metadata": { }, "price": { "id": "price_H1c8v1liEvrfcd", "object": "price", "active": true, "billing_scheme": "per_unit", "created": 1585856460,
複数の価格を使用する請求期間
定期的に固定金額を請求するサブスクリプションは、各請求期間(サイクル)の開始時に請求されます。請求書ごとに、顧客は実質的に次の期間のサービスに対して決済を行います。従量課金では、請求期間中の使用量によって顧客の決済金額が異なるため、顧客はその使用量に対して最後に決済を行います。
サブスクリプションで固定料金と従量課金を組み合わせると、各更新の開始時に、新しい請求期間の固定料金とともに、前の請求期間の使用量に対する従量課金が行われます。従量課金と固定料金が 1 つの請求書にまとめられます。
1 件のサブスクリプションに複数の商品を含めた場合、請求書は 1 枚で、決済も 1 回となるため、商品の価格には同じ通貨を使用する必要があります。また、1 件のサブスクリプションに含められる商品数は、最大 20 点です。
請求期間が異なる可能性のあるサブスクリプションの複数の製品を処理するには、混合間隔サブスクリプションを作成します
割引、税金、トライアル期間
複数の製品を使用する場合は、単一製品のサブスクリプションと同じ方法で、割引の作成、税金の請求、トライアル期間の使用もできます。
これらの引数は、サブスクリプションを作成または更新してサブスクリプション全体に適用するときに指定するか、項目レベルで指定して特定の項目のみを割引します。
サブスクリプションの複数の数量
デフォルトでは、サブスクリプションのそれぞれが 1 つの商品に対応しますが、Stripe を使用すると、顧客は 1 つのアイテムのサブスクリプションで複数の数量を設定できます。たとえば、ホスティング会社を運営し、顧客はこの会社から 1 サイトあたり月額 $9.99 の料金でサイトをオンラインでホストするとします。ほとんどの顧客はサイト 1 つのみをオンラインで運営しますが、一部の顧客は多数のサイトを運営します。1 つのサイト ($9.99)、2 つのサイト($19.98) のように価格を作成することもできますが、これよりも、$9.99 の単価で顧客に数量を登録するアプローチをお勧めします。
サブスクリプションの従量課金には、従量課金とユーザー数ベースのライセンスの 2 種類があります。料金を作成するときに recurring[ usage_
属性の値を設定することで、これらの請求書モデルを有効にできます。数量は、recurring[ usage_
を licensed
としてサブスクリプションを作成するときにのみ指定できます。請求書期間内で変動する使用状況に対して請求書を細かく設定する場合は、数量ではなく従量課金を使用することを検討してください。
複数の数量を設定
サブスクリプションに数量を設定するには、サブスクリプションを作成または更新する際に quantity
の値を指定します。
1 つの請求書で複数の数量を請求することもできます。また、サブスクリプションに変更があった場合は、複数の数量を比例配分します。これには、サブスクリプション数量の変更も含まれます。
数量に応じて異なる金額を請求する
状況によっては、サブスクリプションのユーザー数に基づいてユーザーあたりの料金を調整することもできます。たとえば、ユーザー数が特定のしきい値を超えたサブスクリプションに、ボリュームライセンス割引を提供することが可能です。この場合、段階を用いてユーザーごとの料金を調整できます。
数量の変換
顧客に請求する際に、請求とは異なる詳細度での使用量の追跡が必要な場合があります。たとえば、製品を使用する 5 ユーザー (またはその一部) ごとに 10 USD を請求する生産性向上ソフトウェアがあるとします。この場合、数量の変換がなければ、5 ユーザーごとにサブスクリプションの quantity
を 1 だけ増加させることが必要になります。
ユーザー数 | Stripe に報告されるサブスクリプションアイテムの数量 | 合計 |
---|---|---|
1 | 1 | 10 USD |
3 | 1 | 10 USD |
5 | 1 | 10 USD |
6 | 2 | 20 USD |
7 | 2 | 20 USD |
transform_quantity パラメーターを使用すると、単価を適用する前に数量を変換するように Stripe に指示できます。以下のサブスクリプションでは、現在のユーザー数をサブスクリプションアイテムの quantity
として報告できます。Stripe の請求システムは、単価で計算する前に、数量を 5 で割って切り上げます。
transform_
は、billing_scheme=per_unit のみで使用できます。段階制料金体系では使用できません。
切り捨て/切り上げ
前の例では、5 ユーザーごとに切り上げて請求するサブスクリプションを紹介しました。たとえば、6 を 5 で割って、切り上げると 2 になります。ブロードバンドインターネットサービスで 1 ギガバイト使用するごとに請求するような、使用量の一部について請求しない使用量のケースでは、round
の値として down
を渡すこともできます。
使用量に基づく請求
You can also apply transform_
in conjunction with usage-based billing. This transformation applies to prices with recurring[usage_
at the end of a billing period in the same way it applies to quantity
for prices with recurring[usage_
.
1,000 通のメール送信ごとに 0.10 USD の決済を請求する従量課金のマーケティングメールサービスは以下のようになります。
このサブスクリプションでは、使用量はメールごとに報告され、顧客には 1,000 通送信するごとに 0.10 USD を請求できます。
複数のサブスクリプション
同一の顧客に対して、複数のサブスクリプションを同時に作成できます。この機能は、顧客がサービス期間の異なる複数の商品に登録できるようにする場合に便利です。基礎となる価格の請求期間が同じであっても、各サブスクリプションには独自の請求期間、請求書および決済が存在します。
注
複数のサブスクリプションを同じ料金で作成した場合でも、決済や請求期間などはサブスクリプションごとに異なります。これを避けるには、代わりに複数の数量を使用するサブスクリプションを 1 件作成します。
1 人の顧客に対して複数のサブスクリプションを作成する
create subscription API を使用して、1 人の顧客に複数のサブスクリプションを作成します。
顧客は、複数の商品に登録したり、同一の商品に何度も登録したりすることもできます。各サブスクリプションに一意の ID が設定され、その状態は顧客の他のサブスクリプションとは別に処理されます。また、各サブスクリプションは、サブスクリプションの請求サイクルのアンカーに基づく独自の請求期間を持ちます。
顧客に複数のサブスクリプションが存在する場合は、Customer
オブジェクトの subscriptions
プロパティを指定することで、サブスクリプションのリストが提供されます。
{ "id": "cus_4fdAW5ftNQow1a", "object": "customer", "subscriptions": { "object": "list", "data": [ { "id": "sub_9RRl3XywPg2P5H", "object": "subscription", ... "price": { "id": "price_CZB2krKbBDOkTS", "object": "price", "amount": 2995, ... } }, { "id": "sub_9RRlIq2t9obFLI", "object": "subscription", ... "price": { "id": "price_CZB1AX3KOacNJw", "object": "price", "amount": 1295, ... } } ] ... } ... }