以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
図1は、一実施形態におけるシステム10の構成の一例を概略的に示す。本実施形態において、システム10は、クレジットカード100の利用を管理する。システム10は、オーソリサーバ40と、加盟店システム50と、ユーザ端末72とを備える。オーソリサーバ40は、クレジットカード100の発行会社が運営するサーバである。
本実施形態において、ユーザ80は、クレジットカード100の所有者である。ユーザ80は消費者の一例である。ユーザ80は、クレジットカード100を用いて商品の対価を支払う。ユーザ端末72は、ユーザ80が利用する端末である。ユーザ端末72は、スマートフォンやパーソナルコンピュータ等の情報機器である。ユーザ端末72は消費者端末の一例である。クレジットカード100は、例えば、ICチップを備えるクレジットカードである。
加盟店システム50と、オーソリサーバ40と、ユーザ端末72とは、ネットワーク12を介して接続される。ネットワーク12は、任意のネットワークであってよい。例えば、ネットワーク12は、インターネットと、いわゆる3G(3rd Generation)、LTE(Long Term Evolution)、4G(4th Generation)及び5G(5th Generation)等の移動電話網、公衆通信網、及び専用網の少なくともいずれかを含んでよい。
加盟店システム50は、クレジットカード決済が可能な商店が運営するサーバである。加盟店システム50は、ネットワーク12を通じた電子商取引機能を提供する。加盟店システム50は、例えば、ネットショッピングの運営会社により運営されてよい。加盟店システム50は、ユーザ80を含む消費者に対して、商品の閲覧、購入及び決済の窓口を提供する。例えば、ユーザ80は、ユーザ端末72上で動作するウェブブラウザを用いて、加盟店システム50が提供するウェブサーバにアクセスして、商品を閲覧し、商品の購入及びクレジットカード決済を依頼する。
ユーザ端末72には、カードリーダ70が接続される。カードリーダ70は、例えばUSBケーブル等を通じてユーザ端末72に接続される。カードリーダ70は、クレジットカード100から情報を読み出す。例えば、カードリーダ70は、クレジットカード100が備えるICチップから情報を読み出す。カードリーダ70には、ユーザ80が利用するクレジットカードとして、クレジットカード100のクレジットカードがカードリーダ70内の不揮発性の記憶部に記録されている。カードリーダ70は、クレジットカード100が挿入されると、クレジットカード100からクレジットカード番号及び有効期限を読み出す。カードリーダ70は、クレジットカード100から読み出したクレジットカード番号と不揮発性メモリ内に記録されているクレジットカード番号とが一致する場合に、クレジットカード100のクレジットカード番号及び有効期限をユーザ端末72に出力する。
ユーザ80がユーザ端末72を用いて加盟店システム50が提供するネットショッピング機能を通じてクレジットカード決済で商品を購入しようとする場合、加盟店システム50は、決済に利用するクレジットカード情報を入力するための決済画面をユーザ端末72に表示させる。ユーザ80が決済画面に含まれる決済情報入力ボタンを押すと、ユーザ端末72は、カードリーダ70にクレジットカード100からクレジットカード番号及び有効期限を読み出させ、カードリーダ70からクレジットカード番号及び有効期限を含むクレジットカード情報を取得する。ユーザ端末72は、カードリーダ70からクレジットカード情報を取得した場合に、クレジットカード番号、有効期限、ユーザ80が決済画面で入力したセキュリティコードを示す情報を含むクレジットカード情報と、商品購入の決済額と、クレジットカード100がカードリーダ70で認識されていることを示すカード読み取り情報とを含む決済依頼情報を、加盟店システム50に送信する。加盟店システム50は、決済依頼情報を受信すると、クレジットカード番号、有効期限、セキュリティコードと、売上額と、カード読み取り情報とを含む売上のオーソリ電文を、直接に、又は、決済代行会社やCAFIS等の中間装置を通じて、オーソリサーバ40に送信する。
オーソリサーバ40は、加盟店システム50から受信したオーソリ電文に基づいて、クレジットカードによる取引を承認するか否かを判断するオーソリ処理を行う。オーソリサーバ40は、クレジットカード100による取引を承認する場合、加盟店システム50に、オーソリOKの電文を送信する。オーソリサーバ40は、クレジットカード100による取引を承認しない場合、加盟店システム50に対してオーソリNGの電文を送信する。
ユーザ80は、クレジットカード100をネットショッピングの取引に利用するときの承認条件の一つとして、「クレジットカード100がカードリーダ70により認識されていること」を、オーソリサーバ40に予め登録する。オーソリサーバ40は、オーソリ電文を受信した場合、クレジットカード100のカード読み取り情報がオーソリ電文に含まれ、かつ、オーソリ電文に含まれる売上額とクレジットカード利用残高の和がユーザ80に定められた利用限度額を超えない場合に、オーソリOKを加盟店システム50に送信する。
システム10によれば、オーソリサーバ40は、クレジットカード100をネットショッピング等の電子商取引に利用する場合、カードリーダ70がクレジットカード100を認識している状態でなければ、クレジットカード100を決済手段とする取引を承認しない。そのため、クレジットカード100が盗難されたり偽造されたりした場合でも、不正利用されにくくすることができる。また、クレジットカード100がユーザ80の手元にある状態でしかクレジットカード100を利用できないので、クレジットカード100の利用に対して高い安心感をユーザ80に与えることができる。
図2は、カードリーダ70の機能構成を示すブロック図である。カードリーダ70は、記憶部110と、読み取り部120と、出力部130と、処理部140と、位置情報取得部150ととを備える。処理部140は、プロセッサを含む処理装置により実現される。
記憶部110は、ユーザ80が利用するクレジットカード100を特定する情報を記憶する。記憶部110は、不揮発性の記憶装置により実現される。記憶部110は、カードリーダ70の識別情報を記憶する。
読み取り部120は、クレジットカード100を特定する情報を、クレジットカード100から読み取る。出力部130は、読み取り部120が読みとった情報が記憶部110に記憶されている情報と整合する場合に、ユーザ80が利用するクレジットカード100の識別情報を、クレジットカード100による取引を行うための情報として出力する。
クレジットカード100の形状は一般的なカード形状でなくてもよい。クレジットカード100の形状は、ペンダント形状、球形状、スティック形状等であってもよいし、クレジットカード100を特定する情報は、携帯端末やスマートフォン等の端末に格納されていてもよい。カードリーダ70は、クレジットカード100を特定する情報を読み取ることによってクレジットカードを認識すればよく、カードリーダ70は図1に記載するような構造でなくてもよい。携帯端末やスマートフォン等の端末等に複数のクレジットカード情報が格納されている場合は、カードリーダ70で読み取る前に、1つのクレジットカード情報が読み取られるように設定しておく方が望ましい。
クレジットカード100を特定する情報及びクレジットカード100の識別情報は、例えば、クレジットカード番号であってよい。読み取り部120は、クレジットカード100が備えるICチップから、クレジットカード番号を読み取る。処理部140は、読み取り部120が読みとったクレジットカード番号と、記憶部110に記憶されているクレジットカード番号とが一致するか否かを判断する。出力部130は、読み取り部120が読みとったクレジットカード番号と、記憶部110に記憶されているクレジットカード番号とが一致すると処理部140が判断した場合に、クレジットカード番号をユーザ端末72に出力する。
位置情報取得部150は、カードリーダ70の位置情報を取得する。位置情報取得部150は、カードリーダ70の現在の地理的な位置情報を取得する。位置情報取得部150は、例えば、GPSセンサ等であってよい。
記憶部110は、基準位置を示す情報をさらに格納する。基準位置を示す情報は、例えば、カードリーダ70がクレジットカード番号を認識したことを示す情報をユーザ端末72に出力する動作を行うことを許容する位置を特定するための情報である。基準位置を示す情報は、一つの地点を表す緯度情報及び経度情報であってよい。
出力部130は、読み取り部120が読みとった情報と記憶部110に記憶されている情報とが整合し、かつ、位置情報取得部150が取得した位置情報が基準位置と整合する場合に、ユーザ80が利用するクレジットカード100の識別情報を、クレジットカード100による取引を行うための情報として出力する。例えば、出力部130は、位置情報取得部150が取得した位置情報が示す位置と基準位置との間の距離が予め定められた長さ未満である場合に、ユーザ80が利用するクレジットカード100の識別情報を、クレジットカード100による取引を行うための情報として出力する。
基準位置を示す情報は、地理的範囲の境界上の複数の地点を示す情報であってよい。基準位置を示す情報は、特定の地域を示す情報であってもよい。
図3は、オーソリサーバ40の機能構成を示すブロック図である。オーソリサーバ40は、受信部42と、承認部44と、送信部46と、格納部48とを備える。承認部44は、プロセッサを含む処理装置により実現される。格納部48は、不揮発性の記憶装置により実現される。
格納部48は、クレジットカード100の識別情報に対応付けて、クレジットカード100がカードリーダ70で認識されている場合にクレジットカード100による取引を承認することを示す承認条件を格納する。承諾条件は、例えば、カードリーダ70の初期設定等を通じてオーソリサーバ40に送信され、格納部48に格納される。
受信部42は、クレジットカード100の識別情報を含むクレジットカード取引要求と、クレジットカード100がカードリーダ70で認識されているか否かを示す情報を含むカード認識情報とを受信する。承認部44は、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が承認条件を格納している場合に、受信部42がカード認識情報を受信していることを条件に、クレジットカード取引要求を承認する。なお、クレジットカード取引要求とは、例えば、オーソリゼーション電文であってよい。「クレジットカード取引要求を承認する」とは、オーソリゼーション電文に対応する取引を承認することであってよい。
承認条件は、クレジットカード100がカードリーダ70で認識されている場合にクレジットカード100による取引を承認するか、クレジットカード100がカードリーダ70で認識されていなくてもクレジットカード100による取引を承認するかを示す。承認部44は、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が格納している承認条件が、クレジットカード100がカードリーダ70で認識されている場合にクレジットカード100による取引を承認することを示す場合に、受信部42がカード認識情報を受信している場合にクレジットカード取引要求を承認し、カード認識情報を受信していない場合にクレジットカード取引要求を承認しない。承認部44は、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が格納している承認条件が、クレジットカード100がカードリーダ70で認識されていなくてもクレジットカード100による取引を承認することを示す場合に、受信部42がカード認識情報を受信していなくても、クレジットカード取引要求を承認する。
格納部48は、クレジットカード100の識別情報に対応付けて、承認条件及びカードリーダ70の識別情報を格納してよい。カード認識情報は、クレジットカード100を認識したカードリーダ70の識別情報を更に含んでよい。承認部44は、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が承認条件を格納している場合に、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が格納しているカードリーダ70の識別情報と一致するカードリーダ70の識別情報を含むカード認識情報を受信部42が受信していることを条件に、クレジットカード取引要求を承認してよい。
格納部48は、クレジットカード100の識別情報に対応付けて、承認条件及び基準位置を示す情報を格納してよい。カード認識情報は、クレジットカード100を認識したカードリーダ70の位置を示す位置情報を更に含んでよい。承認部44は、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が承認条件を格納している場合に、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が格納している基準位置に整合する位置情報を含むカード認識情報を受信部42が受信していることを条件に、クレジットカード取引要求を承認してよい。承認部44は、例えば、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が格納している基準位置が示す位置と、カード認識情報に含まれる位置情報が示す位置との間距離が予め定められた長さ未満である場合に、クレジットカード取引要求を承認してよい。
クレジットカード100がカードリーダ70で認識されているか否かを示す情報は、クレジットカード決済を依頼するユーザ80が利用するユーザ端末72に接続されたカードリーダ70から、ユーザ端末72を通じて加盟店システム50に送信されてよい。この場合、カード認識情報は、クレジットカード取引要求に含めて加盟店システム50から送信されてよい。上述したカード読み取り情報は、「クレジットカード100がカードリーダ70で認識されているか否かを示す情報」の一例である。なお、カードリーダ70は、ユーザ端末72自身が備えてよい。
カード認識情報は、クレジットカード決済を依頼するユーザ80が利用するユーザ端末72に接続されたカードリーダ70から、加盟店システム50を介さずに送信されてもよい。例えば、カード認識情報は、クレジットカード決済を依頼するユーザ80が利用するユーザ端末72に接続されたカードリーダ70から、ユーザ端末72を通じてネットワーク12経由で、加盟店システム50を経由せずにオーソリサーバ40に送信されてよい。承認部44は、クレジットカード取引要求に含まれる識別情報に対応付けて格納部48が承認条件を格納している場合に、受信部42がカード認識情報を受信してから予め定められた時間未満であることを条件に、クレジットカード取引要求を承認してよい。
図4は、格納部48が格納するカード会員情報の一例をテーブル形式で示す。カード会員情報は、レコードIDと、会員ID、クレジットカード番号、有効期限、利用限度額、及び承認条件を対応づける。
レコードIDは、一つの会員レコードを識別する情報である。レコードIDは、クレジットカードを特定する情報である。会員IDは、カード会員を識別するための識別子である。クレジットカード番号は、カード会員が所有するクレジットカードの番号である。一人のカード会員が複数のクレジットカードを所有することもあるため、一つの会員IDに対して複数レコードのデータが存在し得る。有効期限は、クレジットカードを使用することができる有効期限を示す。利用限度額は、カード会員のクレジットカード決済の利用限度額を示す。
承認条件は、カードリーダに関する取引の承認条件の種類を示す。承認条件は、クレジットカードがカードリーダで認識されていることを条件にクレジットカードの利用を承認するか否かを示す。例えば、承認条件は、条件A、条件B、及び条件Cの組み合わせを含む。条件Aは、クレジットカードがカードリーダで認識されていることを、クレジットカードによる取引を承認する承認条件にすることを示す。条件Bは、クレジットカードが特定のカードリーダで認識されていることを承認条件にすることを示す。条件Cは、カードリーダがクレジットカードに関する情報を出力する動作を特定の地理的範囲内に限定して許容することを示す。図4において、「ABC」は、条件A、条件B、及び条件Cの3つの条件が全て満たされることを承認条件とすることを示す。図4の「AC」は、条件A及び条件Cの2つの条件が全て満たされることを条件とすることを示す。図4の「NULL」は、承認条件が設定されていないことを示す。すなわち、図4の「NULL」は、クレジットカードがカードリーダで認識されていなくても、クレジットカードによる取引を承認することを意味する。
図5は、格納部48が格納する承認条件詳細情報の一例をテーブル形式で示す。承認条件詳細情報は、レコードIDと、カードリーダIDと、基準位置とを対応づける。
レコードIDは、クレジットカードを特定する情報であり、図4のカード会員情報のレコードIDと同じ情報である。図4のカード会員情報のレコードと承認条件詳細情報のレコードとは、レコードIDにより紐付けられる。カードリーダIDは、カードリーダ70の識別情報である。基準位置は、カードリーダが存在する位置の基準を示す情報である。基準位置は、例えば、カードリーダがクレジットカードに関する情報を出力する動作を許容する地理的範囲内の基準地点を示す。基準位置は、基準地点の緯度情報及び経度情報を含んでよい。
ユーザ80は、カードリーダ70を販売店で購入するとき、カードリーダ70の購入代金をクレジットカード100で決済するよう依頼する。このとき、販売店の店員は、店舗端末にカードリーダ70を接続して、カードリーダ70の初期設定とオーソリサーバ40への情報登録を行う。例えば、店員は、カードリーダ70が接続された店舗端末を通じて、オーソリサーバ40にアクセスする。店員は、店舗端末を用いて、オーソリサーバ40が提供する初期登録画面を通じて、クレジットカード100のクレジットカード番号等の識別情報と、ユーザ80が希望する承認条件の組み合わせを示す情報と含む登録情報を、オーソリサーバ40に送信する。オーソリサーバ40の受信部42が登録情報を受信すると、オーソリサーバ40の格納部48は、クレジットカード100のクレジットカード番号に対応付けて、カード会員情報に承認条件を格納する。また、格納部48は、承認条件詳細情報として、クレジットカード100のクレジットカード番号に対応するレコードIDに対応付けて、カードリーダID及び基準位置を格納する。
店舗端末は、オーソリサーバ40から承認条件及び承認条件詳細情報の格納が完了した旨の情報を受信すると、クレジットカード100のクレジットカード番号と基準位置情報を含むクレジットカードの登録要求情報を、カードリーダ70に出力する。カードリーダ70の処理部140は、店舗端末からの登録要求情報を受信すると、登録要求情報に含まれるクレジットカード番号及び基準位置情報を記憶部110に書き込む。
なお、ユーザ80は、店舗端末がカードリーダ70の初期設定とオーソリサーバ40への情報登録を行う処理を、カードリーダ70に接続されたユーザ端末72を通じて行ってよい。また、ユーザ80は、カードリーダ70の記憶部110に記憶されている情報の更新や、オーソリサーバ40に格納されている承認条件及び承認条件詳細情報の更新を、カードリーダ70に接続されたユーザ端末72を通じて行ってもよい。
ユーザ80は、ユーザ端末72を用いてネットショッピングをする場合、ユーザ端末72にカードリーダ70を接続する。ネットショッピングで購入する商品の決済情報の入力画面がユーザ端末72に表示されると、ユーザ80は、カードリーダ70にクレジットカード100を装着して、ユーザ端末72に表示される決済ボタンを押す。決済ボタンが押されると、ユーザ端末72は、クレジットカード認識要求をカードリーダ70に出力する。
図6は、カードリーダ70が実行する処理を示すフローチャートである。図6のフローチャートが示す処理は、主としてカードリーダ70の処理部140がカードリーダ70の各部を制御することによって実行される。
処理部140は、ユーザ端末72からのクレジットカード認識要求の受信を待つ(S602)。処理部140は、ユーザ端末72からクレジットカード認識要求を受信すると、読み取り部120にクレジットカード100からクレジットカード番号及び有効期限を読み取らせる(S604)。また、処理部140は、位置情報取得部150が検出した位置情報を取得する(S606)。
続いて、処理部140は、クレジットカード番号及び位置情報を検証する(S608)。具体的には、処理部140は、読み取り部120で読みとったクレジットカード番号が、記憶部110に記憶されたクレジットカード番号と一致し、位置情報取得部150が取得した位置情報が示す位置と記憶部110に記憶された基準位置との間の距離が予め定められた長さ未満であるか否かを判断する。例えば、処理部140は、読み取り部120で読みとったクレジットカード番号が記憶部110に記憶されたクレジットカード番号に一致し、位置情報取得部150が取得した位置情報が示す位置と記憶部110に記憶された基準位置との間の距離が予め定められた長さ未満である場合(検証OK)、クレジットカード番号と、記憶部110に記憶されているカードリーダIDと、位置情報取得部150が取得した位置情報とを含むカード読み取り情報をユーザ端末72に送信し(S610)、処理を終了する。読み取り部120で読みとったクレジットカード番号が、記憶部110に記憶されたクレジットカード番号に一致しない場合(検証NG)、カード読み取り情報をユーザ端末72に送信せずに処理を終了する。
図6に関連して説明した処理は、加盟店システム50がカードリーダ70を制御するための制御命令をユーザ端末72に送信することによって実現され得る。例えば、加盟店システム50がネットショッピング用のウェブサイトを提供する場合、制御命令はJavaScript(登録商標)等により実装され得る。
ユーザ端末72は、カードリーダ70からカード読み取り情報を取得すると、カード読み取り情報に含まれるクレジットカード番号、有効期限、カードリーダID及び位置情報を含む決済依頼情報を生成して、加盟店システム50に送信する。加盟店システム50は、決済依頼情報に基づいて、クレジットカード番号、有効期限、カードリーダID及び位置情報を含む売上のオーソリ電文を生成して、オーソリサーバ40に送信する。
図7は、オーソリサーバ40が実行する処理を示すフローチャートである。このフローチャートの処理は、加盟店システム50から売上のオーソリ電文を受信した場合に開始される。
承認部44は、受信部42が受信したオーソリ電文から、クレジットカード番号、有効期限、セキュリティコード、及び売上額を取得する(S700)。承認部44は、カード会員情報を参照して、S700で取得したクレジットカード番号に対応付けられたレコードID、有効期限、利用限度額、及び承認条件を取得する(S702)。
承認部44は、S700で取得したクレジットカード番号、有効期限、セキュリティコード、及び売上額情報を検証する(S704)。例えば、承認部44は、クレジットカード番号及び有効期限が一致し、クレジットカード番号及び有効期限から算出されるコードがセキュリティコードに一致し、かつ、利用残高と売上額の和がクレジットカード番号又は会員IDに対応づけられた利用限度額を超えない場合に、肯定判断を行う。肯定判断が得られた場合、S706に進む。否定判断が得られた場合、S730に進む。
S706において、承認部44は、S702で取得した承認条件について判定する。承認条件が設定されていない場合、S720に進む。承認条件に「条件A」のみが設定されている場合は、S710に進む。承認条件に条件B及び条件Cの少なくとも一方が含まれる場合、S708に進む。
S708において、承認部44は、承認条件詳細情報を参照して、S702で読み出したレコードIDに対応づけられたカードリーダID及び基準位置を取得し、S710に進む。
S710において、承認部44は、承認条件を満たしているか否かを判断する。具体的には、承認条件が「条件A」を含む場合、受信したオーソリ電文にカード読み取り情報が含まれないときは、承認条件を満たしていないと判断する。承認条件が「条件B」を含む場合、S708で取得したカードリーダIDと、カード読み取り情報に含まれるカードリーダIDとが一致しない場合に、承認条件を満たしていないと判断する。承認条件が「条件C」を含む場合、S708で取得した基準位置と、カード読み取り情報に含まれる位置情報が示す位置との間の距離が予め定められた長さ以上である場合に、承認条件を満たしていないと判断する。上記以外の場合、承認条件を満たしていると判断する。承認条件を満たしている場合、S720に進む。承認条件を満たしていない場合、S730に進む。
S720において送信部46は、クレジットカード100による取引を承認する旨のオーソリOKを加盟店システム50に送信する。S730において、送信部46は、クレジットカード100による取引を承認しない旨のオーソリNGを加盟店システム50に送信する。
なお、図6及び図7に関連して、カードリーダ70が読み取ったクレジットカード100の情報をユーザ端末72に出力するものとした。しかし、カードリーダ70は、クレジットカード100の情報に代えて、決済に使用されるクレジットカード100を認識しているか否かを示す情報をユーザ端末72に出力してもよい。例えば、ユーザ端末72は、決済画面でユーザ80が入力したクレジットカード番号をカードリーダ70に出力し、カードリーダ70は、クレジットカード100から読み出したクレジットカード番号とユーザ端末72から取得したクレジットカード番号とが一致する場合に、クレジットカード100を認識していることを示す情報をユーザ端末72に出力してよい。
図6及び図7等に関連して説明した第1の取引承認方式においては、加盟店システム50が、ユーザ端末72から受信した決済依頼情報に基づいてカード認識情報を含むオーソリ電文をオーソリサーバ40に送信する。
次に、第2の取引承認方式として、加盟店システム50を介さずにカード認識情報をオーソリサーバ40に送信する方式を説明する。第2の取引承認方式を採用する場合、加盟店システム50が提供するネットショッピングサイトに、カードリーダ70にクレジットカードを読み取らせる機能を組み込む必要がない。そのため、既存のネットショッピングサイトを実質的に改変する必要がない。
カードリーダ70は、ユーザ端末72に接続されると、読み取り部120によりクレジットカードが検出されるのを待つ。クレジットカードが検出されると、図6のS604以降の処理を行う。ユーザ端末72は、カードリーダ70からカード読み取り情報を取得すると、カード読み取り情報に含まれるクレジットカード番号、カードリーダID及び位置情報を含むカード認識情報を、クレジットカード番号から特定されるクレジットカードのイシュアのオーソリサーバ40に送信する。オーソリサーバ40において受信部42がカード認識情報を受信すると、受信日時に対応づけてカード認識情報を格納部48に格納する。なお、カードリーダ70自身が、オーソリサーバ40にカード認識情報を送信してもよい。
図8は、格納部48が格納するカード認識履歴情報の一例をテーブル形式で示す。カード認識履歴情報は、クレジットカード番号、カードリーダID、位置情報、及びカード認識情報の受信日時を対応づける。格納部48は、受信部42がカード認識情報を受信した場合、受信部42がカード認識情報を受信したときの日時に対応づけて、カード認識情報に含まれる情報を格納する。
図9は、オーソリサーバ40が実行する処理を示すフローチャートである。このフローチャートの処理は、売上のオーソリ電文を受信した場合に開始される。このオーソリ電文には、カード読み取り情報を除いて、図7に関連して説明した売上のオーソリ電文と同じ情報を含む。なお、図9のフローチャートにおいて、図7のフローチャートと実質的に同一の処理については、同じステップ番号が付されている。図9のフローチャートにおいて、S700からS704、及びS720及びS730に関する処理は、図7に関連して説明した処理と同様であるので、説明を省略する。
図9のフローチャートのS704において、肯定判断が得られた場合、S906において、承認部44は、S702で取得した承認条件を判断する。承認条件が設定されていない場合、S720に進む。承認条件が設定されている場合、有効なカード認識情報を受信しているか否かを判断する(S907)。具体的には、承認部44は、カード認識履歴情報を参照して、オーソリ電文に含まれるクレジットカード番号に対応づけられた受信日時と現在との間の時間が予め定められた時間未満である場合に、有効なカード認識情報を受信していると判断する。有効なカード認識情報を受信していないと判断した場合、S730に進む。有効なカード認識情報を受信していると判断した場合に、S908に進む。
S908において、承認部44は、格納部48に格納されているカード認識履歴情報を参照して、オーソリ電文に含まれるクレジットカード番号を含むカード認識情報を取得するとともに、オーソリ電文に含まれるクレジットカード番号を含むカード認識情報を含むレコードを削除する。
S909において、承認部44は、S702で取得した承認条件を判断する。承認条件が「条件A」のみの場合、S720に進む。承認条件に条件B及び条件Cの少なくとも一方が含まれる場合、S910に進む。S910において、承認部44は、承認条件詳細情報を参照して、S702で読み出したレコードIDに対応づけられたカードリーダID及び基準位置を取得し、S911に進む。
S911において、承認部44は、カードリーダ認識に関する承認条件を満たしているか否かを判断する。具体的には、承認条件が「条件B」を含む場合、承認部44は、S910で取得したカードリーダIDと、S908で取得したカード認識情報に含まれるカードリーダIDとが一致しない場合に、承認条件を満たしていないと判断する。また、承認条件が「条件C」を含む場合、承認部44は、S910で取得した基準位置とS908で取得したカード認識情報に含まれる位置情報が示す位置との間の距離が予め定められた長さ以上である場合に、承認条件を満たしていないと判断する。上記以外の場合、承認条件を満たしていると判断する。承認条件を満たしている場合、S720に進む。承認条件を満たしていない場合、S730に進む。
図8及び図9等に関連して説明したように、第2の取引承認方式によれば、オーソリサーバ40は、カードリーダ70によるカード認識情報をユーザ端末72から受信して、カード認識履歴情報として保持する。図9のS907等に関連して説明したように、承認部44は、カード認識情報を受信してから予め定められた時間が経過すると、無効なカード認識情報とみなす。そのため、カード認識情報を受信してから予め定められた時間が経過した後は、ネットショッピングにおいてクレジットカード100が不正利用されることがない。
また、オーソリ電文を受信した後、図9のS908においてオーソリ電文に含まれるクレジットカード番号を含むカード認識情報を、カード認識履歴情報から削除する。そのため、その後に同じクレジットカード番号を含む新たなオーソリ電文をオーソリサーバ40が受信したとしても、カード認識履歴情報には有効なカード認識情報が存在しないため、オーソリ電文は承認されない。したがって、カードリーダ70でクレジットカード100を認識した後に、複数回のオーソリ電文が承認されることはない。そのため、ユーザ80が正当なクレジットカード決済を行った後に、不正利用者がクレジットカード100のクレジットカード番号を使って不正なクレジットカード決済を行おうとしても、その不正な決済が承認されることはない。ユーザ80が複数回のクレジットカード決済を行う場合は、カードリーダ70にクレジットカード100を挿入し直して、再度カードリーダ70にクレジットカード100を読み取らせればよい。
なお、カード認識情報がオーソリサーバ40に送信された直後に不正利用者によって不正なクレジットカード決済が行われてしまったとしても、その後にユーザ80がクレジットカード決済をしようとしたときに決済が承認されないので、ユーザ80は不正利用された可能性があることに直ぐに気づくことができる。そのため、クレジットカード100の発行会社に連絡する等の対処を速やかに行うことができる。
以上に説明した実施形態におけるクレジットカード番号は、クレジットカード100の識別情報の一例である。クレジットカード100の識別情報は、クレジットカード100を識別することができる情報であれば、クレジットカード番号以外の任意の情報であってもよい。
また、以上に説明した実施形態では、カードリーダ70の処理部140は、読み取り部120がクレジットカード100のクレジットカード番号及び有効期限等を読み取るものとした。しかし、カードリーダ70の記憶部110は、予め、クレジットカード100のICチップに記録されているクレジットカード番号以外の特定のID情報と、クレジットカード番号及び有効期限とを対応づけて記憶してよい。この場合、カードリーダ70の処理部140は、読み取り部120がクレジットカード100のICチップから読み出したID情報に対応づけて記憶部110に記憶されているクレジットカード番号及び有効期限を取得してもよい。
以上に説明したように、システム10によれば、クレジットカード100をカードリーダ70で認識させることによって、ネットショッピングでクレジットカード100を利用することが可能になる。そのため、クレジットカード100が盗まれてしまったり、クレジットカード100のクレジットカード番号や有効期限等の情報が不正利用者に知られてしまったとしても、特にネットショッピングでクレジットカード100が不正使用されてしまう可能性を著しく低減することができる。
また、クレジットカード100をカードリーダ70で認識させるだけでクレジットカード100をネットショッピングで利用することが可能になる。そのため、ユーザ80は、手元のカードリーダ70を用いて、クレジットカード100の利用制限状態と利用許可状態とをいわば物理的に切り替えるようなことができる。そのため、ユーザ80に強い安心感を与えることができる。また、ユーザ80は電話やアプリケーションソフト等を通じて利用制限状態と利用許可状態を切り替える必要もないので、ユーザ80は比較的に手軽にクレジットカード100の状態を切り替えることができる。そのため、特にネットショッピングでクレジットカード決済が可能なことに強い不安感を抱いているユーザにも、クレジットカードを所持しようとする動機付けを与えることができる。ひいては、セキュリティの高いクレジットカード決済を広く普及させることができる。
なお、以上に説明した本実施形態において、クレジットカード100は、金融取引に利用されるカードの一例である。金融取引に利用されるカードとは、クレジットカードの他に、デビッドカード、銀行や証券会社等の金融機関の口座カード等であってよい。
図10は、本実施形態に係るコンピュータ2000の例を示す。コンピュータ2000にインストールされたプログラムは、コンピュータ2000に、実施形態に係るオーソリサーバ40等の装置又は当該装置の各部として機能させる、当該装置又は当該装置の各部に関連付けられるオペレーションを実行させる、及び/又は、実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2000に、本明細書に記載の処理手順及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU2012によって実行されてよい。
本実施形態によるコンピュータ2000は、CPU2012、及びRAM2014を含み、それらはホストコントローラ2010によって相互に接続されている。コンピュータ2000はまた、ROM2026、フラッシュメモリ2024、通信インタフェース2022、及び入力/出力チップ2040を含む。ROM2026、フラッシュメモリ2024、通信インタフェース2022、及び入力/出力チップ2040は、入力/出力コントローラ2020を介してホストコントローラ2010に接続されている。
CPU2012は、ROM2026及びRAM2014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
通信インタフェース2022は、ネットワークを介して他の電子デバイスと通信する。フラッシュメモリ2024は、コンピュータ2000内のCPU2012によって使用されるプログラム及びデータを格納する。ROM2026は、アクティブ化時にコンピュータ2000によって実行されるブートプログラム等、及び/又はコンピュータ2000のハードウエアに依存するプログラムを格納する。入力/出力チップ2040はまた、キーボード、マウス及びモニタ等の様々な入力/出力ユニットをシリアルポート、パラレルポート、キーボードポート、マウスポート、モニタポート、USBポート、HDMI(登録商標)ポート等の入力/出力ポートを介して、入力/出力コントローラ2020に接続してよい。
プログラムは、CD-ROM、DVD-ROM、又はメモリカードのようなコンピュータ可読媒体又はネットワークを介して提供される。RAM2014、ROM2026、又はフラッシュメモリ2024は、コンピュータ可読媒体の例である。プログラムは、フラッシュメモリ2024、RAM2014、又はROM2026にインストールされ、CPU2012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2000に読み取られ、プログラムと上記様々なタイプのハードウエアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ2000の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
例えば、コンピュータ2000及び外部デバイス間で通信が実行される場合、CPU2012は、RAM2014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース2022に対し、通信処理を命令してよい。通信インタフェース2022は、CPU2012の制御下、RAM2014及びフラッシュメモリ2024のような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取った送信データをネットワークに送信し、ネットワークから受信された受信データを、記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU2012は、フラッシュメモリ2024等のような記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM2014に読み取られるようにし、RAM2014上のデータに対し様々な種類の処理を実行してよい。CPU2012は次に、処理されたデータを記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理にかけられてよい。CPU2012は、RAM2014から読み取られたデータに対し、本明細書に記載され、プログラムの命令シーケンスによって指定される様々な種類のオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々な種類の処理を実行してよく、結果をRAM2014にライトバックする。また、CPU2012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2012は、第1の属性の属性値が指定されている、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ2000上又はコンピュータ2000近傍のコンピュータ可読媒体に格納されてよい。専用通信ネットワーク又はインターネットに接続されたサーバーシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読媒体として使用可能である。コンピュータ可読媒体に格納されたプログラムを、ネットワークを介してコンピュータ2000に提供してよい。
コンピュータ2000にインストールされ、コンピュータ2000をオーソリサーバ40として機能させるプログラムは、CPU2012等に働きかけて、コンピュータ2000を、オーソリサーバ40の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ2000に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段である受信部42、承認部44、送信部46、及び格納部48として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ2000の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のオーソリサーバ40が構築される。
様々な実施形態が、ブロック図等を参照して説明された。ブロック図において各ブロックは、(1)オペレーションが実行されるプロセスの段階又は(2)オペレーションを実行する役割を持つ装置の各部を表わしてよい。特定の段階及び各部が、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウエア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理オペレーション、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウエア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく実行され得る命令を含む製品の少なくとも一部を構成する。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ又はプログラマブル回路に対し、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、説明された処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。