あんまり普及していないように思える、Walletのパスですが、作成にチャレンジしてみました。
目標はWebからパスを配布すること、です。PHP-PKPassを利用します。
PHP-PKPassのREADME.mdにしたがって作業して行きます。
https://github.com/tschoffelen/PHP-PKPass
この手順に従うとボーディングパスのサンプルを配布することになりますが、今回は配布する試験が目的なのでよしとします。
InstallationはあくまでもPHP-PKPassのインストールですので、インストール後に、examplesフォルダをルートとしてWebサーバを設定する必要があります。
今回は/passbook/index.phpにアクセスするとパスを配布できるようにするつもりですので、Apacheの設定に
Alias /passbook (PHP-PKPassをインストールしたパス)/examples
<Directory "(PHP-PKPassをインストールしたパス)/examples/">
Options +Includes +ExecCGI +FollowSymLinks
AllowOverride All
Require all granted
Require method GET POST OPTIONS
</Directory>
のようなAliasとDirectoryを追記しました。
※2018年4月現在、利用しているApacheは2.4系です。
PHP-PKPassをインストールしたパスには、後ほど、証明書ファイルを格納するので、試験とは言え、Web上に公開するような設定は避けるのが無難です。
手順(Usage)にしたがって証明書を準備して行きます。InstallationはUsageの後に行います。
続いて、証明書を準備します。引き続きREADME.mdのUsageにしたがって準備しますが、証明書に関しては、公式の「Wallet開発者ガイド」を参考にする方が分かりやすいかもしれません。
2018年4月現在のPHP-PKPassのUsageのGetting the example.php sample to workの1番目に出てくるp12ファイルですが、その前のステップ、Requesting the Pass Certificateの5〜6番目で作成したファイルです。
日本語だと、「キーチェーンアクセス」の「ファイル」メニューから「書き出す…」で作成したファイルがp12ファイルです。このファイルを、先のPHP-PKPassをインストールしたパスに格納します。
example.phpを手順2と3に従って適切に修正したら、index.phpにファイル名を変更するのがいいと思います。
/passbook/example.php
でアクセスしても全く問題はありませんが、僕は、
/passbook/index.php
や
/passbook/
でアクセスさせたいので、変更しました。
これで後はiPhoneなりでアクセスすれば、Walletにパスを追加することが出来ます。
サンプルの
// Pass content
$data = [
];
の配列部分を変更すれば、イベントチケットなどのパスを配布できるようになると思います。