引換券販売システム


QRコード付きの引換券をメールで購入できるシステムをwordpress-woocommerce上に作成。

核となるプラグインは、 githubで拾ってきた”まえチケット”。主な特徴は、

  • チケットを購入すると16桁のランダムな番号とURLを埋め込んだQRコードを生成。
  • 購入後にメールで上記の情報が送られる
  • 店舗側はQRコードを読み取るか、番号を入力すると購入枚数(同一番号で複数購入可能)や使用済みの有無の確認と受付処理ができる。

QRコード生成が、廃止されたGoogleのAPIを利用していたため、そのままでは使えなかった。
そこでQRコード生成ライブラリを組み込んだ。

購入者の必要とされるのはメールアドレスのみ。その他の個人情報は今回は必要ないので
購入ページの大部分の項目を削除した。これには専用のプラグインを導入した。

また、購入後に表示されるThank youページもデフォルトのままでは適当でないので、
Thank youページを作れるプラグインを導入した。

今回は「無料チケット」なので一人1枚だけという制限をつけたかった。

1度に1つだけというのはWoocomerceに元々ある機能で実現できる。
問題は再度購入することを防ぐ仕組みが必要ということ。

1回しか購入できない仕組みについてはネット上にいくつか情報があった。

しかし、公開されているコードではメールアドレスだけチェックしているので、

複数のメールアドレスを使ってその分余計に購入できてしまう。

そこでIPアドレスもチェックするようにした。
完全ではないが複数購入をかなりの部分で防げるだろう。

全購入履歴をサーチすることになるので、件数が多くなった場合は負荷が大きい。