説明

決済処理装置、決済処理方法、及びプログラム

【課題】複数の加盟店から、複数の金融機関に対する決済処理をプロトコルや変数に影響されずに行うことが可能な決済処理装置を提供する。
【解決手段】決済処理装置1は、加盟店端末装置11−1から送られる決済要求情報であるリクエスト電文29を受信する。決済処理装置1は、記憶部17に格納する加盟店別定義ファイル19と銀行別定義ファイル21を参照して、加盟店端末装置11−1で扱うデータの情報形態(変数の数、型、桁数、単位等)を、指定される銀行サーバ13−1が扱う情報形態に変換する。決済処理装置1は、変換したデータに改竄検証用のハッシュ値を付加してリクエスト電文31を生成し、銀行サーバ3−1に送信する。加盟店3は決済処理装置1を介することで、独自の決済システムを構築することなく、指定する金融機関での決済処理を行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の加盟店が、複数の金融機関において行う決済処理を媒介する決済処理装置に関する。
【背景技術】
【0002】
現在、オンラインショッピングシステムや証券会社のオンライントレーディングシステム等は決済処理を行う際に、銀行等の提携金融機関のオンラインバンキングシステムを利用して決済処理を行っている。オンラインショッピングシステムや証券会社のオンライントレーディングシステム等はそれぞれのWEBサイトを有し、ユーザとの間で商品の売買を行う際に、複数の提携金融機関のオンラインバンキングシステムでの決済処理環境をユーザに対して提供する。
【0003】
オンラインショッピングシステムや証券会社のオンライントレーディングシステム等は、各々の独自のシステム内で使用する決済処理に関する変数等を、それぞれの提携金融機関の扱う変数に変換し、提携金融機関のオンラインシステムに適合するデータ仕様に変換して決済処理を行っていた。
【0004】
各提携金融機関との間の送受信データには決済情報が含まれるため、データには暗号化が施される。暗号化方法は金融機関毎に採用するプロトコルが異なり、例えばMD5(Message Digest 5)、3DES(Triple DES)、SSL(Secure Socket Layer)等の暗号化方式が用いられる。従って、オンラインショッピングシステムや証券会社のオンライントレーディングシステム等は、金融機関毎に暗号化のプロトコルの設定を行っていた。
【0005】
XML言語(eXtensibile Markup Language)で共通のフォーマットを定義することで複数のサービス提供者(例えば証券会社のオンライントレーディングサイト)間で情報の共有を可能とし、各サービス提供者に変換された情報を異なるインターフェースで表現することを可能にしたオンライン証券システムがある(特許文献1)。即ちサービス提供者は独自にトレーディングサーバを開発する必要性がなくなり、サービス提供者は独自のインターフェースのデザインとそれへ変換する手段を開発するのみで、取引者に対しては独自のオンライン証券システムを構築しているかのように見せることができる。
【0006】
【特許文献1】特開2002−230290号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1のオンライン証券システムは、トレーディングシステムのインターフェース(WEBサイトのデザイン等)が異なっても、情報変換手段により内部の情報の共有化を行うものであり、各種金融機関のオンラインバンキングを利用した決済方法におけるシステムの共通化については言及されていない。
【0008】
また、従来のオンラインショッピングシステムや証券会社のオンライントレーディングシステム等は、それぞれ独立したシステムにおいて、決済方法をそれぞれの提携先の金融機関毎に構築する必要があり、システムが複雑化し、システム構築にもコストがかかるという問題点があった。
【0009】
また、オンラインショッピングシステムや証券会社のオンライントレーディングシステム等は提携先の金融機関が増えると、その度に当該金融機関が採用するプロトコルや変数(パラメータ)に対応するシステムを追加構築しなくてはならないという問題点がある。
【0010】
本発明は、このような問題を鑑みてなされたもので、その目的とするところは、複数の加盟店からの、複数の金融機関に対する決済処理をプロトコルや変数に影響されずに行うことが可能な決済処理装置を提供することである。
【課題を解決するための手段】
【0011】
前述した目的を達成するための第1の発明は、複数の加盟店側に属する端末装置と複数の金融機関側に属する金融機関サーバとにネットワークを介して接続され、前記端末装置と前記金融機関サーバとの間における決済要求情報及び決済応答情報を含む決済情報を処理する決済処理装置であって、前記加盟店ごとの前記決済情報の仕様を含む加盟店定義ファイルと前記金融機関ごとの前記決済情報の仕様を含む金融機関定義ファイルとを保持する保持手段と、前記加盟店定義ファイルと前記金融機関定義ファイルとを参照して、前記端末装置から送られる前記決済要求情報を前記端末装置が指定する前記金融機関サーバが利用可能な情報形態に変換して当該金融機関サーバに送信する第1の変換送信手段と、前記加盟店定義ファイルと前記金融機関定義ファイルとを参照して、前記金融機関サーバから送られる前記決済応答情報を前記端末装置が利用可能な情報形態に変換して当該端末装置に送信する第2の変換送信手段と、を具備することを特徴とする決済処理装置である。
【0012】
加盟店とは、インターネット等のネットワークを利用するオンラインショッピングシステム提供会社やオンライントレーディングシステムを提供する証券会社等を想定する。加盟店は、ネットワークを介して決済処理を行う際に、銀行等のオンラインバンキングシステムに接続して決済処理を行う。
【0013】
金融機関は、銀行、郵便局等のオンラインバンキングシステムを備える金融機関であることを想定する。当該金融機関にネットワークを介して接続して決済処理を行う際には、決済データの安全確保のため送受信データには暗号化処理を施す必要がある。各金融機関は暗号化方式を独自に採用し、更に決済処理に使用する変数(パラメータ)やその条件(桁数、変数の型、単位等)も独自に設定している。
【0014】
決済要求情報は、加盟店から金融機関に送られる決済処理を要求する情報であり、金融機関名、商品の単価、商品の数、金額、決済日時等の情報が含まれる。
【0015】
決済応答情報は、加盟店からの決済要求情報に対して金融機関から加盟店に返される情報である。決済応答情報には決済処理の結果に関する情報が含まれる。
【0016】
加盟店定義ファイルは、加盟店毎の当該加盟店に関する情報(加盟店名、電話番号、住所、代表者名、加盟店を識別するための加盟店ID、加盟店のアクセス先URL等の情報)、決済情報の仕様(加盟店が決済処理に使用する変数の型、桁数、単位等の情報と、当該決済システム1で使用する変数との変換表)等を含む。
【0017】
金融機関定義ファイルは、金融機関毎の当該金融機関に関する情報(金融機関名、電話番号、住所、代表者名、金融機関を識別するための金融機関ID、金融機関のアクセス先URL、リダイレクト先URL、プロトコル、暗号化方式、改竄検出のためのハッシュ値生成規則、タイムアウト等の情報)、決済情報の仕様(加盟店が決済処理に使用する変数の型、桁数、単位等の情報と、当該決済システム1で使用する変数との変換表)等を含む。
【0018】
情報形態とは、送受信される情報のプロトコルや暗号化方式、決済情報の送受信データに使用する変数の数や、変数の型・桁数・単位等である。
【0019】
第1の発明による決済処理装置は、加盟店ごとの決済情報の仕様を含む加盟店定義ファイルと金融機関ごとの決済情報の仕様を含む金融機関定義ファイルとを保持し、加盟店定義ファイルと金融機関定義ファイルとを参照して、端末装置から送られる決済要求情報を端末装置が指定する金融機関サーバが利用可能な情報形態に変換して当該金融機関サーバに送信し、加盟店定義ファイルと金融機関定義ファイルとを参照して、金融機関サーバから送られる決済応答情報を端末装置が利用可能な情報形態に変換して端末装置に送信する。
【0020】
前記加盟店定義ファイル及び前記金融機関定義ファイルは、決済処理に必要な変数データに関する情報を含み、前記第1の変換送信手段及び前記第2の変換送信手段は、前記加盟店定義ファイルまたは前記金融機関定義ファイルを参照して、前記決済情報から決済処理に必要な変数データを抽出し、当該抽出した変数データについて前記金融機関サーバまたは前記端末装置が利用可能な情報形態に変換して送信することが望ましい。
変数データは、決済処理に必要な変数と値である。
【0021】
前記加盟店定義ファイル及び前記金融機関定義ファイルは、それぞれ、前記加盟店が使用する変数データまたは前記金融機関が使用する変数データと、内部処理用変数データと、の対応付けに関する情報を含み、前記第1の変換送信手段及び前記第2の変換送信手段は、前記内部処理用変数データを介して、前記加盟店が使用する変数データと前記金融機関が使用する変数データとの間の変換を行うことが望ましい。
【0022】
前記加盟店定義ファイル及び前記金融機関定義ファイルは、前記加盟店毎または前記金融機関毎に改竄検出用のハッシュ値の算出規則に関する情報を含み、前記加盟店定義ファイルまたは前記金融機関定義ファイルの前記ハッシュ値算出規則を参照して送信情報に基づいて生成したハッシュ値を前記送信情報に付して送信するハッシュ値生成送信手段と、前記加盟店定義ファイルまたは前記金融機関定義ファイルの前記ハッシュ値算出規則を参照して受信情報に基づいて生成したハッシュ値と、前記受信情報から検出したハッシュ値と、を比較して検証するハッシュ値検証手段とを具備することが望ましい。
ハッシュ値は、所定のデータから生成される一意の固定長の数値であり、所定のハッシュ値算出規則に基づいて生成される。同一のデータについて送信前に算出するハッシュ値と、ネットワーク等を介して受信された後に算出するハッシュ値とを比較してデータの改竄の有無を検証することができる。
【0023】
前記加盟店と前記金融機関との間で授受される一連の前記決済情報には、同一の決済識別情報が付与されることが望ましい。
決済識別情報は、一連の送受信データに付与される同一の情報であり、例えば注文番号やWEBアプリケーションが発行するセッションIDやハッシュ値等を決済識別情報として用いても良い。
【0024】
本発明による決済処理装置は、加盟店毎の定義ファイルと金融機関毎の定義ファイルを参照して、加盟店で扱う情報形態と金融機関扱う情報形態とを変換することで、加盟店が独自の複雑なシステムを構築することなく、当該決済処理装置を介することで、指定する金融機関での決済処理を簡単に行うことを可能にする。
【0025】
第2の発明は、複数の加盟店側に属する端末装置と複数の金融機関側に属する金融機関サーバとにネットワークを介して接続され、前記端末装置と前記金融機関サーバとの間における決済要求情報及び決済応答情報を含む決済情報を処理する決済処理装置が実行する決済処理方法であって、前記加盟店ごとの前記決済情報の仕様を含む加盟店定義ファイルと前記金融機関ごとの前記決済情報の仕様を含む金融機関定義ファイルとを保持する保持ステップと、前記加盟店定義ファイルと前記金融機関定義ファイルとを参照して、前記端末装置から送られる前記決済要求情報を前記端末装置が指定する前記金融機関サーバが利用可能な情報形態に変換して当該金融機関サーバに送信する第1の変換送信ステップと、前記加盟店定義ファイルと前記金融機関定義ファイルとを参照して、前記金融機関サーバから送られる前記決済応答情報を前記端末装置が利用可能な情報形態に変換して当該端末装置に送信する第2の変換送信ステップと、を具備することを特徴とする決済処理方法である。
【0026】
第2の発明は、決済処理装置が実行する決済処理方法に関する発明である。
【0027】
第3の発明は、コンピュータを第1の発明の決済処理装置として機能させるプログラムである。
尚、上記のプログラムをCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【発明の効果】
【0028】
本発明によれば、複数の加盟店から、複数の金融機関に対する決済処理をプロトコルや変数に影響されずに行うことが可能な決済処理装置を提供することができる。
【発明を実施するための最良の形態】
【0029】
以下に、図面に基づいて本発明の実施の形態を詳細に説明する。最初に図1及び図2を参照しながら、本発明の実施の形態に係る決済処理装置1の機能の概略について説明する。
【0030】
(1.決済処理装置1の構成)
(1−1.機能の概略構成)
図1および図2は、決済処理装置1の機能の概略を示す図である。
図1は、決済処理装置1が加盟店端末装置11−1から送信される決済要求情報(リクエスト電文29)を受信し、銀行5−1が扱う情報形態を有する決済要求情報(リクエスト電文31)に変換して当該銀行5−1宛に送信する機能を示す。
【0031】
加盟店3−1〜3−mは、オンラインショッピングシステム提供会社やオンライントレーディングシステムを提供する証券会社等である。ユーザ7は加盟店3−1〜3−mが提供するWEBサイト等を利用して商品等を購入する顧客である。ユーザ端末装置9、加盟店端末装置11−1〜11−m、決済処理装置1、銀行サーバ13−1〜13−nは、コンピュータ等の情報処理装置である。ユーザ7は、ユーザ端末装置9を加盟店3−1の加盟店端末装置11−1にネットワーク等を介して接続し、オンラインシステムを利用して商品の購入発注や決済要求を行う。
【0032】
コンピュータ等の情報処理装置から成る決済処理装置1のハードウェア構成の詳細については後述する(図3参照)。決済処理装置1はCPU(Central Processing Unit)等の中央処理装置からなる制御部15と、HDD(Hard Disc Drive)等の記憶部17を備える。図1に示す制御部15は、電文受信手段22、パラメータ取得手段23、ハッシュ値生成手段25、及び電文作成送信手段27等の機能を備える。記憶部17は、内容の詳細については後述するが、加盟店別定義ファイル19と銀行別定義ファイル21等を備える。
【0033】
決済処理装置1は、加盟店端末装置11−1から送信される決済要求情報であるリクエスト電文29を電文受信手段22で受信する。パラメータ取得手段23は、記憶部17に格納する加盟店別定義ファイル19と銀行別定義ファイル21を参照して、リクエスト電文29に含まれる決済情報に関連する変数(パラメータ)やデータ値を、指定された銀行5−1で使用可能な変数(パラメータ)やデータ値に変換する。
【0034】
ハッシュ値生成手段25は、後述するハッシュ値生成規則を用いて、指定された銀行5−1宛に生成される決済要求情報から、改竄検出用のハッシュ値を生成する。電文作成送信手段27は、当該ハッシュ値を付加した決済要求情報をリクエスト電文31として生成し、指定された銀行5−1の銀行サーバ13−1宛に送信する。
【0035】
図2は、決済処理装置1が、加盟店3−1側からの決済要求情報であるリクエスト電文31(図1参照)に対して銀行サーバ13−1から返される決済応答情報(レスポンス電文39)を受信し、当該加盟店3−1の加盟店端末装置11−1が扱う情報形態を有する決済応答情報(レスポンス電文41)に変換して当該加盟店端末装置11−1宛に送信する機能を示す。
【0036】
銀行サーバ13−1は、加盟店端末装置11−1から送られる決済要求情報であるリクエスト電文31(図1参照)を受信し、決済処理を実施した後、決済応答情報(レスポンス電文39)を作成して決済処理装置1に送信する。決済応答情報とは、例えば「決済終了」、「決済内容確認の必要あり」等の、決済処理の結果に関する情報である。
【0037】
図2に示す決済処理装置1の制御部15は、電文受信復号手段33、ハッシュ値抽出手段35、ハッシュ値生成手段25、ハッシュ値検証手段37、パラメータ取得手段23、及び電文作成送信手段27等の機能を備える。
【0038】
決済処理装置1の制御部15は、銀行サーバ13−1から送信される決済応答情報であるレスポンス電文39を電文受信復号手段33で受信し、暗号化されているレスポンス電文39を復号する。
【0039】
ハッシュ値抽出手段35は、受信し復号したレスポンス電文39中から付加されているハッシュ値を抽出する。ハッシュ値生成手段25は、受信し復号したレスポンス電文39から後述するハッシュ値生成規則を基にして、ハッシュ値を生成する。ハッシュ値検証手段37は、抽出されたハッシュ値と、生成したハッシュ値とを比較検証する。同一のハッシュ値が得られた場合は、レスポンス電文39に通信中の事故(改竄等)がなかったものと判定することができる。
【0040】
パラメータ取得手段23は、記憶部17の加盟店別定義ファイル19と銀行別定義ファイル21を参照して、レスポンス電文39に含まれる決済情報に関連する変数(パラメータ)やデータ値を、返信先の加盟店端末装置11−1で使用可能な変数(パラメータ)やデータ値に変換する。電文作成送信手段27は、決済応答情報として生成されたレスポンス電文41を加盟店端末装置11−1宛に送信する。
【0041】
(1−2.決済処理装置1のハードウェア概略構成)
次に、決済処理装置1のハードウェアの概略構成について説明する。図3は、決済処理装置1のハードウェアの概略構成を示す図である。
【0042】
決済処理装置1は、メディアドライブ装置等の出力部43又は入力部45と、CRTや液晶画面等の表示装置からなる表示部47と、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ49と、中央処理装置(CPU)等の制御部15と、ネットワークに接続するモデムやLANボード等の通信部51と、HDD(Hard Disc Drive)等の記憶部17等と、から構成され、それぞれがシステムバス53で接続されている。尚、出力部43として外部記憶装置、印刷装置等が接続されていても良い。また入力部45として、キーボード、マウス等が接続されていても良い。
【0043】
決済処理装置1の通信部51は、ネットワーク55を介して加盟店3−1〜3−mの加盟店端末装置11−1〜11−mと接続される。また、加盟店3−1を利用するユーザ7のユーザ端末装置9は、加盟店3−1の加盟店端末装置11−1と接続され、ユーザ7は加盟店3−1の提供する商品やサービスを購入する。尚、ユーザ端末装置9と加盟店端末装置11−1は、ネットワーク55を介して接続するようにしても良い。
【0044】
また、決済処理装置1の通信部51は、ネットワーク55を介して銀行5−1〜5−nの銀行サーバ13−1〜13−nと接続される。決済処理装置1は加盟店端末装置11−1〜11−mから決済要求情報を受信すると、加盟店3の指定する銀行5の仕様に変換した決済要求情報を、当該銀行5宛に送信し、当該銀行5が処理した決済応答情報を、決済要求情報を送った当該加盟店3の仕様に変換して当該加盟店3に返信する。
【0045】
決済処理装置1の制御部15は、図1及び図2に示した電文受信手段22と、パラメータ取得手段23と、ハッシュ値生成手段25と、電文作成送信手段27と、電文受信復号手段33と、ハッシュ値抽出手段35と、ハッシュ値検証手段37等の機能を実行する。
【0046】
制御部15は、HDD(記憶部17)、ROM(メモリ49)、又は記録媒体等に格納される実行プログラム、OS(オペレーションシステム)のプログラム、アプリケーションプログラム等をメモリ49のRAM上のワークメモリ領域に呼び出して実行し、演算処理(四則演算や比較演算等)等を行い、上記機能を実現する。
【0047】
記憶部17は、HDD等の記憶装置であり、各種プログラム(実行プログラムやアプリケーションプログラム等)やデータファイル等を格納する。図1及び図2に示すように、記憶部17は、加盟店別定義ファイル19と銀行別定義ファイル21を格納する。
【0048】
(2.加盟店別定義ファイル19と銀行別定義ファイル21)
加盟店別定義ファイル19と銀行別定義ファイル21の詳細について図4及び図5を用いて説明する。
【0049】
(2−1.加盟店別定義ファイル19)
図4は加盟店別定義ファイル19の内容の詳細を示す図である。加盟店別定義ファイル19は、加盟店3ごとの加盟店に関する情報、使用する変数の変換に関する情報等を含む。例えば加盟店3−1の定義ファイル19−1では、加盟店に関する情報として、加盟店ID56、アクセス先URL57等の情報の他、加盟店名、電話番号、メールアドレス、代表者名、住所等の情報を格納しても良い。
【0050】
使用する変数の変換に関する情報としては、加盟店3−1で使用するパラメータ(変数)と、決済処理装置1内で使用するパラメータとの変換規則が、加盟店3−1から受信する受信パラメータの変換規則58と、加盟店3−1へ送信する送信パラメータの変換規則59として格納される。
【0051】
例えば受信パラメータの変換規則58(図4参照)では、加盟店3−1から送られる決済要求情報に使用される変数「item」は決済処理装置1内では変数「tmp.syohin」に対応する。同様に変数「num」は「tmp.kosu」に、変数「money」は「tmp.kingaku」に対応する。
【0052】
例えば送信パラメータの変換規則59(図4参照)では、加盟店3−1に送信する決済応答情報に使用する変数「result」は決済処理装置1内の変数「tmp.kekka」に対応し、同様に変数「status」は変数「tmp.joutai」に対応する。
【0053】
また、使用する変数の変換に関する情報は、使用する変数の型や桁数や単位に関する情報を含む。例えば加盟店3−1から受信する受信パラメータの変換規則58では、「item(chr、40)」は、変数名「item」が最大40桁の文字変数(chr)であることを示す。例えば変数名「item」は、商品名が格納される。
「num(int、6)」は、変数名「num」が最大6桁の整数であることを示す。例えば変数名「num」は、決済処理商品の注文個数を示す。
「money(int、8)」は、変数名「money」が最大8桁の整数であることを示す。例えば変数名「money」は、決済処理を行う商品の注文金額を示す。
【0054】
(2−2.銀行別定義ファイル21)
図5は銀行別定義ファイル21の内容の詳細を示す図である。銀行別定義ファイル21は、銀行5ごとの銀行に関する情報、使用する変数の変換に関する情報等を含む。例えば銀行5−1の定義ファイル21−1では、銀行に関する情報として、銀行を識別する銀行ID61、プロトコル62、送受信データを暗号化するための暗号化方式63、改竄検証に使用するハッシュ値算出のためのハッシュ値生成規則64、ブラウザアクセス方式65、アクセス先URL66、リダイレクト先URL67、タイムアウト68等の情報の他、銀行名、電話番号、メールアドレス、代表者名、住所等の情報を格納しても良い。
【0055】
使用する変数の変換に関する情報としては、銀行5−1で使用するパラメータ(変数)と、決済処理装置1内で使用するパラメータの変換規則が、銀行5−1へ送信する送信パラメータの変換規則69と、銀行5−1から受信する受信パラメータの変換規則71として格納される。
【0056】
例えば送信パラメータの変換規則69(図5参照)では、銀行5−1に送る決済要求情報に使用される変数「sendparam.A」は決済処理装置1内では変数「tmp.syohin」に対応する。同様に変数「sendparam.B」は「tmp.kosu」に、変数「sendparam.C」は「tmp.kingaku」に対応する。
【0057】
例えば受信パラメータの変換規則71(図5参照)では、銀行5−1から送信される決済応答情報に使用される変数「receiveparam.A」は、決済処理装置1内の変数「tmp.kekka」に対応し、同様に変数「receiveparam.B」は変数「tmp.joutai」に対応する。
【0058】
尚、図5のプロトコル62とは、「http」又は「https(Hypertext Transfer Protocol Security)」の選択を示す。「https」はデータ送受信用のプロトコルであるHTTPにSSL(Secure Socket Layer)によるデータの暗号化機能を付加したプロトコルであることを示す。
ネットワーク55として専用線等を用いる場合には、httpプロトコルを用いてもよいが、ネットワーク55としてインターネット等の公衆回線を用いる場合には、httpsプロトコルを用いることが望ましい。
【0059】
暗号化方式63の項目は、送受信データの暗号化方式を示す。3DES(Triple DES)、MD5(Message Digest 5)、SSL(Secure Socket Layer)等のうちのいずれかが設定される。
【0060】
ハッシュ値は、所定のデータから生成される一意の固定長の数値であり、ネットワーク等を介して送信されたデータの整合性を検証する値として用いられる。ハッシュ値生成規則64は、ハッシュ値を生成する演算規則を設定する項目である。ハッシュ値生成規則64は、ハッシュ値算出の元になるデータ範囲の指定や算出方法などを規定したものである。共通のハッシュ値生成規則64を利用して、受信データのハッシュ値と送信前のデータのハッシュ値とを比較することでデータが改竄されているかどうかを判定することができる。
【0061】
ブラウザアクセス方式65とは、ハンドオフ方式とリダイレクト方式のいずれかの選択を示す項目である。本実施の形態における「ハンドオフ方式」とは、加盟店3−1と銀行5−1間の決済処理(決済要求情報と決済応答情報)のやりとりを、決済処理装置1がその都度媒介して行う方式である。「リダイレクト方式」とは、加盟店3−1からの決済処理が銀行5−1側からの制御に変更され、決済処理が終了するまでは加盟店3−1と銀行5−1が直接やりとりを行う方式である。従って、アクセス先URL66は銀行5−1のURLが格納され、リダイレクト先URL67には、加盟店3−1にリダイレクトされる銀行5−1の決済処理サイトのURLが格納される。
【0062】
タイムアウト68の項目には、タイムアウト時間(例えば180秒)が設定される。例えば銀行サーバ13−1と決済処理中のユーザ7のユーザ端末装置9が操作されることなく所定の時間(設定されいてるタイムアウト時間)放置された場合に、データの安全性確保のためユーザ端末装置9と銀行サーバ13−1との接続が切断される。
【0063】
(3.決済処理装置1の処理手順)
次に、図6、図7を用いて本実施の形態における決済処理装置1の処理手順について説明する。尚、図1乃至図5を適宜用いて説明する。
図6は、決済処理装置1の加盟店端末装置11−1からの決済受付処理を示すフローチャートである。
図7は、決済処理装置1が銀行サーバ13−1から取得する決済通知の処理を示すフローチャートである。
【0064】
(3−1.決済受付処理)
図6を参照して決済処理装置1における加盟店端末装置11からの決済受付処理について説明する。
例えば加盟店3−1がオンライントショッピングサイトを有する加盟店であるとする。ユーザ7はコンピュータ等のユーザ端末装置9を当該加盟店3−1のオンラインショッピングサイトに接続し、所定の商品購入を決定して、決済処理を行うものとする。加盟店端末装置11−1は、ユーザ7のユーザ端末装置9から決済処理要求を受けると、当該決済処理要求を含むリクエスト電文29を生成し、決済処理装置1に送信する(ステップ1001)。
【0065】
リクエスト電文29(図6参照)には、決済処理装置1のURL、決済を行う銀行の銀行ID、加盟店ID、及び決済内容を示す変数「item」、「num」、「money」とその値が含まれる。例えば、変数「item」、「num」、「money」はそれぞれ加盟店端末装置11−1が「商品名」、「商品個数」、「決済金額」として扱う変数でありそれぞれに値が格納される。
【0066】
決済処理装置1の制御部15の電文受信手段22(図1参照)は、加盟店端末装置11−1から送られるリクエスト電文29を受信する。制御部15のパラメータ取得手段23(図1参照)は、記憶部17の加盟店別定義ファイル19(図1参照)の加盟店3−1の定義ファイル19−1(図4)からパラメータを取得しリクエスト電文29の変数を変換する(ステップ1002)。即ち、パラメータ取得手段23は、加盟店3−1の加盟店ID56「SP001」を参照して加盟店3−1の定義ファイル19−1を抽出する。また、パラメータ取得手段23は、受信パラメータの変換規則58(図4)を参照して加盟店3−1から送られる決済要求情報に使用される変数を決済処理装置1内で使用する変数に変換する。即ち、パラメータ取得手段23は、「item→tmp.syohin」、「num→tmp.kosu」、「money→tmp.kingaku」の変換を行う。
【0067】
次に、パラメータ取得手段23(図1参照)は、記憶部17の銀行別定義ファイル21(図1参照)の銀行5−1の定義ファイル21−1(図5)からパラメータを取得しリクエスト電文29の変数を変換する(ステップ1003)。即ち、パラメータ取得手段23は、銀行5−1の銀行ID61「BK001」を参照して銀行5−1の定義ファイル21−1を抽出する。また、パラメータ取得手段23は、送信パラメータの変換規則69(図5)を参照して、決済処理装置1内で使用する変数を銀行5−1に送信する決済要求情報に使用する変数に変換する。即ち、パラメータ取得手段23は、「tmp.syohin→sendparam.A」、「tmp.kosu→sendparam.B」、「tmp.kingaku→sendparam.C」の変換を行う。
【0068】
次に制御部15は銀行5−1の定義ファイル21−1(図5)を参照して、銀行5−1に電文を送信する際のプロトコル62、暗号化方式63、アクセス先URL66を抽出して銀行5−1の銀行サーバ13−1宛のリクエスト電文30−1を作成する(ステップ1004)。リクエスト電文30−1は、ステップ1002及びステップ1003で、銀行サーバ13−1が利用可能な変数に変換された変数を用いて生成される。
【0069】
更に制御部15のハッシュ値生成手段25(図1参照)は、銀行5−1の定義ファイル21−1(図5)のハッシュ値生成規則64を参照して、リクエスト電文30−1からハッシュ値24を生成する(ステップ1005)。ハッシュ値24は所定のデータから生成される一意の固定長の数値である。ハッシュ値生成規則64は、ハッシュ値算出の元になるデータ範囲や算出方法を規定する。尚、加盟店端末装置11−1から送られたリクエスト電文29をインプットデータとしてハッシュ値24を生成することもできる。
【0070】
制御部15の電文作成送信手段27は、リクエスト電文30−1にハッシュ値24を付加したリクエスト電文30−2を生成する(ステップ1006)。更に電文作成送信手段27は、銀行5−1の定義ファイル21−1(図5)の暗号化方式63を参照してリクエスト電文30−2を暗号化し、リクエスト電文31を生成する(ステップ1007)。電文作成送信手段27は、銀行5−1の銀行サーバ13−1に生成したリクエスト電文31を送信する(ステップ1008)。
【0071】
銀行サーバ13−1は、リクエスト電文31を受信し(ステップ1009)、決済要求を受け付ける。図示していないが、銀行サーバ13−1は受信したリクエスト電文31を復号し、決済処理を行う。また、銀行サーバ13−1は付加されているハッシュ値24を利用してリクエスト電文31の改竄を検証するようにしても良い。
【0072】
以上の過程を経て、決済処理装置1は加盟店端末装置11−1から送られる決済要求情報(リクエスト電文29)に含まれる変数(パラメータ)やデータ値を、指定された銀行サーバ13−1で使用可能な変数(パラメータ)やデータ値に変換し、改竄検証用のハッシュ値24を付加して暗号化し、当該銀行サーバ13−1に送信する。このように、決済処理装置1は、加盟店端末装置11−1から銀行5を指定した決済要求を取得し媒介することで、目的の銀行5に加盟店端末装置11−1からの決済要求を行うことができる。加盟店端末装置側は銀行サーバ側の仕様を考慮することなく決済要求情報を送信することができる。
【0073】
(3−2.決済通知処理)
次に、図7を参照して決済処理装置1が銀行サーバ13−1から取得する決済通知の処理について説明する。適宜図1乃至図4を用いて説明する。
銀行サーバ13−1は、受信したリクエスト電文31(図1、図6参照)の内容に基づいて決済処理を行い、決済処理の結果を含む決済応答情報であるレスポンス電文39を作成し、決済処理装置1宛に送信する(ステップ2001)。尚、銀行サーバ13−1が作成するレスポンス電文39は改竄検証のためのハッシュ値73(後述する)が添付され、更に暗号化が施されて決済処理装置1宛に送信される。
【0074】
決済処理装置1の制御部15の電文受信復号手段33(図2参照)はレスポンス電文39を受信し、復号する(ステップ2002)。レスポンス電文39(図7参照)は、決済処理の結果に関するデータに、改竄検証に用いるハッシュ値73が付加されている(図7参照)。尚、電文受信復号手段33は銀行5−1の定義ファイル21−1(図5)の暗号化方式63を参照して、当該レスポンス電文39を復号する。
【0075】
ハッシュ値抽出手段35(図2参照)は、復号されたレスポンス電文39から銀行サーバ13−1が生成して付加したハッシュ値73を抽出する(ステップ2003)。
次にハッシュ値生成手段25(図2参照)は、銀行5−1の定義ファイル21−1(図5)のハッシュ値生成規則64を参照し、復号されたレスポンス電文39のデータに基づいてハッシュ値75を生成する(ステップ2004)。
【0076】
次にハッシュ値検証手段37(図2参照)は、ハッシュ値抽出手段35が抽出したハッシュ値73と、ハッシュ値生成手段25が生成したハッシュ値75とを比較し、レスポンス電文39のデータが途中で改竄されていないかどうかを検証する(ステップ2005)。即ち、送信前に銀行サーバ13−1が生成したハッシュ値73と受信後に決済処理装置1が生成したハッシュ値75とが同一であれば、レスポンス電文39のデータがネットワークを経由する間に改竄されていないことを検証することができる。
【0077】
レスポンス電文39には、決済処理装置1のURL、銀行ID、加盟店ID、及び決済処理内容を示す変数「receiveparam.A」、「receiveparam.B」とその内容が含まれる。例えば、変数「receiveparam.A」は決済結果の内容(例えば「決済終了」、「決済不成立」等)が含まれ、「receiveparam.B」は決済状態の内容(例えば決済の日付や内容)が含まれる。
【0078】
パラメータ取得手段23(図2参照)は、レスポンス電文39の銀行ID61「BK001」を参照して銀行5−1の定義ファイル21−1(図5参照)を抽出する。パラメータ取得手段23は、受信パラメータの変換規則71(図5)を参照して銀行5−1から受信した決済応答情報(レスポンス電文39)に使用される変数を決済処理装置1内で使用する変数に変換する(ステップ2006)。即ち、パラメータ取得手段23は、「receiveparam.A→tmp.kekka」、「receiveparam.B→tmp.joutai」の変換を行う。
【0079】
次にパラメータ取得手段23は、レスポンス電文39の加盟店ID56「SP001」を参照して加盟店3−1の定義ファイル19−1(図4参照)を抽出する。パラメータ取得手段23は、送信パラメータの変換規則59(図4)を参照して決済処理装置1内で使用する変数を加盟店3−1に送信する決済応答情報に使用する変数に変換する(ステップ2007)。即ち、パラメータ取得手段23は、「tmp.kekka→result」、「tmp.joutai→status」の変換を行う。
【0080】
次に、電文作成送信手段27は、加盟店3−1の定義ファイル19−1(図4)を参照して、アクセス先URL57等を抽出して加盟店端末装置11−1宛のレスポンス電文41を生成する(ステップ2008)。レスポンス電文41は、ステップ2006及びステップ2007で、加盟店端末装置11−1が利用可能な変数に変換された変数を用いて生成される。
【0081】
電文作成送信手段27は、レスポンス電文41を加盟店3−1の加盟店端末装置11−1宛に送信する(ステップ2009)。
【0082】
加盟店端末装置11−1はレスポンス電文41を受信する(ステップ2010)。加盟店端末装置11−1は、決済処理の結果を決済要求情報送信元であるユーザ7のユーザ端末装置9に送信し、例えばユーザ端末装置9の表示部に「決済処理終了」通知を表示させ決済処理を終了する(ステップ2011)。
【0083】
以上の過程を経て、決済処理装置1は銀行サーバ13−1から加盟店端末装置11−1宛に返される決済応答情報(レスポンス電文39)を復号し、ハッシュ値を利用してデータ改竄を検証の後、当該レスポンス電文39に含まれる変数(パラメータ)やデータ値を当該加盟店端末装置11−1で使用可能な変数(パラメータ)やデータ値に変換して加盟店端末装置11−1に送信する。このように、決済処理装置1は銀行サーバ13−1から返される決済応答情報の安全確保をしつつ、当該決済応答情報を目的とする加盟店端末装置11−1に返信することができる。銀行サーバ側は加盟店端末装置側の仕様を考慮することなく決済応答情報を返信することができる。
【0084】
尚、上記実施の形態では、決済処理装置1と銀行5−1〜5−n間で送受信されるリクエスト電文31及びレスポンス電文39に、改竄を検証するハッシュ値が付加され暗号化されることを説明したが、決済処理装置1と銀行5−1〜5−n間に限らず、ネットワーク55を介して送受信される決済情報に関する電文には、ハッシュ値を付加し暗号化して送受信することが望ましい。例えば、ユーザ端末装置9と加盟店端末装置11−1間、加盟店端末装置11−1と決済処理装置1間等で送受信される電文にハッシュ値を付加し暗号化するようにしても良い。
【0085】
(4.ブラウザアクセス方式)
次に、図5に示す銀行別定義ファイル21の項目として上げた「ブラウザアクセス方式」65について説明する。
図8は、ハンドオフ方式によるブラウザアクセス方式を示す図である。図9は、リダイレクト方式によるブラウザアクセス方式を示す図である。図1乃至図7で説明した本実施の形態による決済処理装置1の銀行サーバ13へのブラウザアクセス方式65(図5参照)は、ハンドオフ方式によるものとして説明した。
【0086】
ハンドオフ方式について図8を用いて説明する。ユーザ7がコンピュータ等のユーザ端末装置9の表示部77に所定の加盟店によるWEBページ81を表示させ、決済処理を行うものとする。ユーザ端末装置9のWEBページ81−1からの決済処理であるアクション101は、決済処理装置1のWEBアプリケーション79を介して、指定された銀行サーバ13に送信され、応答情報が再びWEBアプリケーション79を介してユーザ端末装置9に戻される。次のWEBページ81−2からのアクション102、及びWEBページ81−3からのアクション103も同様にその都度WEBアプリケーション79を介して、銀行サーバ13にアクセスし、応答情報もWEBアプリケーション79を介して、ユーザ端末装置9に戻される。
【0087】
リダイレクト方式について図9を用いて説明する。ユーザ7がコンピュータ等のユーザ端末装置9の表示部77に所定の加盟店によるWEBページ83を表示させ、決済処理を行うものとする。ユーザ端末装置9のWEBページ83−1からの決済処理であるアクション201が、決済処理装置1のWEBアプリケーション79にアクセスすると、決済処理装置1は当該決済処理に関する一連の通信電文に付加する固有のセッションID85を生成する。決済処理装置1の記憶部17には上記セッションID85が格納される。
【0088】
WEBページ83−1からのアクション201は、リダイレクト方式であるので、指定された銀行サーバ13へ直接アクセスするアクション202に移行する。WEBページ83−2からのアクション203で銀行サーバ13との決済処理が終了すると、次のWEBページ83−3からのアクション204は決済処理装置1のWEBアプリケーション79に戻る。リダイレクトによりユーザ端末装置9と銀行サーバ13が直接やりとりする処理では、WEBアプリケーション79(決済処理装置1)が処理を把握することができない。従って、前述のセッションID85を決済処理装置1で保持すると共に、このように1つの決済処理に関する一連のアクション(A201乃至A204)に、同一のセッションID85を付加してやりとりを行う。
【0089】
アクション204で、一連の処理が決済処理装置1に戻ったとき、アクション204に付加しているセッションID85と、決済処理装置1が保持しているセッションID85とを照合することにより、どの注文に関する処理であるかをWEBアプリケーション79(決済処理装置1)で識別することができる。
尚、図8に示すハンドオフ方式においても、一連のアクション(A101乃至A103)にセッションID85を付加しても良い。
【0090】
本実施の形態においても、1つの決済処理に関する一連の送受信電文に同一のセッションID85を付加するようにしても良い。ブラウザアクセス方式が、ハンドオフ方式やリダイレクト方式に係らずセッションID85を付加することで、一連の送受信電文の識別、及びセッション管理を行うことができる。また、セッションID85に代えて、注文番号やハッシュ値等の各決済処理を識別可能な情報を用いてもよい。
【0091】
(5.効果等)
以上、説明したように、本実施の形態による決済処理装置1を介することで、複数の加盟店が提携金融機関それぞれに対する決済処理に対応するシステムを構築する必要がないので、加盟店は提携金融機関との間で簡単に決済処理を行うことが可能になる。
従って小規模な加盟店であっても、本実施の形態による決済処理装置1を介することで手軽に複数の金融機関のオンラインバンキングシステムを利用して決済処理を行うことができる。
【0092】
本実施の形態による決済処理装置1が、決済処理を行う金融機関毎のプロトコルや暗号化方式、変数の変換情報等を格納しているので、加盟店は当該決済処理装置1を介して金融機関を指定するのみで簡単に目的の金融機関で決済処理を行うことができる。
【0093】
また、加盟店が、決済処理を行う提携金融機関を追加する場合にも、本実施の形態による決済処理装置1が対応している(即ち、銀行別定義ファイル21に登録されている)銀行であれば、即座に対応することができる。決済処理装置1が対応していない場合でも、当該銀行の定義ファイルを追加登録する簡単な作業を行うことで効率的に対応することができる。
【0094】
また、本実施の形態では、決済情報に改竄検証に利用するハッシュ値を付加し、暗号化して送受信を行うので、決済情報の安全性を確保することができる。また、本実施の形態では、一連の決済情報に同一のセッションIDを付加することで、決済情報の識別、及びセッション管理を簡単に行うことが可能になる。
【0095】
尚、本発明の技術的範囲は、前述した実施の形態に限られるものではない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【0096】
【図1】本実施の形態における決済処理装置1の機能の概略を示す図
【図2】本実施の形態における決済処理装置1の機能の概略を示す図
【図3】決済処理装置1のハードウェア構成の概略を示す図
【図4】加盟店別定義ファイル19を示す図
【図5】銀行別定義ファイル21を示す図
【図6】決済処理を対象の銀行サーバ13−1に送るフローチャート
【図7】銀行サーバ13−1からの決済処理終了通知を加盟店端末装置11−1に送るフローチャート
【図8】ハンドオフ方式による銀行サーバ13との送受信を示す図
【図9】リダイレクト方式による銀行サーバ13との送受信を示す図
【符号の説明】
【0097】
1………決済処理装置
3−1、3−2、・・、3−m………加盟店
5−1、5−2、・・、5−n………銀行
7………ユーザ
9………ユーザ端末装置
11−1〜11−m………加盟店端末装置
13−1〜13−n………銀行サーバ
15………制御部
17………記憶部
19………加盟店別定義ファイル
21………銀行別定義ファイル
22………電文受信手段
23………パラメータ取得手段
24、73、75………ハッシュ値
25………ハッシュ値生成手段
27………電文作成送信手段
29、31………リクエスト電文
33………電文受信復号手段
35………ハッシュ値抽出手段
37………ハッシュ値検証手段
39、41………レスポンス電文
43………出力部
45………入力部
47………表示部
49………メモリ
51………通信部
53………システムバス
55………ネットワーク
56………加盟店ID
57、66………アクセス先URL
58、71………受信パラメータの変換規則
59、69………送信パラメータの変換規則
61………銀行ID
62………プロトコル
63………暗号化方式
64………ハッシュ値生成規則
65………ブラウザアクセス方式
67………リダイレクト先URL
68………タイムアウト
77………表示部
79………WEBアプリケーション
81〜81−3、83−1〜83−3………WEBページ
85………セッションID

