レシートもレスできないのかなぁ

マッシュルーム
2024-07-25
2024-07-25

ここ数年でキャッシュレス決済を導入する店舗が爆発的に増えて、スマートにショッピングが可能となったよね。
私もidとPayPayとvisaの3つを使い分けていて、いま財布を見ると2千円しか入っていなかった。現金はもう自動販売機くらいにしかマジで使わない

そんな便利なキャッシュレスだけど、買い物をしていてふと気付くこともある。

フロー1
だいたいはこの流れだと思う。
セルフレジの場合は商品スキャンを自分でするに置き換わるけど

でも何かモヤモヤを感じないだろうか。
フロー1_paypay
うんうん、キャッシュはレスできている



フロー1_レシートうん、レシートが紙なのだ。
自分が知らないだけかもしれないけど、今まで生きてきた中で実店舗で紙以外のレシートを見たことがない。ネットショッピングとか以外で

私の超強引な価値観では、店員さんの「いらっしゃいませ」から「ありがとうございました」までが「決済」だと思っている。
確かにキャッシュはレスできているが、レシートは紙。ここに物理的な受け渡しが発生している

これではスマートではない!

居ても立っても居られず、緊急でペーパーがレスできる決済を妄想してみる

  • レシートをPDFで生成してお客さんに渡す
  • 店側でもレシートを一定期間は保持する

要件としてはシンプルにこんな感じ。これをPOSレジに組み込んだらできそう。
口で言うだけなら簡単だよね。


ではでは、まずはレシートを保存する場所を決めよう。
なんでもよかったけど、ややこしい設定がいらないサービスがいいね

世界のAmazon様のストレージを借りることにする。

AWS S3(Simple Storage Service)

これに決めた。なんかシンプルっぽいから
S3では保存したオブジェクトのアクセス権限と保存期間を設定することが可能で、例えば管理者だけがアクセス可能で24時間後に消える設定とかもできる。
これはイイネ!


さてさて、権限ガチガチでレシート.pdfを保存できるのはいいけど、どうやってセキュアにお客さんに渡す?


..........あるではないか、S3には最強の機能が

○署名付きURL
(公式サイト)

デフォルトでは、すべての Amazon S3 オブジェクトはプライベートであり、オブジェクトの所有者のみがアクセスできます。ただし、オブジェクトの所有者は、署名付き URL を作成することで、他のユーザーとオブジェクトを共有できます。署名済み URL は、セキュリティ認証情報を使用してオブジェクトをダウンロードするアクセス許可を期限付きで付与します。署名付き URL をブラウザに入力するか、プログラムで使用してオブジェクトをダウンロードできます。署名付き URL で使用される認証情報は、URL を生成した AWS ユーザーのものです。

要約すると、普通なら403になってしまうオブジェクトであっても、めっちゃ長いURLを経由してセキュアにアクセスが可能となる仕組み。
おまけに有効期限も設定できる

よしこれでいこう
レシート.pdfへの署名付きURLを発行し、それを埋め込んだQRコードをレジのモニタかスマホとかに表示させ、お客さんに読み込ませる
読み込むと同時にダウンロードが開始される仕組み付きで


まとめると、

▼レシート
PDFファイル

▼保存場所
S3

▼保存期間
7日くらい
⇒ ストレージ肥大化対策 & プライバシー考慮

▼レシートの渡し方
レシートの署名付きURLが埋め込まれたQRコードからダウンロード
⇒ 署名付きURLの有効期限(ダウンロード可能期限)は24時間くらい


フロー2

どう?クールじゃない?

レシートをいらない人は素通り
いる人はQRコードからダウンロード

スマホで決済して、カバンにしまわずにそのままの流れでDOWNLOAD
導入初期や慣れるまでは炎上しそうな雰囲気もあるけど、そこは慣れで。

もう少しシステムチックなフローを加えるとこんな感じ

フロー2詳細(拡大して表示)

awsやっていると無限の可能性が浮かんでくるね