ステータスの遷移と確定
次の図は、請求書のステータス移行の各種経路を示しています。
ステータス移行と確定
遷移とエンドポイント
次の表は、ステータスの移行やそのエンドポイントの概要を示しています。エンドポイントで送信される Webhook や、移行先の各ステータスも示されています。
ステータス | API エンドポイント | 送信される Webhook | 終了ステータス |
---|---|---|---|
draft | DELETE /v1/invoices/:id | invoice.deleted | (削除済み) |
draft | POST /v1/invoices/:id/finalize | invoice.finalized | open |
open | POST /v1/invoices/:id/pay | invoice.paid | paid |
open | POST /v1/invoices/:id/pay | invoice.payment_failed | open |
open | POST /v1/invoices/:id/send | invoice.sent | open |
open | POST /v1/invoices/:id/void | invoice.voided | void |
open | POST /v1/invoices/:id/mark_uncollectible | invoice.marked_uncollectible | uncollectible |
uncollectible | POST /v1/invoices/:id/pay | invoice.paid | paid |
uncollectible | POST /v1/invoices/:id/pay | invoice.payment_failed | uncollectible |
uncollectible | POST /v1/invoices/:id/void | invoice.voided | void |
下書きインボイスを確定する
自動請求を有効にすると、Stripe は自動的にインボイスを確定し、自動請求を開始します。Stripe は invoice.created
イベントへの成功応答を受信してから 1 時間待機し、その後決済を試みます。 72 時間以内に成功応答を受信できない場合には、Stripe はインボイスの確定と送信を試みます。
インボイスの作成時の初期ステータスは status=draft
です。インボイスはこの状態にある場合にのみ編集可能です。インボイスの決済準備が整ったら、確定します。インボイスを確定すると、ステータスが status=open
に設定されます。インボイスは、ダッシュボードで手動で確定することも、Finalize エンドポイントを使用して確定することもできます。Webhook エンドポイントを設定している場合は、インボイスの確定時に invoice.finalized
イベントが届きます。
本番環境では、Webhook エンドポイントが正しく応答しない場合、Stripe は指数バックオフを使用して最長 3 日間 Webhook 通知の再試行を続けます。テスト環境では、数時間にわたり 3 回再試行します。その間は、正常な応答を受信しない限り顧客への請求を試行しません。また、Webhook にエラーが発生していることを知らせるメールも送信します。
この動作は、お客様のアカウントで定義されたすべての Webhook エンドポイントに適用されます。Connect アプリケーション、またはその他のサードパーティーサービスで受信 Webhook を処理できない場合も含まれます。
確定後
インボイスを確定すると、次のようになります。
- インボイスに対する支払いが可能になる。
- インボイス番号が存在することを確認できる。
- インボイス上の特定のプロパティが変更不可能になる。
- インボイスに対し、未完了の Payment Intent が作成される。
- インボイスの支払いに使用できる一意の URL と、インボイスの PDF をダウンロードするためのリンクが生成される。
注意
請求書が確定されていない場合は、支払いを回収できません。
確定されたインボイスの制約
インボイスの確定後は、金額と顧客に関する特定のフィールドを変更することはできません。これは、法的に定められた最低期間の間、確定したインボイスを確定された時点の状態のまま保持する、という税務上の一般的な要件を満たすためのものです。
管轄区域によっては、インボイスの合計請求金額に影響するフィールドを編集すると、インボイスが無効になる場合があります。通常、アカウントや顧客、ラインアイテム、または税金に関連するフィールドがこれに該当します。作成するインボイスが、適用されるすべての法律に準拠していることをお客様自身の責任でご確認ください。
確定後にインボイスの金額を更新する必要がある場合は、クレジットノートを使用します。 クレジットノートを使用すると、顧客が支払うべき金額に調整額を指定して、インボイスの金額を変更できます。 クレジットノートは、ステータスが open
または paid
のインボイスに対して発行できます。確定したインボイスは、以下の顧客フィールドがコピーされ、変更不可になります。
- invoice.customer_address
- invoice.customer_email
- invoice.customer_name
- invoice.customer_phone
- invoice.customer_shipping
- invoice.customer_tax_exempt
- invoice.customer_tax_ids
インボイス上の顧客関連のプロパティーを変更する必要がある場合は、以下のようにします。
- 現行のインボイスを無効にする。
- 無効化したインボイスを複製します。
- 新しいインボイスで顧客情報を更新する。
確定後のメール
デフォルトでは、collection_method が send_invoice
に設定されると、Stripe は自動的にインボイスを送信します。以下の場合、インボイスはメールで送信されません。
- 自動的に請求される場合。
- 対象のインボイスの自動請求がオフになっている場合。
- 顧客に確定請求書をメールで送信するオプションがオフになっている場合。
注
顧客に確定請求書をメールで送信するオプションをオフにすると、自動確定でも手動確定でも請求書は送信されません。
非同期型の支払い
支払い方法によっては、支払いを完了するために顧客とのやり取りが必要になります。たとえば、ヨーロッパのカードや銀行振込では、強力な顧客認証 (SCA) が必要になる場合があります。
請求書の payment_intent パラメーターを使用して、支払い処理のレスポンス (success
または requires_action
) を処理する方法を選択します。
PaymentIntent のステータスが requires_action
の場合は、ユーザーに 3D セキュア認証の実行を依頼して支払いを完了させる必要があります。
これはお客様側で構築するのではなく、Stripe に処理を任せることができます。ダッシュボードでリマインドメールの送信を有効にすることで、requires_action
が発生した場合は常に Stripe から顧客にメールが自動的に送信されるようにします。このメールには、オンライン請求書ページへのリンクが含まれています。ここで、顧客は請求書の支払いに必要なアクションをすべて実行できます。このメールの詳細や、そのカスタマイズ方法については、メールリマインダーを送信するをご覧ください。