はじめに
WebpayのPython用ライブラリwebpay-pythonリリースにあたり、コードレビュを担当させていただいたaircastleです。
皆さん、昨日の@keikuboの記事は読まれましたか? rubyを殆ど触ったことのない私でも、短時間でWebpayを利用したショッピングサイトのプロトタイプを作ることができました。是非記事の内容を実行して、その手軽さを体感してくださいね。
さて、今日は、振り返りの意味も込めてWeb決済とWebpayのとても基本的な部分について簡単に説明したいと思います。
この記事の対象者について
まず、この記事の対象者は以下のとおりです。
- 技術に関する知識はあるが、Webpay自体についてまだそれほど知らない方
私はコードレビュを担当させていただくまでWebpayについてあまり知りませんでした。
「同じような人にこそWebpayを知ってほしい」というのがこの記事のモチベーションです。
※コードの記載は極力避けました。
Web決済導入の課題
近年Web上でクレジットカードなどを用いたWeb決済を導入する企業が増えてきましたが、自社サービスに導入するためには何が必要なのでしょうか?
- Web決済を実現するための機能を実装しなければならない
- ユーザの決済情報を自社でセキュアに保存しなければならない
- クレジットカード会社の審査に伴うリードタイムがかかる
上記の3点が大きな課題であり、導入は一朝一夕では難しいことがイメージできると思います。これら課題を解決し、個人や小中規模の企業でもWeb決済を導入できるサービスがWebpayです。
Webpayについて
上記では、Webpayを利用することで解決できる課題を挙げました。解決方法を順番に説明したいと思います。
Web決済を数行のコードでシンプルに実現できる
Webpayでは、Ruby/PHP/Java/Python用のライブラリを提供しており、Web決済を導入するサービスの開発言語に合わせて数行のコードを追加するだけで、簡単に決済機能を実現することができます。
@hmskの少しのコードでWebPayを導入するを例に挙げれば、たった20行程度のコードで決済が実現できています。
ユーザの決済情報を自社で管理する必要がない
Webpayでは、Webpay加盟店が決済情報を保持する必要がないトークン決済を実現しています。
トークンとは、各種決済情報示す一意なIDです。Webpayへデータを保存した際に返されるトークンを加盟店のサーバサイドに保存しておけば、決済情報自体を加盟店がもつ必要がありません。トークンを利用した決済の例として、Webpayのページから図を引用して説明したいと思います。
- Webpay, 加盟店(Webpayのユーザ)、加盟店のユーザの3つの登場人物がおり、
- 加盟店のユーザがブラウザを通じて決済を行う
状況を想定したいと思います。
上の図の状況では、加盟店のユーザがブラウザから決済を実行した後、
- 加盟店のユーザのブラウザからクレジットカード情報がWebpayへ送信される。
- Webpayはクレジットカード情報に紐づくトークンを加盟店のユーザのブラウザへ送信する。
- 加盟店のユーザのブラウザがトークンを加盟店へ送信する。
- 加盟店は トークンを用いて Webpayへ決済を実行する。
- Webpayは決済結果を加盟店へ送信する。
という流れがあり、加盟店は、加盟店のユーザのカード情報をサーバサイドに保持することなく、トークンのみを利用して決済ができました。
クレジットカード会社の審査に伴うリードタイム
Webpayは通常であれば、通常数週間かかる審査期間を、最短3日にすることができます。
また、テスト環境は審査期間中も利用することができ、加盟店サービスの開発を止めることもありません。
終わりに
Web決済導入にあたる課題と、Webpayがそれらの課題をどのように解決するのかを簡単に説明しました。ご存知の方もいるかもしれませんが、ここで紹介した内容は、以下の 参考 に挙げた各種リソースを参照することで、より詳細な情報を得ることができます。この記事がWebpay入門へのキッカケとなれば幸いです。
またWebpayを利用したサービス開発について興味がある方は、これまでの記事だけでなく、これからの記事にもご期待ください。私も次回は技術的な記事を書かせていただきたいと思います。
参考
- Webpay:開発者向けクレジットカード決済サービスWebpayの公式サイトです。決済方法からAPIドキュメントなどの情報があります。ユーザ登録してサービスも利用してみてください。
- BPStudy #74 ウェブ決済入門Webpayの特徴と他社との比較に関する情報です。10分程度で読むことができるので、この記事を読んで興味をもった入門者の方にオススメします。
- WEB+DB PRESS Vol.76Webpay社の皆さんが、Web決済とWebpayについて記事を書いています。より進んだ入門者にオススメします。