KDDIは2001年9月,EC(電子商取引)サイト向けの決済代行システム「PayCounter」をWebサービス化した。PayCounterの呼び出し/応答インタフェースをXML(拡張可能マークアップ言語)データ化し,それをSOAP(簡易オブジェクト・アクセス・プロトコル)で伝送できるようにした。ポイントになったのはエラーの取り扱い。Webサービスで必要になる処理や,SOAPの仕様で不明瞭な部分を,既存技術や運用で補った。

(実森 仁志=hjitsumo@nikkeibp.co.jp)

写真1●KDDIが提供する決済代行サービス
「PayCounter」のWebページ
図1●PayCounterが想定する利用モデル
PayCounterは,ECサイトや有料コンテンツ・サイトなどに複数の決済方法を提供するサービス。より多くのサイトから,少ない変更で利用できるようにする必要があった
図2●KDDIが実施したシステム変更のポイント
従来は契約サイト向けの接続モジュールを開発/サポートしていたが,XMLデータによるシステム間インタフェースのみを提供するように変更した。XMLデータの伝送に,SOAPを使用する
 KDDIは2001年9月,同年5月から提供していたEC(電子商取引)サイト向けの決済代行システム「PayCounter(ペイカウンタ)」(写真1)に,Webサービス・インタフェースを追加した。Webサービスとは,XML(拡張可能マークアップ言語)という標準技術を活用し,インターネット上のアプリケーションを柔軟に連携するためのシステム・モデル。KDDIは,従来採用していた独自の接続方式に加え,今後は標準技術に基づく接続方式をサポートすることで,ECサイトと接続しやすい決済サービスを提供する考えだ。

 Webサービス化の過程でポイントになったのは,エラーが発生したときのその取り扱い。XMLデータのエラーの検出方法を工夫した。例えば,ECサイトとやりとりするXMLデータのエラーを検出するのに,XMLパーサーのスキーマ検証機能を利用して開発効率を上げた。また,XMLデータへの変換などで生じるオーバーヘッドを,社内システム側の処理短縮でカバーする。

複数の決済手段を提供

 PayCounterは,ECサイトや有料コンテンツ・サイト向けに複数の決済手段を提供するサービスだ(図1[拡大表示])。通常,ECサイトや有料コンテンツ・サイトに決済機能を追加する場合,クレジット会社やコンビニエンス・ストアなどと個別に契約し,それぞれの仕様に合わせてシステムをつなぎ込んだりしなければならない。PayCounterを利用すれば,KDDIと契約するだけで次の5つの決済方法を利用可能になる。(1)クレジット・カードによる支払い,(2)コンビニエンス・ストアでの支払い,(3)運送会社への代引き,(4)KDDIのISPサービス「DION」での回収代行,(5)KDDIのプリペイド・カード「KDDIスーパーワールドカード」による支払い――である。

 こうした幅広いサービス内容がECサイトに受け入れられ,サービスを開始した2001年5月からの数カ月で,すでに20サイトの決済を代行している。

Webサービス化に着手

 KDDIがPayCounterをWebサービス化することにしたのは,2001年6月のこと。トヨタが運営する情報サイト「GAZOO(ガズー)」と接続するためだった。GAZOO側では,KDDIスーパーワールドカードを使ったプリペイド式の決済機能の導入を考えていた。

 もともとPayCounterにECサイトを接続する場合,ECサイトにKDDIが開発した接続モジュールを組み込む形態を採っていた。このモジュールを使ってソケット通信し,データ交換する仕組みであった。しかし,この方法には,KDDIとECサイトの双方にとって問題があった。KDDI側から見れば,ECサイトに組み込む接続モジュールをサポートしなければならない。ECサイトから見れば,KDDI製のコンポーネントの仕様を理解して自社システムに組み込み運用しなければならない。

 そこで目を付けたのが,XMLデータをSOAP(簡易オブジェクト・アクセス・プロトコル)でやりとりする――という国際標準技術に基づくWebサービスの仕組み(図2[拡大表示])。PayCounter側は決済機能をWebサービス化し,GAZOO側はWebサービス・クライアント化してそれを利用する。「標準技術に基づいた接続方法をサポートすることで,将来的にECサイトから接続しやすい決済サービスを提供できる」(IP事業本部 IPビジネス開発部 アプリケーションビジネスグループリーダーで次長の猪澤 伸悟氏)というメリットが期待できる。

 こうしてKDDIとトヨタは,XMLデータをSOAPで伝送してシステム間連携することに決め,開発に着手した。