# ステータスの遷移と確定 請求書のステータスの遷移と確定についてご紹介します。 次の図は、請求書のステータス移行の各種経路を示しています。 ![](https://b.stripecdn.com/docs-statics-srv/assets/invoice_states_diagram_simplified.6990197f2efb082ee5885ae3afb40fda.svg) ステータス移行と確定 ## 遷移とエンドポイント 次の表は、ステータスの移行やそのエンドポイントの概要を示しています。エンドポイントで送信される *Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) や、移行先の各ステータスも示されています。 | ステータス | API エンドポイント | 送信される Webhook | 終了ステータス | | --------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------ | --------------- | | `draft` | [DELETE /v1/invoices/:id](https://docs.stripe.com/api/invoices/delete.md) | `invoice.deleted` | (削除済み) | | `draft` | [POST /v1/invoices/:id/finalize](https://docs.stripe.com/api/invoices/finalize.md) | `invoice.finalized` | `open` | | `open` | [POST /v1/invoices/:id/pay](https://docs.stripe.com/api/invoices/pay.md) | `invoice.paid` | `paid` | | `open` | [POST /v1/invoices/:id/pay](https://docs.stripe.com/api/invoices/pay.md) | `invoice.payment_failed` | `open` | | `open` | [POST /v1/invoices/:id/send](https://docs.stripe.com/api/invoices/send.md) | `invoice.sent` | `open` | | `open` | [POST /v1/invoices/:id/void](https://docs.stripe.com/api/invoices/void.md) | `invoice.voided` | `void` | | `open` | [POST /v1/invoices/:id/mark_uncollectible](https://docs.stripe.com/api/invoices/mark_uncollectible.md) | `invoice.marked_uncollectible` | `uncollectible` | | `uncollectible` | [POST /v1/invoices/:id/pay](https://docs.stripe.com/api/invoices/pay.md) | `invoice.paid` | `paid` | | `uncollectible` | [POST /v1/invoices/:id/pay](https://docs.stripe.com/api/invoices/pay.md) | `invoice.payment_failed` | `uncollectible` | | `uncollectible` | [POST /v1/invoices/:id/void](https://docs.stripe.com/api/invoices/void.md) | `invoice.voided` | `void` | ## 下書き請求書を確定する [自動回収](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md)を有効にすると、Stripe は自動的に[インボイス](https://docs.stripe.com/billing/invoices/subscription.md)を確定し、自動回収を開始します。Stripe は、リッスンしているすべての Webhook の `invoice.created` イベントへの成功応答を受信してから 1 時間待機し、その後決済を試みます。72 時間以内に成功応答を受信できない場合には、インボイスの確定と送信を試みます。[この猶予期間は延長することができます](https://docs.stripe.com/billing/subscriptions/usage-based/configure-grace-period.md)。 インボイスの作成時の初期ステータスは `status=draft` です。インボイスはこの状態にある場合にのみ編集可能です。インボイスの決済準備が整ったら、確定します。インボイスを確定すると、ステータスが `status=open` に設定されます。インボイスは、[ダッシュボード](https://docs.stripe.com/invoicing/dashboard.md)で手動で確定することも、[Finalize](https://docs.stripe.com/api/invoices/finalize.md) エンドポイントを使用して確定することもできます。[Webhook](https://docs.stripe.com/webhooks.md) エンドポイントを設定している場合は、請求書の確定時に `invoice.finalized` イベントが届きます。 ```curl curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/finalize \ -u "<>:" ``` 本番環境では、Webhook エンドポイントが[正しく応答](https://docs.stripe.com/webhooks.md)しない場合、Stripe は指数バックオフを使用して最長 3 日間 Webhook 通知の再試行を続けます。*サンドボックス* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)では、数時間にわたって 3 回再試行します。その間は、正常な応答を受信しない限り顧客への請求を試行しません。また、Webhook にエラーが発生していることを知らせるメールも送信します。 この動作は、お客様のアカウントで定義されたすべての Webhook エンドポイントに適用されます。[Connect アプリケーション](https://stripe.com/works-with)、またはその他のサードパーティーサービスで受信 Webhook を処理できない場合も含まれます。 ## 確定後 請求書を確定すると、次のようになります。 - 請求書に対する支払いが可能になる。 - 請求書番号が存在することを確認できる。 - 請求書上の特定のプロパティが[変更不可能](https://docs.stripe.com/invoicing/integration/workflow-transitions.md#immutable)になる。 - 請求書に対し、未完了の Payment Intent が作成される。 - 請求書の支払いに使用できる一意の URL と、[請求書 PDF](https://docs.stripe.com/api/invoices/object.md#invoice_object-invoice_pdf) をダウンロードするためのリンクが生成される。 > 請求書が確定されていない場合は、支払いを回収できません。 ### 確定された請求書の制約 請求書の確定後は、金額と顧客に関する特定のフィールドを変更することはできません。これは、法的に定められた最低期間の間、確定した請求書を確定された時点の状態のまま保持する、という税務上の一般的な要件を満たすためのものです。 管轄区域によっては、請求書の合計請求金額に影響するフィールドを編集すると、請求書が無効になる場合があります。通常、アカウントや顧客、ラインアイテム、または税金に関連するフィールドがこれに該当します。作成する請求書が、適用されるすべての法律に準拠していることをお客様自身の責任でご確認ください。 確定後に請求書の金額を更新する必要がある場合は、[クレジットノート](https://docs.stripe.com/invoicing/dashboard/credit-notes.md)を使用します。クレジットノートを使用すると、顧客が支払うべき金額に調整額を指定して、請求書の金額を変更できます。クレジットノートは、ステータスが `open` または `paid` の請求書に対して発行できます。確定した請求書は、以下の顧客フィールドがコピーされ、変更不可になります。 - [invoice.customer_address](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_address) - [invoice.customer_email](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_email) - [invoice.customer_name](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_name) - [invoice.customer_phone](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_phone) - [invoice.customer_shipping](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_shipping) - [invoice.customer_tax_exempt](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_tax_exempt) - [invoice.customer_tax_ids](https://docs.stripe.com/api/invoices/object.md#invoice_object-customer_tax_ids) 請求書上の顧客関連のプロパティーを変更する必要がある場合は、以下のようにします。 1. 現行の請求書を無効にする。 1. 無効化した請求書を[複製](https://docs.stripe.com/invoicing/dashboard.md#modify-invoice)します。 1. 新しい請求書で顧客情報を更新する。 ### 確定後のメール デフォルトでは、[collection_method](https://docs.stripe.com/api/invoices/object.md#invoice_object-collection_method) が `send_invoice` に設定されると、Stripe は自動的に請求書を送信します。以下の場合、請求書はメールで送信されません。 - [自動的に請求される](https://docs.stripe.com/invoicing/automatic-charging.md)場合。 - 対象の請求書の[自動請求](https://docs.stripe.com/invoicing/integration/automatic-advancement-collection.md)がオフになっている場合。 - [顧客に確定請求書をメールで送信する](https://dashboard.stripe.com/settings/billing/automatic)オプションがオフになっている場合。 > **顧客に確定請求書をメールで送信する**オプションをオフにすると、自動確定でも手動確定でも請求書は送信されません。 ## 非同期型の支払い *Payment Intents API* (The Payment Intents API tracks the lifecycle of a customer checkout flow and triggers additional authentication steps when required by regulatory mandates, custom Radar fraud rules, or redirect-based payment methods) を使用して、*3D セキュア* (3D Secure (3DS) provides an additional layer of authentication for credit card transactions that protects businesses from liability for fraudulent card payments)認証を完了する方法について、詳細は[概要ガイド](https://docs.stripe.com/payments/3d-secure/authentication-flow.md#when-to-use-3d-secure)をご覧ください。 決済手段によっては、決済を完了するために顧客とのやり取りが必要になります。たとえば、ヨーロッパのカードや銀行振込では、*強力な顧客認証* (Strong Customer Authentication (SCA) is a regulatory requirement in effect as of September 14, 2019, that impacts many European online payments. It requires customers to use two-factor authentication like 3D Secure to verify their purchase) (SCA) が必要になる場合があります。 請求書の [payment_intent](https://docs.stripe.com/api/invoices/object.md#invoice_object-payment_intent) パラメーターを使用して、決済処理のレスポンス (これは `success` または `requires_action` のいずれかである場合があります) を処理する方法を選択します。 PaymentIntent のステータスが `requires_action` の場合、ユーザーは [3D セキュア認証](https://docs.stripe.com/strong-customer-authentication.md) を完了して支払いを完了する必要があります。 これはお客様側で構築するのではなく、Stripe に処理を任せることができます。ダッシュボードで[リマインドメールの送信を有効にする](https://dashboard.stripe.com/settings/billing/automatic)ことで、`requires_action` が発生した場合は常に Stripe から顧客にメールが自動的に送信されるようにします。このメールには、[オンライン請求書ページ](https://docs.stripe.com/invoicing/hosted-invoice-page.md)へのリンクが含まれています。ここで、顧客は請求書の支払いに必要なアクションをすべて実行できます。このメールの詳細や、そのカスタマイズ方法については、[メールリマインダーを送信する](https://docs.stripe.com/invoicing/send-email.md)をご覧ください。