かなり遅くなってしまいましたが、2021年5月10日に開催された「【LIFF/ミニアプリ】LINE×AWS×PayPayでテーブルオーダーを作ってみよう!ハンズオン」の参加レポートです。
https://linedevelopercommunity.connpass.com/event/207867/
手順
GitHubリポジトリ
構成図
手順書より引用
動作内容
良かったポイント
- AWS SAMの対話式デプロイを初めて触った
- PayPayの日本語ドキュメントが充実している
- Webの支払い、アプリの支払い、継続課金など対応しているため、幅広いサービスでPayPay組み込みができそう
- LINEもそうだが、日本語ドキュメントが充実しているのは非常に使いやすい
- サンドボックスアカウントが10万円ぐらいお金が入った状態で作られるので、お金持ちになった気分になれる
詰まりポイント
- LINEやPayPayから複数の設定用の変数(アカウント情報やシークレットキーなど)を持ってくる必要があるので、注意深く作業しないと疎通ができない場合がある
- アカウントIDを設定する箇所が数字だけだと思ったら「数字-xxxxxxxxx」のような後ろのIDまで設定する形式だったので、LINE APIと繋がらない部分があり、結果Cloud Formationのスタックを全削除して手順をやり直す羽目になった
- 普段使わないマイクロサービスだとエラーの見方(出力場所・エラーメッセージの内容)がよくわからなかったりして原因が特定できないので、この辺は慣れが必要
- せっかくのマイクロサービスなので自分で一から構築する際は細かいチェックポイントやマイクロサービスごとのテスト項目を作ると原因究明がしやすいと感じた
- 特に今回はLINEのMessaging APIとLIFF(LINE Front-end Framework)の両方でLINEの設定を行う必要があり、どちらのシークレットキーを設定したのか混乱しやすかった
注意点
- ハンズオンの手順通り作業をするとLINEやPayPayの情報をconfigファイルに直書きすることになるので、誤ってGitHub等に上げないよう注意
- 今回の手順だと開発環境がCloud9なので、作業中微課金が発生する。また、放置しておくとEBSのストレージ料金がかかるので注意
- 環境を壊してしまうと作業した内容が保存しないままなくなったりするので、必要であればバックアップを
- Cloud9はAWS環境を直接叩けるので、IAMやネットワーク設定をかなり省けるのは良いポイントだが、自分のGitHubアカウントとの連携などは手間がかかるので、ローカルとCloud9のどちらを採用するかは一長一短
- ソースコードをガリガリ編集するわけでなく、簡単なコマンド実行を行いたいだけの場合はAWS CloudShellという選択肢もあります(永続化には致命的に向かないので注意)
- 基本無音で動作するアプリなのに支払い時にいきなり「PayPay♪」と言い出すので、音量設定には注意