【特許請求の範囲】
【請求項1】
複数の加盟店側に属する端末装置と複数の金融機関側に属する金融機関サーバとにネットワークを介して接続され、前記端末装置と前記金融機関サーバとの間における決済要求情報及び決済応答情報を含む決済情報を処理する決済処理装置であって、
前記加盟店ごとの前記決済情報の仕様を含む加盟店定義ファイルと前記金融機関ごとの前記決済情報の仕様を含む金融機関定義ファイルとを保持する保持手段と、
前記加盟店定義ファイルと前記金融機関定義ファイルとを参照して、前記端末装置から送られる前記決済要求情報を前記端末装置が指定する前記金融機関サーバが利用可能な情報形態に変換して当該金融機関サーバに送信する第1の変換送信手段と、
前記加盟店定義ファイルと前記金融機関定義ファイルとを参照して、前記金融機関サーバから送られる前記決済応答情報を前記端末装置が利用可能な情報形態に変換して当該端末装置に送信する第2の変換送信手段と、
を具備することを特徴とする決済処理装置。
【請求項2】
前記加盟店定義ファイル及び前記金融機関定義ファイルは、決済処理に必要な変数データに関する情報を含み、
前記第1の変換送信手段及び前記第2の変換送信手段は、前記加盟店定義ファイルまたは前記金融機関定義ファイルを参照して、前記決済情報から決済処理に必要な変数データを抽出し、当該抽出した変数データについて前記金融機関サーバまたは前記端末装置が利用可能な情報形態に変換して送信することを特徴とする請求項1に記載の決済処理装置。
【請求項3】
前記加盟店定義ファイル及び前記金融機関定義ファイルは、それぞれ、前記加盟店が使用する変数データまたは前記金融機関が使用する変数データと、内部処理用変数データと、の対応付けに関する情報を含み、
前記第1の変換送信手段及び前記第2の変換送信手段は、前記内部処理用変数データを介して、前記加盟店が使用する変数データと前記金融機関が使用する変数データとの間の変換を行うことを特徴とする請求項1または請求項2に記載の決済処理装置。
【請求項4】
前記加盟店定義ファイル及び前記金融機関定義ファイルは、前記加盟店毎または前記金融機関毎に改竄検出用のハッシュ値の算出規則に関する情報を含み、
前記加盟店定義ファイルまたは前記金融機関定義ファイルの前記ハッシュ値算出規則を参照して送信情報に基づいて生成したハッシュ値を前記送信情報に付して送信するハッシュ値生成送信手段と、
前記加盟店定義ファイルまたは前記金融機関定義ファイルの前記ハッシュ値算出規則を参照して受信情報に基づいて生成したハッシュ値と、前記受信情報から検出したハッシュ値と、を比較して検証するハッシュ値検証手段と、
を具備することを特徴とする請求項1から請求項3までのいずれかに記載の決済処理装置。
【請求項5】
前記加盟店と前記金融機関との間で授受される一連の前記決済情報には、同一の決済識別情報が付与されることを特徴とする請求項1から請求項4までのいずれかに記載の決済処理装置。
【請求項6】
複数の加盟店側に属する端末装置と複数の金融機関側に属する金融機関サーバとにネットワークを介して接続され、前記端末装置と前記金融機関サーバとの間における決済要求情報及び決済応答情報を含む決済情報を処理する決済処理装置が実行する決済処理方法であって、
前記加盟店ごとの前記決済情報の仕様を含む加盟店定義ファイルと前記金融機関ごとの前記決済情報の仕様を含む金融機関定義ファイルとを保持する保持ステップと、
前記加盟店定義ファイルと前記金融機関定義ファイルとを参照して、前記端末装置から送られる前記決済要求情報を前記端末装置が指定する前記金融機関サーバが利用可能な情報形態に変換して当該金融機関サーバに送信する第1の変換送信ステップと、
前記加盟店定義ファイルと前記金融機関定義ファイルとを参照して、前記金融機関サーバから送られる前記決済応答情報を前記端末装置が利用可能な情報形態に変換して当該端末装置に送信する第2の変換送信ステップと、
を具備することを特徴とする決済処理方法。
【請求項7】
コンピュータを請求項1から請求項6までのいずれかに記載の決済処理装置として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−213305(P2007−213305A)
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2006−32330(P2006−32330)
【出願日】平成18年2月9日(2006.2.9)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】