# サブスクリプションの請求書 サブスクリプション請求書を管理する方法をご紹介します。 Connect プラットフォームが [customer-configured Accounts](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer) を使用している場合は、Stripe の [ガイド](https://docs.stripe.com/connect/use-accounts-as-customers.md)をご確認の上、コード内の `Customer` およびイベント参照を同等の Accounts v2 API リファレンスに置き換えてください。 *請求書* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice)は、Stripe のコアリソースであり、顧客が支払うべき金額を表します。Stripe は、サブスクリプション請求期間ごとに請求書を生成します。また、サイクル外や 1 回限りの決済については、ダッシュボードや API を通じて手動で請求書を生成することもできます。[スタンドアロンの請求書](https://docs.stripe.com/invoicing/overview.md#invoice-lifecycle)および[サブスクリプションで生成された請求書](https://docs.stripe.com/billing/invoices/subscription.md#sub-invoice-lifecycle)のライフサイクルについて詳しく学んでください。 ## サブスクリプション請求書のライフサイクル 以降のセクションでは、サブスクリプションのライフサイクルを通じ、Stripe が請求書を処理する方法を説明します。 ### 新たなサブスクリプションの請求書 顧客のサブスクリプションを作成すると、Stripe は以下を行います: - 請求書を生成する。 - [collection_method](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-collection_method) が `charge_automatically` に設定されている場合は請求書を即座に確定し、`send_invoice` に設定されている場合は [1 時間](https://docs.stripe.com/billing/subscriptions/webhooks.md#successful-invoice-finalization) 後に [確定](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#finalized) します。 サブスクリプションの最初の請求書で支払いを完了した場合、または支払いが不要だった場合、請求書のステータスが [status=paid](https://docs.stripe.com/api/invoices/object.md#invoice_object-status) になり、サブスクリプションがアクティブになります。 支払いが完了するまで、請求書の [status (ステータス)](https://docs.stripe.com/api/invoices/object.md#invoice_object-status) は `open` のままで、[auto_advance](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md#toggle-auto-advance) は `false` のまま保持されます。サブスクリプションの [status](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-status) は `incomplete` で保持されます。新しいサブスクリプションの請求書が支払いに失敗し、[支払い方法を必要とする](https://docs.stripe.com/billing/subscriptions/overview.md#requires-payment-method)場合の解決方法についてご説明します。 場合により、サブスクリプションのアップグレードやダウングレードによって新しい請求書が作成されることもあります。このような請求書は、最初から [auto_advance](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md#toggle-auto-advance) がオフになっています。 > メーター項目のみを含む `billing_mode=flexible` のサブスクリプションを作成した場合、Stripe で請求書は生成されません。サブスクリプションは直ちに有効になります。サブスクリプションが以前の未払い使用量で遡及適用されている場合、または保留中の請求書項目が存在する場合にのみ、作成時に請求書が生成されます。 請求書が確定されると、 請求書アイテムの追加や請求額に影響するその他の修正はできなくなります。ただし、顧客に対する請求書アイテムの追加は可能で、追加されたアイテムは次回の請求書に適用されます。 ### サブスクリプション更新時の請求書 サブスクリプションが更新されると、Stripe は以下のことを行います。 - 請求書を生成する。 - 請求書を約 1 時間 `draft` ステータスにしておきます。 - デフォルトの支払い方法で請求書の確定と支払いを試みる。 - 支払い成功後、請求書のステータスを `paid` に変える。 Stripe が請求書を作成すると、設定済みの [Webhook エンドポイント](https://docs.stripe.com/billing/subscriptions/webhooks.md)で `invoice.created` イベントを受信します。このときの請求書の属性[ステータス](https://docs.stripe.com/api/invoices/object.md#invoice_object-status)は `draft` であり、請求書の項目はまだ修正可能です。 ### 支払いを回収する 請求書の期日になると、Stripe は登録されている[支払い方法](https://docs.stripe.com/payments/payment-methods/integration-options.md)に[自動請求](https://docs.stripe.com/invoicing/automatic-charging.md)するか、顧客に[メールで請求書を送信](https://docs.stripe.com/invoicing/integration.md#accept-invoice-payment)して、支払いの回収を試みます。 請求書の支払いを回収する際場合、Stripe はこのリストで最初に使用可能な支払い方法を以下の順序で使用します。 | 優先順位 | 決済手段 | API 属性 | | ---- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | 1 | 請求書のデフォルト支払い方法 | [invoice.default_payment_method](https://docs.stripe.com/api/invoices/object.md#invoice_object-default_payment_method) | | 2 | サブスクリプションのデフォルト支払い方法 | [subscription.default_payment_method](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-default_payment_method) | | 3 | 顧客請求書のデフォルト支払い方法 | [customer.invoice_settings.default_payment_method](https://docs.stripe.com/api/customers/object.md#customer_object-invoice_settings-default_payment_method) | | 4 | (レガシー)顧客デフォルト支払い元 | [customer.default_source](https://docs.stripe.com/api/customers/object.md#customer_object-default_source) | #### 支払いを再試行する Stripe は、[支払い失敗](https://docs.stripe.com/invoicing/automatic-collection.md)を処理するためのいくつかのオプションを用意しています。これには、機械学習を利用した [Smart Retries](https://docs.stripe.com/invoicing/automatic-collection.md#smart-retries) の使用が含まれます。 ## サブスクリプションの請求書を管理する #### ダッシュボード 以下のセクションでは、ダッシュボードで[請求書に対する基本的なアクション](https://docs.stripe.com/invoicing/dashboard/manage-invoices.md)を実行する方法について説明します。 ### 請求書を作成する Stripe は、各請求サイクルの終了時にサブスクリプションの[請求書](https://docs.stripe.com/invoicing/dashboard.md#create-invoice)を自動的に作成します。1 時間以内に請求書を確定して送信します。請求書が確定される前であれば編集が可能です。変更方法については、[請求書の詳細ページ](https://docs.stripe.com/invoicing/dashboard/manage-invoices.md#invoice-details-page)をご覧ください。 ### 次回の請求書をプレビューする [Retrieve an invoice](https://docs.stripe.com/api.md#retrieve_invoice) API で、既存の請求書を閲覧するためのメカニズムを実装できます。さらに Stripe では、[請求書プレビューを作成](https://docs.stripe.com/api/invoices/create_preview.md)するためのエンドポイントも提供しています。プレビューには、基本価格、保留中の請求書項目、割引、および既存顧客のクレジット残高が表示されます。 サブスクリプションを以下のいずれかの方法で変更した場合は、プレビューをフェッチする際に、請求書の外観のモデルを作成できます。 - 基礎となる価格を入れ替える。 - 数量を変更する。 - トライアル期間を適用する。 - クーポンを追加する。 #### API 設定手数料のような 1 回限りの支払いを顧客に請求するには、顧客 ID、通貨、料金を渡して、[請求書アイテム](https://docs.stripe.com/api.md#invoiceitems)を作成します。 ```curl curl https://api.stripe.com/v1/invoiceitems \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "pricing[price]"="{{PRICE_ID}}" ``` これで、顧客への請求書を作成できます。請求書アイテムは自動的に追加されます。 ```curl curl https://api.stripe.com/v1/invoices \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" ``` ## サブスクリプションの最初の請求書を更新する サブスクリプションの初回請求書を編集する方法は、顧客のサブスクリプションの支払い方法の設定に応じて異なります。不明な場合は、API またはダッシュボードを使用して支払い方法を確認できます。 API を使用してサブスクリプションの決済手段を確認するには、顧客の `Subscriptions` オブジェクトの [collection_method](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-collection_method) の値を確認します。`send_invoice` の値は、Stripe が顧客に請求書をメール送信することを意味します。`charge_automatically` の値は、Stripe が顧客に代わってデフォルトの決済手段で自動的に決済することを意味します。 ダッシュボードでサブスクリプションの決済手段を確認するには、[サブスクリプションページ](https://dashboard.stripe.com/subscriptions)を開きます。次に、確認したいサブスクリプションをクリックして、その詳細ビューを開きます。**サブスクリプションの詳細**セクションで、**請求方法**フィールド値は決済手段を定義します。**デフォルトの決済手段で決済**、または**請求書を送信**。 #### 請求書を送信する 顧客が請求書を受け取る場合、サブスクリプションが作成されてから Stripe が確定するまで 1 時間の期間があります。この時間内は、金額やラインアイテムの変更、説明やメタデータの追加など、サブスクリプションに必要な変更を加えることができます。 最初の 1 時間が過ぎると、更新はできなくなります。Stripe は、顧客にメールで請求書を送信してサブスクリプションの支払いを回収します。 #### デフォルトの支払い方法に請求 Stripe は、即時に初回の請求書を確定して、顧客に請求します。そのため、確定前に初回の請求書を更新できる 1 時間の期間は存在しません。 初回の請求書を変更する方法がいくつかあります。 - `trial_end` に数秒間後を設定してサブスクリプションを作成します。サブスクリプションでは最初に 0.00 USD の請求書が生成され、トライアルの終了後に Stripe が 1 時間の下書き期間でゼロではない金額の請求書を作成します。サブスクリプションの初期のステータスは `trialing` で、支払いの結果に応じて `active` または `past_due` に移行します。 - [サブスクリプションスケジュール](https://docs.stripe.com/billing/subscriptions/subscription-schedules.md#start-subscription-future)を介してサブスクリプションを作成します。スケジュールが開始すると、サブスクリプションの初期ステータスが `active` になり、初回の請求書の下書きが 1 時間で確定されるようにスケジュールされます。初回の請求書の支払いが完了したかどうかに応じて、サブスクリプションは、`active` のまま維持されるか、`past_due` に移行します。 ## 請求書をカスタマイズする 請求書は次のようないくつかの方法でカスタマイズできます。 - [追加アイテムを将来の請求書に追加する](https://docs.stripe.com/billing/invoices/subscription.md#adding-upcoming-invoice-items) - [請求書の頻度を増やす](https://docs.stripe.com/billing/invoices/subscription.md#pending-items-frequently) - [アイテムを顧客の最初の請求書に追加する](https://docs.stripe.com/billing/invoices/subscription.md#first-invoice-extra) - [アイテムを下書きのサブスクリプション請求書に追加する](https://docs.stripe.com/billing/invoices/subscription.md#adding-draft-invoice-items) - [サブスクリプションサービス期間外に請求書を生成する](https://docs.stripe.com/billing/invoices/subscription.md#generating-invoices) - [審査のためにサブスクリプションの請求書を一時停止する](https://docs.stripe.com/billing/invoices/subscription.md#holding-review) - [アイテムの価格を設定できるサブスクリプションの請求書を発行する](https://docs.stripe.com/billing/invoices/subscription.md#invoice-item-prices) ### 追加の請求書アイテムを将来の請求書に追加する 1 通の請求書には最大で 250 件の請求書アイテムを追加できます。サイクルの次回の請求書に[追加の請求書アイテムを追加](https://docs.stripe.com/api/invoiceitems/create.md)する方法は、以下のとおりです。 ```curl curl https://api.stripe.com/v1/invoiceitems \ -u "<>:" \ -d "pricing[price]"=price_CBb6IXqvTLXp3f \ -d customer=cus_4fdAW5ftNQow1a ``` これらの単一の項目は、同じ顧客のために作成される次回の請求書に追加されます。 特定のサブスクリプションに追加されるようにするには、オプションの `subscription` パラメータを使用して対象となるサブスクリプションに適用してください。 #### 保留中のアイテムの請求頻度を増やす [請求期間を変更](https://docs.stripe.com/billing/subscriptions/billing-cycle.md)する以外に、通常のサブスクリプションサービス期間を調整せずにこれらのアイテムを請求する方法がいくつかあります。 - 対象となる顧客向けに [1 回限りの請求書](https://docs.stripe.com/invoicing/dashboard.md)を作成します。 - 未払い額が[しきい値](https://docs.stripe.com/billing/subscriptions/usage-based/thresholds.md)に達するたびにサブスクリプションを請求します。 - [pending_invoice_item_interval](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-pending_invoice_item_interval) を使用して、保留中の請求書アイテムに対して請求を行う頻度 (請求期間) を指定します。これは、Stripe がサブスクリプションの [1 回限りの請求書](https://docs.stripe.com/invoicing/dashboard.md)を継続的に作成するのと同じ結果になります。 ### サブスクリプションの最初の請求書に、追加の支払いを追加する `add_invoice_items` を使用し、サブスクリプションの最初の請求書に 1 回限りの支払いを含めます。 ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer={{CUSTOMER_ID}} \ -d "items[0][price]"={{RECURRING_PRICE_ID}} \ -d "add_invoice_items[0][price]"={{PRICE_ID}} \ -d payment_behavior=default_incomplete ``` > [Checkout](https://docs.stripe.com/payments/checkout.md) を使用してサブスクリプションを作成する場合、[クライアント側およびサーバー側による導入](https://docs.stripe.com/billing/subscriptions/build-subscriptions.md)で [line_items](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items) を指定し、別途支払いを追加してください。 ### 請求書アイテムを下書きのサブスクリプション請求書に追加する サブスクリプションが更新され、インボイスが作成されると、Stripe は `invoice.created` *Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) イベントを送信します。Stripe は[約 1 時間待機](https://docs.stripe.com/billing/subscriptions/webhooks.md#understand)してからインボイスを確定し、決済を試みるか、またはメールを送信します。 この遅延の間、請求書は [draft](https://docs.stripe.com/api/invoices/object.md#invoice_object-status) の状態で、編集可能です。その請求書に[請求書項目を作成](https://docs.stripe.com/api/invoiceitems/create.md)できます。これらの請求書項目を作成する際には、[invoice](https://docs.stripe.com/api/invoiceitems/create.md#create_invoiceitem-invoice) パラメーターを必ず指定してください。それ以外の場合は、保留中の項目として追加され、次のサブスクリプション期間に含められます。 これらの請求書アイテムは、Stripe が自動的に生成する請求書アイテムとは以下の点でわずかに動作が異なります。 - キャンセルされたサブスクリプションの請求期間が終わると、保留中の請求書アイテムは常に請求されます。顧客のサブスクリプションをキャンセルすることにより、「請求書アイテムが存在しない」場合は、顧客に対する請求がそれ以降行われなくなります。 - 顧客のサブスクリプションに変更が生じた場合、保留中の請求書アイテムは比例配分されません。 サブスクリプションのキャンセル後に保留中の請求書アイテムが残っている場合、Stripe は請求書を生成し、次回の請求期間の終わりにこれらのアイテムについて顧客に請求を試みます。サブスクリプションが変更された場合、これらの請求書アイテムも(同様に)比例配分されません。 #### 保留中の請求書アイテムを管理する 顧客の保留中の請求書アイテムは、[顧客ページ](https://dashboard.stripe.com/customers)に移動し、顧客名をクリックすると確認できます。顧客に保留中の請求書アイテムがある場合には、**保留中の請求書アイテム**に表示されます。請求書アイテムがどの請求書にも関連付けられていない場合は、保留中として表示されます。 **保留中の請求書アイテム**で、新しい請求書アイテムを作成したり、またはリストされているものすべてを直ちに請求したりすることもできます。**今すぐ請求書を作成**をクリックすると、ダイアログが表示され、デフォルトのソースに請求するか、顧客に請求書を送信するかを選択できます。さらにこのダイアログには、税金を自動的に計算するオプションもあります。 ### 請求期間外のサブスクリプションアイテムの請求書を生成する [1 回限りの請求書を生成](https://docs.stripe.com/invoicing/dashboard.md)することにより、定期的な請求期間に含まれない保留中の請求書項目を請求できます。1 回限りの請求書を生成すると、定期スケジュールの請求書に追加されるはずだった保留中の請求書項目がすべて取り込まれます。 > 請求書を手動で生成する場合、Stripe はお客様がサブスクリプションに設定した[税率](https://docs.stripe.com/billing/taxes/tax-rates.md)を適用しません。税金を適用する必要がある場合、請求書に明示的に[税率を追加](https://docs.stripe.com/invoicing/taxes/tax-rates.md)する必要があります。 ### 審査のためにサブスクリプションの請求書を一時停止する 請求期間の終わりに自動的に支払いを試みる代わりに、請求書を一時停止して審査や修正を行うことができます。請求書を一時停止するには、以下を行ってください。 1. `invoice.created` イベントを受信してから 1 時間以内に自動請求を停止してください。停止するには、API で `auto_advance=false` を設定するか、ダッシュボードの[サブスクリプションとメール通知](https://dashboard.stripe.com/settings/billing/automatic)に移動します。 支払い回収の一時停止セクションを探して**設定**をクリックすると、変更を行うことができます。この機能を利用することで、Stripe による顧客からの請求書金額の回収の自動実行や、請求書のメール送信を停止することができます。 1. 請求書を審査します。 1. 顧客に請求する準備ができたら、自動請求を再開します。再開するには、[auto_advance=true](https://docs.stripe.com/api/invoices/update.md#update_invoice-auto_advance) を設定するか、またはダッシュボードで支払いの一時停止のオプションを更新します。 ### アイテムの価格を設定できるサブスクリプションの請求書を発行する 内税が含まれないラインアイテムの価格で請求書を発行できます。税抜き価格は請求書の PDF にのみ表示されます。そのため、内税を使用する場合、オンライン請求書ページと請求書メールには税込み価格が表示されます。ダッシュボードまたは API で正味価格の設定を定義できます。 - **内税を含む**: 請求書の PDF には、内税を含むラインアイテムの価格が表示されます (これがデフォルトです)。 - **税抜き**: 請求書の PDF には、税抜きのラインアイテムの価格が表示されます。 > #### 注文の優先順位 > > ラインアイテムの価格のデフォルトを顧客レベルで設定する場合は、アカウントレベルの設定よりも優先されます。 ## サブスクリプションで生成された請求書を無効にする ### サブスクリプションの初回請求書を無効にする サブスクリプションの最初の請求書を無効にすると、Stripe はサブスクリプションのステータスに基づいて以下のロジックを適用します。 - サブスクリプションが`incomplete`の場合、サブスクリプションのステータスは`incomplete_expired`に変わります。 - サブスクリプションが`past_due`の場合、サブスクリプションのステータスは`active`に変わります。 - サブスクリプションが`active`の場合、サブスクリプションのステータスは変更されません。 ### サブスクリプションの最新の請求書を無効にする 有効なサブスクリプションの最新の請求書を無効にし、請求書が最初の請求書でない場合、Stripe は、以下のロジックを最新のものから順に、これらの条件のいずれかを満たすまで各請求書に適用します。 - 請求書のステータスが `paid` または `uncollectible` の場合は、サブスクリプションのステータスは `active` に変わります。 - [collection_method](https://docs.stripe.com/api/invoices/object.md#invoice_object-collection_method) が請求書で `charge_automatically` に設定されており、再試行回数の上限に達したために Stripe が請求書で督促を停止した場合、サブスクリプションのステータスは [自動回収設定](https://dashboard.stripe.com/settings/billing/automatic) に基づき `canceled`、`unpaid`、または `past_due` に変更されます。 - [回収方法](https://docs.stripe.com/api/invoices/object.md#invoice_object-collection_method) が `send_invoice` に設定され、請求書の期限が過ぎている場合、そのサブスクリプションのステータスは `past_due` に変わります。 - 請求書のステータスがこれらのいずれにも該当しない場合、次の最新の請求書で同じステップが実行されます。 これらのいずれの条件にも一致する請求書がない場合、サブスクリプションのステータスは `active` に変わります。 ## サブスクリプションメタデータ サブスクリプションによって請求書が作成されると、次のようにサブスクリプションの `metadata` が含まれます。 - 請求書の [subscription_details.metadata](https://docs.stripe.com/api/invoices/object.md#invoice_object-subscription_details-metadata) 属性は、サブスクリプションの `metadata` が後で変更された場合でも、請求書作成時に常にサブスクリプションの `metadata` を格納します。 - [parent.type=“subscription_item_details”](https://docs.stripe.com/api/invoices/object.md#invoice_object-lines-data-parent-type) が指定された[請求書の項目](https://docs.stripe.com/api/invoice-line-item/object.md)の [metadata](https://docs.stripe.com/api/invoice/line_item.md#invoice_line_item_object-metadata) 属性は、請求書取得時の最新のサブスクリプション `metadata` を反映しているため、請求書作成時の `metadata` とは異なる場合があります。 - [parent.type=“invoice_item_details"](https://docs.stripe.com/api/invoices/object.md#invoice_object-lines-data-parent-type) が指定された請求書の項目には、サブスクリプションの `metadata` が含まれていません。 サブスクリプションの請求書の項目の `metadata` を、直接、[請求書の項目の更新](https://docs.stripe.com/api/invoice-line-item/update.md) または [請求書の項目の一括更新](https://docs.stripe.com/invoicing/bulk-update-line-item.md) エンドポイントのいずれかを使用して変更する場合、更新リクエストは、請求書の項目の `metadata` を宣言します。「継承された」サブスクリプションの `metadata` が暗黙的に保持されることはありません。 [Subscription item metadata (サブスクリプションアイテムのメタデータ)](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-items-data-metadata) は、その他の Stripe オブジェクトには自動的に伝播しません。