Stripeで定期支払いの決済に失敗した時だけ手動で請求メールを飛ばす
WPのプラグインとかでStripeのSubscribeフォームを作っていると、カード情報を更新するフォームが用意されてなくて軽く詰む時があります。 今まではそのためのフォームをなんとか作るしかなかった(はず)なのですが、 […]
広告ここから
広告ここまで
目次
WPのプラグインとかでStripeのSubscribeフォームを作っていると、カード情報を更新するフォームが用意されてなくて軽く詰む時があります。
今まではそのためのフォームをなんとか作るしかなかった(はず)なのですが、最近Stripe Billingがアップデートされてよしなにできるようになりました。
Failしたカスタマーをひらく
まずはStripeダッシュボードから決済が失敗している顧客をみましょう。
失敗したログがトップに記録されています。4回目までは自動でリトライがありますが、4回目が失敗すると決済失敗扱いになりますので要注意です。
Failした請求(インボイス)をひらく
カスタマーのページをスクロールすると、[インボイス]という項目があります。ここに失敗した請求が残っていますので、これを開きましょう。
決済URLを取得する
請求詳細ページに移動すると、[詳細]の中に[支払いページ]という項目があります。
このURLをクリックすると、失敗している請求を決済するためのフォームが現れます。
いい感じの決済フォームがあらわれましたね。
念のため支払い期日や請求内容に間違いがないか確認した後、このURLを顧客に案内すればOKです。
これならカード更新フォームを準備していなくても、再決済時に困らずにすみます。
余談:APIからもとれます
この支払いページURLですが、APIからも取得出来る様子です。
$ curl https://api.stripe.com/v1/invoices/in_XXXXXXXXX -u sk_test_XXXXXXXXXXXx: | jq .hosted_invoice_url -r
https://pay.stripe.com/invoice/invst_XXXXXXXXXX
webhookでよしなにしたい場合や、webアプリでカード更新フォーム作りたくない時に使えるかもしれません。