Skip to main content

Blog

Stripeで定期支払の決済URLを管理画面から発行してメールで送信する

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

Stripeを使っていてちょっと悩ましかったのが、決済情報を入力するフォームページを自分で用意しないといけない(と思っていた)ことでした。

SaaSやECなどであれば多くの人に使ってもらうことが前提なのでむしろ「なんでその手間を惜しむの?」となりますが、個人でちょっとした決済をやりたい場合にはそのフォームを用意するのが手間だなぁと。

ただ、ドキュメントやダッシュボードを見ていると、どうも「Stripe側で用意された決済フォームをメールで送る」ということができるみたいです。

メールで決済URLを送るまでの流れ

とりあえず2〜3回試して動作確認できた手順をここからまとめます。

定期支払の商品・プランを登録する

まずは請求したい内容を登録します。

商品には料金プランも登録しておきましょう。

顧客を作成する

続いて決済メールを送信する先を登録しましょう。メールアドレスと管理画面での表示名さえ入力すればOKです。

顧客に定期支払を登録する

続いて顧客に作成した定期支払を登録しましょう。まずは作成した顧客のページを開きます。

[有効な定期支払い]という項目がありますので、ここから[定期支払いの追加]ボタンをクリックします。

先程作成したプランを登録しましょう。消費税やクーポンなどの設定もここでやりますので、入力漏れに注意です。

最後に請求方法を指定します。顧客にクレジットカード情報が登録されていませんので、デフォルトの[顧客に自動請求]のままでは作成できません。そこでBillingから新しく追加された[メールでのインボイスに対して顧客が直接支払いを行う]という項目を選択します。

この項目では、オンライン請求書のリンクをメールに含めるか否かやインボイス送信後何日以内に支払いをすべきかなどの設定ができます。これらの設定を済ませた状態で、[作成]を押しましょう。

これで顧客に対して定期支払を請求する準備ができました。

この状態でしばらくおいておくと、インボイス(請求)がStripe側で自動で送信されるようになります。

56分後にメールを送信する設定

送信されるメールには、決済を行うURLへの案内が記載されています。

"Pay this invoice"をクリックすると、https://pay.stripe.com/ というドメインでStripe側が自動生成した決済フォームページに移動します。

請求のPDF ダウンロードもできる

このフォームで決済を済ませると、支払いが完了し、顧客にクレジットカード情報が登録されるようになります。

決済メールを任意のアドレスに手動で送信する

支払いの設定は完了しましたが、このままではカードが登録されていないため決済ができません。そこで決済URLをメールで送信しましょう。

作成された定期支払いのページからインボイスを確認します。

インボイスのページに「送信」というボタンがありますので、クリックします。

するとメールの送信先(To / CC)とプレビューが表示されます。ここで送信先を指定して、メールを送信すればOKです。

簡単ですね。

2回目以降の決済を自動にする

この機能を使うことで初回の設定、特にカード情報入力フォームの用意という一番手間な部分をノーコーディングで実現できました。しかしこのままでは次回以降の決済もメールで送信されて、顧客側で決済をする必要がでてきます。2回目以降は自動にしたい場合は、定期支払いの詳細ページを開いて設定を更新しましょう。

クレジットカード情報が既に顧客に紐付けされていますので、初回は選べなかった[顧客に自動請求]が選択できるようになっています。

設定を忘れても、決済メールの送信や決済が完了したか否かの確認はStripeがやってくれますので、安心ですね。

なお

この機能、製品ページを見ると「米国のみ」と書かれていたりします。

https://stripe.com/billing

定期支払いではなく、インボイス単体を作成する際に通貨を選べないような挙動がありましたので、おそらくそのあたりの兼ね合いがあるのかなと思っています。

通貨マークが変更できない

定期支払いについては紹介の通り問題なく動作している様子ですので、こちらを使いつつ、単発決済はもう少し様子見してみようと思います。

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.