2022/11/29

研究室ストアの支払いシステムをつくってみた①-購入登録と通知-

こんにちは
B4の宮西です.

私たちの研究室には,研究室ストアという便利なショップが存在します.
ショップといっても,研究室の棚と冷蔵庫に,カップ麺やお菓子,ドリンクが常備されているだけですが...

しかし,営業時間の限られる大学の購買や,大学の外のドラッグストアしか選択肢が存在しない学生にとってはとても便利な存在となっています.特に徒歩0秒で良心的価格な商品を購入できる点はとても魅力的です.かくいう私もついついお菓子を買ってしまいます...

そんな研究室ストアですが,現在は先生が商品購入代金を立て替え,学生は商品利用時にpcで商品の価格一覧表を確認し,各種コード決済アプリにて先生に代金を送金するというシステムになっています.
しかしこのシステムでは,価格の確認と代金の送金に二手間かかるため,
支払いを後回しにしてしまい,知らず知らずのうちに支払いの滞納が度々発生しています.
そこで,商品情報や購入情報登録を自動化するシステムを構築することで,支払いの手間を解決し,滞納の解消を目指します!
考案したシステムはこちらです.

iOSショートカットAppとGoogle App Scriptを用いてシステムを構築します.
まず利用する学生は,iOSショートカットAppに登録されたショートカットを起動します.
するとバーコード読み取り画面に遷移するので利用する商品のバーコードをスキャンします.
続いて利用者自身のメールアドレスを入力します.
以上で購入登録の操作は完了です.
購入内容の確認としてSlackから通知が送られてきます.

またこの購入内容はアプリ側に保存されるため,購入のたびに先生へ送金する必要はなくなります.月初めに送付される請求書の記載額を先生に送金します.送金後は各種コード決済の送金完了画面のスクリーンショットを請求書メールに添付して返信します.アプリ側でチェックが行われて決済完了となります.

システム側の動きとしては,まずショートカットでスキャンしたバーコードナンバーと入力された学生番号をGoogle App Script で作成したwebアプリのURLにHTTPのPOSTメソッドを用いてデータを送信します.
続いてデータを受信したGoogle App Scriptのwebアプリ内で受信したデータをもとに,商品名や価格,購入者名を参照します.参照した情報をもとに,購入情報をGoogle Spreadsheetに記録します.
また並行して,購入情報をSlack APIを用いてSlack BOTから送信します.

月初めの請求の際には,Google Spreadsheetから一か月分の購入情報を取得し合計額を請求書としてGmailで送信します.返送された送金完了画面のスクリーンショットをOCRにかけることで送金額を取得し,請求額と差異が発生していないか確認を行います.



今回は支払いシステムのうち,購入情報登録と通知の部分を構築しました.上記の画像にあるように,iOSショートカットを起動し,スキャン及び購入者のメールアドレスを入力することで,購入情報の登録が完了しています.

次回は月に一度の請求部分を構築していきたいと思います.

最後までお読みいただきありがとうございました.

関連記事はこちら