こちらの記事で詳しく解説しています
- Node.js v18
- npm
- firebase
- ngrok
- Stripe
-
LINE Developersの管理画面からMessaging APIアカウントを作成し、アクセストークンとボットのベーシックIDをメモする
-
Stripeの管理画面にアクセスし、テスト環境に変更したうえでシークレットキー、webhookの署名シークレット、商品のIDをメモする
-
firebaseの管理画面にアクセスし、 プロジェクトの設定 -> アプリの追加 からfirebaseConfigを取得する
-
.env.sampleを参考に.envファイルを作成する
-
firebaseプロジェクトを立ち上げる
$ firebase init functions
functions/firebase.js
のfirebaseConfigを書き換える
- エミュレータを立ち上げる
$ firebase emulators:start
- ngrokでトンネリングする
$ ngrok http 5001
-
エミュレータのurlの
http://localhost:5001
の部分をコンソールに表示されたngrokのurlに書き換える -
LINEのwebhookに先程のurlに末尾
/webhook/line
を追加したものを設定する -
Stripeのwebhookも同様に末尾
webhook/stripe
を追加したものを設定する -
動作確認してみる テスト用のクレジットカードはカード番号4242424242424242、他の値は適当でOK
-
Stripeを本番環境に変える
-
firebaseにデプロイする
$ firebase deploy --only functions
- LINE, Stripeのwebhook urlをデプロイ後のものに書き換える