サブスクリプションのインボイス
インボイスは、Stripe のコアリソースであり、顧客が支払うべき金額を表します。Stripe は、サブスクリプションの請求サイクルの期間ごとにインボイスを生成します。ダッシュボードまたは API を使用して、サイクル外または 1 回限りの支払いのインボイスを手動で生成することもできます。スタンドアロンのインボイスおよびサブスクリプションで生成されたインボイスのライフサイクルの詳細については、ガイドをご覧ください。
サブスクリプションインボイスのライフサイクル
以降のセクションでは、サブスクリプションのライフサイクルを通じ、Stripe がインボイスを処理する方法を説明します。
新たなサブスクリプションのインボイス
お客様が顧客をサブスクリプションに登録すると、Stripe は以下を行います。
- インボイスを生成する。
- インボイスを確定する。
支払いがサブスクリプションの最初のインボイスで成功した場合、または支払いが不要な場合、インボイスのステータスが status=paid になり、サブスクリプションがアクティブになります。
支払いが成功するまで、インボイスの status は open
のままで、auto_advance は false
のままで保持されます。サブスクリプションの status は incomplete
で保持されます。決済手段が必要な新しいサブスクリプションインボイスの決済失敗の解決方法をご覧ください。
場合により、サブスクリプションのアップグレードやダウングレードによって新しいインボイスが作成されることもあります。このようなインボイスは、最初から auto_advance がオフになります。
インボイスが確定されると、 インボイスアイテムの追加や請求額に影響するその他の修正はできなくなります。ただし、顧客に対するインボイスアイテムの追加は可能で、追加されたアイテムは次回のインボイスに適用されます。
サブスクリプション更新時のインボイス
サブスクリプションが更新されると、Stripe は以下のことを行います。
インボイスを生成する。
インボイスを約 1 時間
draft
ステータスにしておく。デフォルトの決済手段でインボイスの確定と支払いを試みる。
支払い成功後、インボイスのステータスを
paid
に変える。
Stripe でインボイスが生成されると、お客様は設定された Webhook を通じて invoice.created
イベントを受信します。このとき、インボイスの status 属性は draft
であり、これはインボイスアイテムが修正可能であることを意味します。
支払いを回収する
インボイスの期日になると、Stripe は登録されている決済手段に自動的に請求するか、顧客にメールでインボイスを送信して、支払いを回収しようとします。
支払いを再試行する
Stripe は、失敗した支払いを処理するためのいくつかのオプションを用意しています。これには、機械学習を利用した Smart Retries が含まれます。
サブスクリプションの初回インボイスを更新する
サブスクリプションの初回インボイスを編集する方法は、顧客のサブスクリプションの決済手段の設定に応じて異なります。不明な場合は、API またはダッシュボードを使用して決済手段を確認できます。
API を使用してサブスクリプションの決済手段を確認するには、顧客の Subscriptions
オブジェクトの collection_method
の値を調べます。値が send_invoice
の場合は、Stripe がインボイスを顧客にメールで送信します。値が charge_automatically
の場合は、Stripe はデフォルトの決済手段を使用して、お客様の代理で顧客に請求します。
ダッシュボードでサブスクリプションの決済手段を確認するには、サブスクリプションページを開きます。次に、確認するサブスクリプションをクリックして、詳細ビューを開きます。サブスクリプションの詳細セクションの請求方法フィールドの値に応じて、デフォルトの支払い方法に請求またはインボイスを送信するの決済手段が定義されます。
インボイスをカスタマイズする
インボイスは次のようないくつかの方法でカスタマイズできます。
- 追加アイテムを将来のインボイスに追加する
- インボイスの頻度を増やす
- アイテムを顧客の最初のインボイスに追加する
- アイテムを下書きのサブスクリプションインボイスに追加する
- サブスクリプションサイクル外のインボイスを生成する
- レビューのためにサブスクリプションのインボイスを一時停止する
- アイテムの価格を設定できるサブスクリプションのインボイスを発行する
追加のインボイスアイテムを将来のインボイスに追加する
1 通のインボイスには最大で 250 件のインボイスアイテムを追加できます。サイクルの次回のインボイスに追加のインボイスアイテムを追加する方法は、以下のとおりです。
これらの 1 回限りのアイテムは、同じ顧客のために作成される次回のインボイスに追加されます。 特定のサブスクリプションに追加されるようにするには、オプションの subscription
パラメータを使用して対象となるサブスクリプションに適用してください。
保留中のアイテムの請求頻度を増やす
請求サイクルを変更する以外に、通常のサブスクリプションサイクルを調整せずにこれらのアイテムを請求する方法がいくつかあります。
対象となる顧客向けに 1 回限りのインボイスを作成します。
請求金額がしきい値に達するたびにサブスクリプションを請求します。
pending_invoice_item_interval を使用して、保留中のインボイスアイテムの請求頻度となる請求期間を指定します。これは、Stripe が継続的にサブスクリプションの 1 回限りのインボイスを作成するのと同じ結果になります。
サブスクリプションの最初のインボイスに、追加の支払いを追加する
add_invoice_items
を使用し、サブスクリプションの最初のインボイスに 1 回限りの支払いを含めます。
注意
Checkout を使用してサブスクリプションを作成する場合、クライアントおよびサーバ側の組み込みで line_items を指定し、別途支払いを追加してください。
インボイスアイテムを下書きのサブスクリプションインボイスに追加する
サブスクリプションが更新され、インボイスが作成されると、Stripe は invoice.created
Webhook イベントを送信します。Stripe は約 1 時間待機してからインボイスを確定し、決済を試みるか、またはメールを送信します。
この遅延の間、インボイスは draft
の状態で、編集可能です。インボイスにインボイスアイテムを作成できます。インボイスアイテムを作成する際には、invoice パラメーターを必ず指定してください。指定しないと、これらのインボイスアイテムは保留アイテムとして追加され、次回のサブスクリプション期間に含められます。
これらのインボイスアイテムは、Stripe が自動的に生成するインボイスアイテムとは以下の点でわずかに動作が異なります。
キャンセルされたサブスクリプションの請求期間が終わると、保留中のインボイスアイテムは常に請求されます。顧客のサブスクリプションをキャンセルすることにより、「インボイスアイテムが存在しない」場合は、顧客に対する請求がそれ以降行われなくなります。
顧客のサブスクリプションに変更が生じた場合、保留中のインボイスアイテムは比例配分されません。
サブスクリプションのキャンセル後に保留中のインボイスアイテムが残っている場合、Stripe はインボイスを生成し、次回の請求期間の終わりにこれらのアイテムについて顧客に請求を試みます。サブスクリプションが変更された場合、これらのインボイスアイテムも(同様に)比例配分されません。
保留中のインボイスアイテムを管理する
顧客の保留中のインボイスアイテムは、顧客ページに移動し、顧客名をクリックすると確認できます。顧客に保留中のインボイスアイテムがある場合には、保留中のインボイスアイテムに表示されます。インボイスアイテムがどのインボイスにも関連付けられていない場合は、保留中として表示されます。
保留中のインボイスアイテムで、新しいインボイスアイテムを作成したり、またはリストされているものすべてを直ちに請求したりすることもできます。今すぐインボイスを作成をクリックすると、ダイアログが表示され、デフォルトのソースに請求するか、顧客にインボイスを送信するかを選択できます。さらにこのダイアログには、税金を自動的に計算するオプションもあります。
請求サイクル外のサブスクリプションアイテムのインボイスを生成する
1 回限りのインボイスを生成することにより、定期的な請求サイクルに含まれない保留中のインボイスアイテムのインボイスを生成できます。1 回限りのインボイスを生成すると、定期的にスケジュールされたインボイスに追加されるはずだった保留中のインボイスアイテムすべてが取り込まれます。
レビューのためにサブスクリプションのインボイスを一時停止する
請求期間の終わりに自動的に支払いを試みる代わりに、インボイスを一時停止してレビューや修正を行うことができます。インボイスを一時停止するには、以下を行ってください。
invoice.created
イベントを受信してから 1 時間以内に自動請求を停止してください。停止するには、API でauto_advance=false
を設定するか、ダッシュボードのサブスクリプションおよびメールに移動します。 支払い回収の一時停止セクションを探して設定をクリックすると、変更を行うことができます。この機能を利用することで、Stripe による顧客からのインボイス金額の回収の自動実行や、インボイスのメール送信を停止することができます。インボイスをレビューします。
顧客に請求する準備ができたら、自動請求を再開します。再開するには、auto_advance=true を設定するか、またはダッシュボードで支払いの一時停止のオプションを更新します。
アイテムの価格を設定できるサブスクリプションのインボイスを発行する
内税が含まれないラインアイテムの価格で請求書を発行できます。税抜き価格は請求書の PDF にのみ表示されます。そのため、内税を使用する場合、オンライン請求書ページと請求書メールには税込み価格が表示されます。ダッシュボードまたは API で正味価格の設定を定義できます。
- 内税を含む: 請求書の PDF には、内税を含むラインアイテムの価格が表示されます (これがデフォルトです)。
- 税抜き: 請求書の PDF には、税抜きのラインアイテムの価格が表示されます。
注文の優先順位
ラインアイテムの価格のデフォルトを顧客レベルで設定する場合は、アカウントレベルの設定よりも優先されます。
サブスクリプションメタデータ
サブスクリプションによってインボイスが作成されると、次のようにサブスクリプションの metadata
が含まれます。
- The invoice’s subscription_details.metadata attribute always contains the subscription’s
metadata
at the time of invoice creation, even if the subscriptionmetadata
is later modified. - The metadata attribute of invoice line items with type=“subscription” reflects the most recent subscription
metadata
at the time of retrieving the invoice, meaning it might differ from themetadata
at the time of invoice creation. - type=“invoiceitem” のインボイスラインアイテムには、サブスクリプションの
metadata
は格納されません。
When you modify a subscription invoice line item’s metadata
directly, either with the invoice line update or the bulk invoice line update endpoint, the update request declares the invoice line item metadata
. Any “inherited” Subscription metadata
isn’t preserved implicitly.
Subscription item metadata isn’t automatically propagated to any other Stripe objects.