はじめに
以前社内で利用する目的で、缶コーヒー販売の決済システムをRailsで構築したので、それっぽいシステムをLaravelでより安全に実装してみました!
そもそもStripeとは
2018年も終盤を迎える中、もはや決済システムのデファクトになりつつあるのがStripeです。ちょこっとした決済システムを構築するには必須の技術になるかと思います。その利点はなんといっても審査の必要がなくすぐにシステムの構築を始められるというところです。
詳しくは公式サイトへ!
StripeでECサイトのような1回きりの支払いシステムをStripeで実装する方法は2つあります。
- Stripe Checkoutを使う方法
- Stripe Elementsを使う方法
UI/UXは気にせず、お手軽に便利に実装したい場合はCheckout, UIに柔軟に組み込みたい場合はElements
という感じの認識でひとまずは大丈夫だと思います。
今回はStripe Checkoutを利用してみました
安全な決済処理の図
安全な実装のポイント
- クレジットカードの情報はユーザとStripe間でやりとりさせる
- Stripeへ支払う決済金額の計算ロジックは必ずUnitテストをかく
- GitLabCIなどを利用してデプロイ時には必ずテストを通す
事前準備
- Stripeに登録
- テスト用のAPIキーを取得
- サンプルの.envにAPIキーを設定
詳しい実装方法はサンプルをどうぞ!
社内の無人お菓子販売とかの集金業務が億劫になってる方などいましたら、是非このサンプルを参考にシステムを構築してみてください!
さいごに
Advent Calendar初参加でしたが記事はいかがでしたでしょうか?
毎日Laravelを使っている人のいろいろな考え方に触れられてとても楽しいですね!
引き続きクリスマスまで楽しんでいきたいと思います。それではー!