ステータスの遷移と確定
請求書のステータスの遷移と確定についてご紹介します。
次の図は、請求書のステータス移行の各種経路を示しています。
ステータス移行と確定
遷移とエンドポイント
次の表は、ステータスの移行やそのエンドポイントの概要を示しています。エンドポイントで送信される Webhook や、移行先の各ステータスも示されています。
ステータス | API エンドポイント | 送信される Webhook | 終了ステータス |
---|---|---|---|
draft | DELETE /v1/invoices/:id | invoice. | (削除済み) |
draft | POST /v1/invoices/:id/finalize | invoice. | open |
open | POST /v1/invoices/:id/pay | invoice. | paid |
open | POST /v1/invoices/:id/pay | invoice. | open |
open | POST /v1/invoices/:id/send | invoice. | open |
open | POST /v1/invoices/:id/void | invoice. | void |
open | POST /v1/invoices/:id/mark_uncollectible | invoice. | uncollectible |
uncollectible | POST /v1/invoices/:id/pay | invoice. | paid |
uncollectible | POST /v1/invoices/:id/pay | invoice. | uncollectible |
uncollectible | POST /v1/invoices/:id/void | invoice. | void |
下書き請求書を確定する
When you enable automatic collection, Stripe automatically finalizes, and begins automatic collection of the invoice. We wait 1 hour after receiving a successful response to the invoice.
event before attempting payment. If we don’t receive a successful response within 72 hours, we attempt to finalize and send the invoice. You can configure a longer grace period.
インボイスの作成時の初期ステータスは status=draft
です。インボイスはこの状態にある場合にのみ編集可能です。インボイスの決済準備が整ったら、確定します。インボイスを確定すると、ステータスが status=open
に設定されます。インボイスは、ダッシュボードで手動で確定することも、Finalize エンドポイントを使用して確定することもできます。Webhook エンドポイントを設定している場合は、インボイスの確定時に invoice.
イベントが届きます。
本番環境では、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_
に設定されると、Stripe は自動的に請求書を送信します。以下の場合、請求書はメールで送信されません。
- 自動的に請求される場合。
- 対象の請求書の自動請求がオフになっている場合。
- 顧客に確定請求書をメールで送信するオプションがオフになっている場合。
注
顧客に確定請求書をメールで送信するオプションをオフにすると、自動確定でも手動確定でも請求書は送信されません。
非同期型の支払い
支払い方法によっては、支払いを完了するために顧客とのやり取りが必要になります。たとえば、ヨーロッパのカードや銀行振込では、強力な顧客認証 (SCA) が必要になる場合があります。
請求書の payment_intent パラメーターを使用して、支払い処理のレスポンス (success
または requires_
) を処理する方法を選択します。
PaymentIntent のステータスが requires_
の場合は、ユーザーに 3D セキュア認証の実行を依頼して支払いを完了させる必要があります。
これはお客様側で構築するのではなく、Stripe に処理を任せることができます。ダッシュボードでリマインドメールの送信を有効にすることで、requires_
が発生した場合は常に Stripe から顧客にメールが自動的に送信されるようにします。このメールには、オンライン請求書ページへのリンクが含まれています。ここで、顧客は請求書の支払いに必要なアクションをすべて実行できます。このメールの詳細や、そのカスタマイズ方法については、メールリマインダーを送信するをご覧ください。