FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

○○Payで注目度がアップしているQRコードを生成する方法

f:id:mbaasdevrel:20190802215131p:plain

PayPay、LINE Pay、ファミペイ、メルペイなど様々なペイが生まれ、そして消えています。元々日本では非接触型の決済(Suica、Pasmoなど)が使われてきましたが、置き換わる存在になろうとしているかのようです。

そんな○○Payで使われているのがQRコードです。一時的に生成されるQRコードを読み取って決済したり、QRコードに加えて決済金額を入力することで決済処理を実行します。QRコードが技術的な肝と言える存在でしょう。

今回はそんなQRコードを生成する方法を紹介します。

APIを使う

少し前まではGoogle Chartsの一機能としてQRコード生成を使うことが多かったのですが、現在は非推奨となっています。その代替になるサービスは各種存在します。

APIを使う場合の利点として、特別な準備を必要とせず、QRコードを生成できます。多くは画像として生成できますが、APIによってはPDFやEPSのようなフォーマットで生成できるものもあります。

オープンソースライブラリを使う

外部のAPIを使う場合、QRコードの元になるテキストを外部サービスに送信しなければなりません。そういった外部サービスを使う際のセキュリティリスクは一定量存在するでしょう。特に決済に使うようなQRコードを生成する場合は注意すべきです。

そこでAPIと同等の仕組みを自分たちで用意することもできます。例えば以下のようなプログラミング用ライブラリがあります。

Google Charts同様にグラフを生成できるライブラリもあります。

Open Source Image Charts Replacement API | QuickChart

クライアントサイドで生成する

API、オープンソースのライブラリをサーバサイドで使う場合の双方ともインターネット接続が必要になります。オフラインで使えないのが問題になることもあるでしょう。また、低速なネットワークの時にQRコード画像が表示できない可能性もあります。そこで、クライアントサイドでQRコードを生成するライブラリが活躍します。

これらのライブラリを使うことで、QRコードで読み取らせる文字列はサーバサイドから送り、表示部分はクライアントサイドで実現できるようになります。画像をダウンロードするのに比べて高速に行えるでしょう。

まとめ

QRコードの利便性は高く、様々な場面で利用されています。アプリとしては読み込みが多いですが、逆にQRコードを表示して他のデバイスに読み取ってもらうことも良く行われています。これらのAPIやライブラリを使って、QRコードをアプリ内で活用してください。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。