Billing の回収方法
請求書とサブスクリプションの回収に利用する方法を設定する
ダッシュボードまたは API のいずれかを使って請求書とサブスクリプションを作成するときに、必要な支払い回収方法を設定できます。
自動請求と手動支払いの比較
回収方法によって、Stripe での両商品の支払い処理の方法が決まります。請求書とサブスクリプションの支払いの回収には、次の方法のいずれかを選択できます。
- 自動請求
- 手動による支払い
注
電信送金などの手動支払い方法には厳密な追跡プロセスと消し込みプロセスがあり、多くは大企業のクライアントで取引総額が多額となる場合に必要とされます。銀行振込などの一部の支払い方法は send_
にしか対応しないため、自動請求することができません。
請求書の回収方法を設定する
Invoicing API を使用して請求書の回収方法を設定するには、collection_method 属性を使用します。
charge_
: 購入者のデフォルトの支払い方法に自動請求して請求書の支払いを求めます。automatically send_
: 手動決済の請求書を送信します。ただちに支払う必要がある自動決済とは異なり、手動決済では購入者に支払い猶予期間が与えられ、その期間は調整可能です。オンライン請求書ページを使用して、支払いを促すメール通知とリマインダーを設定できます。invoice
サブスクリプションの回収方法を設定する
Subscription API でサブスクリプションの回収方法を設定するには、collection_method 属性を使用します。サブスクリプションの回収方法を変更すると、それ以降に作成されたサブスクリプションの請求書でのみ、その新しい回収方法が使用されます。
charge_
: 請求期間ごとに生成された請求書の支払いを求めて、顧客のデフォルトの決済手段に自動請求するように Stripe に指示します。automatically send_
: 請求期間ごとに請求書を生成して、手動で支払う必要があります。ただちに支払う必要がある自動決済とは異なり、手動決済では購入者に支払い期間が与えられ、その期間は調整可能です。invoice
支払い方法のない無料トライアルへの自動請求
collection_method 属性を charge_
に設定したまま、顧客から支払い方法を収集せずにサブスクリプションの無料トライアルを作成できます。トライアル期間中、顧客はカスタマーポータルを使用して支払いの詳細を追加することができます。トライアル期間が終了すると、顧客のデフォルトの支払い方法に自動的に請求が行われます。トライアルが支払い方法の指定なしで終了した場合に、サブスクリプションを一時停止 / キャンセルするように設定することもできます。支払い方法を収集せずに無料トライアルを作成する方法についてご紹介します。
手動決済請求書の期日
send_
の 回収方法 を使用して、手動決済の請求書に期日を設定できます。期日の 10 日前から 60 日後までの間で 3 回までリマインダーを設定することもできます。
また、請求書の期日が過ぎてから 30 日後、60 日後、または 90 日後にサブスクリプションに対して追加のアクションを実行することもできます。選択肢は次のとおりです。
設定 | 説明 |
---|---|
サブスクリプションをキャンセルする | サブスクリプションは、リトライスケジュールで定義された最大日数を過ぎた後、canceled ステータスに変わります。 |
サブスクリプションを未払いとしてマーク | サブスクリプションは、リトライスケジュールで定義された最大日数を過ぎた後、unpaid ステータスに変わります。請求書は引き続き生成されますが、draft ステータスで保持されるか、お客様の請求書設定で指定されているステータスに移行します。 |
サブスクリプションを期日経過のままにする | サブスクリプションは、リトライスケジュールで定義された最大日数を過ぎても past_ ステータスのまま残ります。請求書は引き続き open ステータスで生成されます。 |
回収方法と支払いの失敗
支払いが失敗した場合に生成される subscription statuses (サブスクリプションステータス) と invoice statuses (請求書ステータス) は、回収方法に応じて異なります。
サブスクリプションの決済の失敗
payment_behavior に allow_
を、collection_
に charge_
を指定してサブスクリプションを作成すると、支払いが即時に試行されます。初回の支払い処理が完了しなかった場合は、サブスクリプションの status
が incomplete
としてマークされます。
payment_
に default_
を渡すと、初回の請求書に支払いが必要な場合、サブスクリプションが常に incomplete
状態で開始します。結果として得られる PaymentIntent は、別のリクエストで支払いを試みて確認する必要があります。
allow_
と default_
のどちらでも、初回の請求書が支払われると、サブスクリプションは active
になります。作成時に支払われる必要のないサブスクリプション (トライアル中など) のステータスは即時に active
になります。初回の請求書が 23 時間経っても支払われない場合、サブスクリプションは incomplete_
に設定されます。このステータスは取り消せない最終的な決定であり、未払いの請求書と以降の請求書が無効になります。
失敗した継続支払い
決済が失敗した場合、または顧客認証が必要な場合、サブスクリプションのステータス
はpast_
に設定され、PaymentIntent ステータスはrequires_
またはrequires_
のいずれかになります。
これらのシナリオを管理するには、Webhook エンドポイント を設定し、customer.subscription.updated イベントを待ち受けて、サブスクリプションが past_
ステータスになったときに通知を受け取るようにします。
{ "id": "sub_E8uXk63MAbZbto", "object": "subscription", ... "status": "past_due", "latest_invoice": "in_1EMLu1ClCIKljWvsfTjRFAxa" }
これらのサブスクリプションでは、別の決済手段を収集するため、顧客をアプリケーションにリダイレクトして決済を完了してもらう必要があります。これには、メールまたはモバイルプッシュ通知を使用できます。Stripe では、このような場合に対応するリマインダーメールが組み込まれており、ダッシュボードの 請求設定 で設定できます。
顧客がアプリケーションに戻った際は、関連する PaymentIntent のステータスに基づいて、決済失敗フロー または 顧客アクションフロー のいずれかを再利用します。決済が成功すると、サブスクリプションのステータスは active
、請求書は paid
になります。
未完了のサブスクリプションの失敗
サブスクリプションのステータスが incomplete
になっている場合は、請求書または請求書アイテムの作成に寄与しない属性 (metadata、save_default_payment_method、description など) を更新することのみできます。
サブスクリプションを自動更新に設定している場合に決済に失敗すると、サブスクリプションは past_
ステータスに移行します。その後、Stripe が決済リトライを上限回数まで試行しても成功しなかった場合、そのサブスクリプションを canceled
または unpaid
とマークします (これは subscriptions settings によって異なる場合があります)。。
一方、サブスクリプションの collection_
が send_
に設定されている場合は、支払い期日までに請求書が支払われない場合に past_
になります。期日を延期しても顧客が支払わない場合、サブスクリプションの設定に応じてサブスクリプションは canceled
または unpaid
とマークされます。
サブスクリプションが unpaid
のステータスになっている場合、以降の請求書は作成されますが、下書きのままになります。その場合、支払いを回収するために past due
の請求書と作成された下書きの請求書を再送信するオプションを利用できます。数カ月にわたって未払いの状態が続いている請求書の支払いの回収を試みる際 (未払いのサブスクリプションに関連付けられた商品またはサービスの提供を継続している場合など)、この機能を使用するか、商品またはサービスの提供をやめて請求書をクローズし、未払いに変更します。
請求した支払いの失敗
collection_
が charge_
に設定され、自動進行が無効になっているサブスクリプションに関連付けられていない請求書は、初回の支払い処理に失敗しても、open
のまま保持されます。自動進行が無効になっているため、請求書が自動的にクローズされたり、再試行されたり、別のステータスに移行したりすることはありません。詳しくは、支払い失敗の管理と顧客に送信済みの請求書の管理をご覧ください。
請求書に対して auto-advancement が有効になっている場合、Stripe はすべての支払いリトライに失敗した後で、その請求書を自動的に uncollectible
ステータスとしてマークする可能性があります (invoice status settings によって異なります)。
回収方法が send_
に設定されている場合、請求書を手動で支払う必要があります。支払い期日を過ぎても請求書が支払われない場合は、ステータスが past_
になり、請求書の期日を過ぎたことが示されます。支払い期日を延期しても顧客が支払わない場合は、請求書を past_
のままにしておくか、uncollectible
または void
に移行させることができます。
大企業のクライアントと電信送金
電信送金などの手動支払い方法には、大企業のクライアントに対するメリットがいくつかあります。これらの支払い方法では自動支払い方法と比較すると厳密な追跡プロセスと消し込みプロセスがあることが多く、そのプロセスは取引総額が大きい企業には極めて重要です。collection_
を send_
を設定することで、十分な裏付けがある明確な請求書を生成でき、企業顧客はその請求書を電信送金で支払うことができます。電信送金はこのようなタイプの企業顧客によく選ばれる支払い方法です。