クレジットカード決済はなんかめんどくさそう…と思ってたのですが、WebPayがとても簡単だったのでご紹介。
ドキュメントも充実していて、かなり開発者フレンドリーだと思います。
テスト環境の利用登録をする
WabPayのページより、テスト環境を利用する登録をします。
メールアドレスがあれば登録できます。
登録すると、ユーザー設定ページで、テスト環境用の公開鍵と秘密鍵が確認できます。
JSのボタンを設置する
CheckoutHelperを使って、カード情報を入力するためのボタンをViewのHTML等に設置します。
ボタンを押してカード情報を入力すると、webpay-token
という名前のパラメータとしてトークンがPOSTされるボタンです。
data-partial="true"
を指定すれば、別途自分でsubmitボタンや他の情報を入力するフォームを作成して一緒にPOSTできます。
課金等を実行する処理を書く
Ruby、PHP、Java、Python、Node.jsなど各言語のライブラリが用意されているので、それを使ってPOSTされたwebpay-token
で課金を実行します。
カード情報を自システムのユーザー情報の1つとして保持しておきたい場合は、Customerを作成して、返ってくる顧客ID(『cus_』で始まる文字列)を保存しておけば、この顧客IDで(カード情報を都度入力せずに)課金を作成することができます。APIでこの顧客IDの顧客情報を取得すれば、カードの種類や有効期限なども表示できるので、カード情報を自システムに保持しなくてすみます。
APIドキュメントもわかりやすく(日本語だし!)、思った以上に簡単に実装できました。