私の所属する研究室にて電子マネーの導入を検討しました。
LINE PayやICカードでの取引を検討しましたが、そもそも…
現金払いより手間になっては、電子マネーは普及しない!
やはり誰が買ったのか、何を買ったのかの認証が一番のキモです。
そこで、私はネット通販のようにSlackの専用チャンネルからポチれる電子マネーを導入しました。
slackを活用する利点として,
1.普及している所であれば開くことへの手間が少ない
2.利用者はログインにて認証ができている
3.reactionや豊富なAPIで簡易的な購入コンソールを作ることができる
が挙げられます。早速ご紹介していきましょう。
こちらが私の研究室のshopというchannelの投稿です。
商品の入荷については,担当である僕が入荷時に画像のようなフォーマットで商品情報を投稿します。
そして,どうやってポチるのかと言いますと,商品下の購入っぽいボタンを押せばOKです。このreacitonはbotが勝手に付けてくれます。
実際にペットボトル飲料をポチってみましょう。すると……
やりました,botからDirect Message(slackBot)にて支払い処理完了の通知が届きました。
内部的には,GASより毎分channel.Historyへアクセスし,reactionの情報を受け取り,決済を行なっています。
reactionは1種類につき1人1回しか押せないため,基本的には決済が発生した商品の投稿については毎回削除し,再度reactionのないまっさらな状態でbotが再投稿を行います。
これ実はreactionを削除すれば良いわけですが,現状私の実装だとAPI経由でAPI取得者以外のreactionを削除する事ができませんでした。
これはAPIのscopeの問題だと思っているので,もう少し調べてみようと思っています。
<追記:2017/11/28>
やはり現状は他人のreactionを消すことはできないようです。
There is no way to remove another person's reaction at present. We could certainly share the feedback with the team for you though!
— Slack (@SlackHQ) 2017年10月9日
#マネーチャージ編
電子マネーのチャージの方法をご紹介します。
こちらが,電子マネーのチャージのための画面です。
チャージについては利用者が担当者へ現金を受け渡し,担当者が上記画面より利用者名を選択,金額を入力することでチャージが完了します。
内部的には,誰がいくら持っているかはGoogle SpreadSheetに記録してあります。購入やチャージは基本的にGASを使ってSpreadSheetを弄っているだけですね。上記画面についてもGASからHTMLを吐き出した簡易コンソール画面になります。
チャージも同様に,slackbotにてDirect Messageで通知がきます。
LINE Pay等の既存のものも検討しましたが,全員がクレジットカードや銀行口座の登録をしてサービスを使ってくれるビジョンが見えませんでした。これは利用する環境によってもおそらく変わってきますね。
以上,slackは結構電子マネー(購買システム)との相性は意外と良かったよというご紹介でした。