FastPayは、事業者が自社サイトに数行のコードを貼り付けるだけでオンラインクレジットカード決済システムを導入できる決済サービス。Yahoo!のアカウントを持っていればとりあえず利用できるっぽいので、早速試してみましょうってことでFastPayのガイドに従って実装してみました。プランなるものを作らなきゃらしいので、FastPayのサイトにアクセスしてみる。右上に「Dashboard」リンクがあるのでこれをクリック。ここでFastPayを利用するための設定ができると。テスト環境が用意されていて全APIを試せるらしい。テスト環境で実装してみる。「Plans」タブを開いて「新規作成」で登録画面がポップアップ表示されるので入力。金額やら課金サイクルなどを入力して登録すると、プランが作成されました。これでFastPay側の準備は整ったので、あとは自分のサイトに実装していくだけ。下記のコードを表示したい箇所に貼りつける。(サンプルコードはFastPayガイドに掲載されています。class="fastpay-button"data-key="アプリケーションID"data-plan="プランID"data-redirect="申込み完了ページURL"></script>[アプリケーションID]:DashboardのAccountページで確認できます[プランID]:作成したプランの詳細ページで確認できます。[申込み完了ページURL]:顧客が決済情報を入力したあとに遷移する自サイトのページURLとここで1つ問題が発生。ボタンクリックで決済情報入力ページをポップアップ表示するか画面遷移するか、2通りのコードが用意されているのだが、ポップアップ表示にしたら申込み完了ページで必要な顧客の情報がなぜか取得できない。画面遷移なら取得できるので、画面遷移で進めることにする。次に申込み確認を自動化するためのAPI実装。※継続課金を有効にするには、顧客からの申込みに対し「確認処理」というものを行う必要がある。方法は、Dashboardから手動で行うか、APIで自動化するかの2通りある。下記のコードを申込み完了ページに貼りつければいいらしい。"subs_xxxxxxxxxxxxxx"));print_r($subscription->getArray());いきなり知らないPHPファイルをrequireしてるけど、なにこれ?ガイドを漁ると、APIライブラリをサーバーにインストールしなきゃっぽい。ことで、ガイドの記載に従ってAPIライブラリをインストール。インストールできたら、これで準備完了。下記はボタンだけ実装したページ。ボタンクリックで決済情報入力ページが表示された。TEST・・・と表示されます。これで完了ページが表示されればOKってあれ?まっしろ・・・なぜだ!うーむ、たぶんAPIの部分だよねー。1行ずつデバッグしますか。requireは問題ないっぽい。インストールしたライブラリは読めてるなー。あ、use演算子でこけてる。なんでだろ、サーバーのPHPバージョンとかかな?クラスのエイリアス宣言してるだけなんだけどな。use演算子は使わないで、直指定でインスタンスを作るように修正。そのあとのコードもチェック。あれ、subscription_idに変な文字列セットしてる。ここ、上で取得してる$tokenをセットしなきゃでしょ。中途半端だな、サンプルコード...他におかしそうなところはないから、もう1回チャレンジ!お、表示された!と思ったら、申込みの確定処理でこけてた。うーん、インスタンスは作成されてるし、トークンも取得できてるんだけどなー。これ以上はライブラリの解析になってくるから、検証はここで断念!一応、確認処理を手動で行えば継続課金できることは確認したから、残念だけど本日はここまで!今度Yahoo!さんに行って聞いてみよ。ちなみに、下記が手動で確認処理を行った結果画面。試してみた所感としては、ガイド通りにやって使えるならば導入は簡単かなーと。API使うのにCURLコマンドでインストールしなきゃだったりするので、UNIXの知識が多少必要かもだけど。ところどころ躓いたので、もうちょっとドキュメントが充実すると嬉しいかなと。あと、確認処理自動化をもっと手軽にできると導入ハードルがぐんと下がりますね。機能追加から1週間なので、ちょっと様子見というところですかね。Tweet小学生・中学生向けプログラミング教室(CoderDojoさいたま第6回)を開催しました。前回記事も見てくれたそうで、ガイドのサンプルコードも更新されてました。検索メールマガジン週1回程度でメールマガジンにて、イベントや勉強会の情報、コワーキングスペース7Fの近況を報告しています。メールマガジンの購読は、以下よりお申し込みください。