さて、お次の課題は、自動決済できるようにする、というものです。
具体的には、
- クレジット情報を登録する
- QRコードまたはナンバーを発行し、メールで送付する
- QRコードもしくはナンバーで部屋のロックを解除し、このときに決済を行う。
- ナンバーを3回間違えたら、ナンバーを再発行する。
- 時間がすぎると、キャンセル料8割を決済する。
これらから、どのような実装を行うかを検討します。
クレジット情報は、ユーザーテーブルにカラムを追加するだけでいいのですが、通信はすべて暗号化する必要がありますね。
SSLが有効になるように、証明書の発行と、Webサーバの設定を変えなければいけません。
QRコードはナンバーをそのままQRコードに変換するだけで大丈夫でしょう。
幸い、LaravelにはQRコードを生成するライブラリもあるようです。
それをメールで送付しなければならないので、SMTPを使用しなければなりませんね。
QRコードの読み取りは外部のデバイスを使用する、と仮定して、実装はそのデバイスからナンバーを受け取るためのAPIを用意する必要があると思います。
あとは、コンソールコマンドを用意し、cronで定期実行できるようにすれば問題ないでしょう。
それでは次回から早速実装に入ろうと思います。