Skip to main content

Blog

Stripeで定期支払いの決済に失敗した時だけ手動で請求メールを飛ばす

Posted over 2 years ago
この記事をシェア:

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アプリでカード更新フォーム作りたくない時に使えるかもしれません。

Tools to Support Stripe Development

We provide helpful tools to extend the Stripe Dashboard and streamline development and testing.

View All Tools

Support This Project

If you find this content helpful, consider supporting the project through GitHub Sponsors. Your support helps maintain and improve these tools.