【9】アプリ開発:決済機能を実装する
Pythonライブラリ・Djangoを使って決済機能をつけたい!ということでさっそく始めていきます。
この記事では、私が作るまでに参考にしたサイトや流れを書きました。
1、いつもの流れ(フォルダ作成~カスタムユーザー作成)
どのアプリでも最初にしていることですが、カスタムユーザーを作成・マイグレーションします。最初にデフォルトのユーザーでマイグレーションしてしまうと、あとから住所など好きな情報を加えられなくなるためです。(今回は使用しません)
2、決済機能の実装(買い切り商品版)
決済機能の実装は「Stripe」(ストライプ)というウェブサービスを使用しました。もちろん自分で一から作るのも手なのですが、非常に労力がかかる(し自分レベルには難しすぎる)上に、セキュリティ問題もあります。もし万が一カード情報が漏洩してしまった…なんてなったら取り返しがつきません。
Stripeのメリット・デメリットは以下のサイトに分かりやすくまとまっています。ざっくり言えば、「簡単」「セキュリティなども安心」「だけど手数料3.6%とられる」。
実装は以下のサイトを参考にさせていただきました。非常に丁寧で、全く初めての自分でも2時間ほどで決済完了画面まで表示できました。
「Stripe CLIのインストール」だけ詰まってしまったので、私(Windows)がうまくいった方法について最後にメモしておきます。もし同じところで詰まっている方がいらっしゃれば参考になれば嬉しいです…!
3、決済機能の実装(サブスク版)
実はサブスクも同じStripeでできちゃいます、しかも先程作ったアプリを数行書き換えるだけで。
以下参考にさせていただいたサイトです。本当に、先人の方々に感謝です…!
公式のチュートリアルも貼っておきます。Pythonとは言ってもFlaskで作られているため適宜Djangoに読み替える必要はありますが…一度目を通しておくことをお勧めします!
おわりに
以前、ある大学受験の塾の先生から「全部理解できてから次に進むより、多少分からなくてもまず1周終わらせて、繰り返して慣れていった方が成績伸びるんだよ」というお話を伺いました。
正直、私もまだ仕組みについて分からないことがたくさんあります……
もちろん分からないなりに読み解いていくことも大切だけど、もし私と同じようになかなか詰まって進めないという場合は、取り敢えず決済完了画面までの流れを体験してみてはどうでしょうか。
そのためのテスト環境でもあるので!笑
次回はいよいよ10回目ですね、来週もよろしくお願い致します!
ではでは!
補足:Stripe CLIのインストールで詰まったところ
ベースは公式サイトに沿っていきます。
【1-3】
プログラム実行は、一瞬だけコマンドプロンプトが表示されてその後何もなかったかのように静まりますが、正常動作なので気にしないでください。
【2-1】
まずコマンドプロンプトを開きます。ただし、私の場合サイト通り「stripe login」と打ってもエラーが出てしまいました……
そこで先程のプログラムがあるフォルダまで「cd」コマンドで移動して、改めて実行すると
Your pairing code is: { 照合用コード }(あとで確認に使います)
This pairing code verifies your authentication with Stripe.
Press Enter to open the browser or visit https://dashboard.stripe.com/stripecli/confirm_auth?t=kanviVeBAIKwc17TvZ1dNqhiZGnlPdDY (^C to quit)
↓ Enterキー
> Done! The Stripe CLI is configured for { ユーザー名 } with account id { アカウントID }
Please note: this key will expire after 90 days, at which point you'll need to re-authenticate.
と表示されます。
この先は、再びサイトの流れに沿っていけば出来るはずです!