ECサイトの肝とも言えるカード決済システム。そのシステムを構築したこともあるので分かるが、万一漏洩するような事態になったら、金銭面だけでなく、信頼性まで失ってしまう。

そのため、クレジットカード全体のデータは決してインターネット上に置くべきではない。そしてさらにシステムを分離し、異なる権限で管理するのが大事だ。

今回紹介するオープンソース・ソフトウェアはMonkeyCharger、Rails製のクレジットカード管理システムだ。

MonkeyChargerはHTTPベース(RESTベース)で動作するクレジットカード決済エンジンで、カード情報のストア、オーソリ、キャンセルに対応したシステムになっている(もちろん代理店契約は別途必要だが)。

カード情報をMonkeyCharger内でのみ管理することで安全性を高めている。かつそれらの情報がRESTベースでやり取りされる事で内部情報を隠蔽化できるのも利点だ。カード番号登録後にユニークなキーが発行されるので、次回からはその番号を使ってオーソリを取る仕組みだ。

ソースはダウンロードできないが、Subversion経由でチェックアウトできるので、気になる人は取得してみて欲しい。デフォルトでPostgreSQLを利用するようになっているが、MySQLに変更しても大丈夫だろう。

具体的なシステム側の構築法はまだ記述されていないようだが、方法は分かりやすく明確だ。システムを分離し、その間をWeb APIでつなぐというのは様々なシステムでも応用できるだろう。

monkeycharger - Google Code
http://code.google.com/p/monkeycharger/