Closed1
Stripe Invoiceのuncollectible (回収不可)はまだ決済される可能性がある
Stripeではサブスクリプション設定において、サブスクリプション更新失敗時のオプションをいくつか提供してくれている。
uncollectible
なインボイスはまだ支払いされる可能性がある
ここで注意したいのは「インボイスを回収不可とマーク(marked_uncollectible
)」を選択していても、まだそのインボイスに対して支払いが行われる可能性があるということ。
インボイスのステータスがuncollectible
(回収不可)であっても、顧客はBillingPortalからそのインボイスに対して支払いを行うことができる。
たとえ3年前に回収不可となったインボイスについてもユーザーは支払いができるっぽい。支払いができないようにするためには「void
(無効)」というステータスへと変更する必要がある。
もし、ユーザーが再契約を行い新しくサブスクリプションを作成し、なおかつBillingPortalから過去のuncollectible
なインボイスに対して支払いを行った場合、アクティブなサブスクリプションが複数存在してしまう。
対策
自分のプロジェクトでは Webhookでinvoice.marked_uncollectible
イベントを受け取ったときにインボイスを無効化するAPIを叩くことにした。
Stripeがデフォルトで更新失敗時にインボイスを無効化してくれるオプションを用意してくれると助かるんだけどなー
このスクラップは2024/03/05にクローズされました