(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024152855
(43)【公開日】2024-10-25
(54)【発明の名称】カードリーダ及び決済システム
(51)【国際特許分類】
G06Q 20/24 20120101AFI20241018BHJP
G06Q 20/34 20120101ALI20241018BHJP
【FI】
G06Q20/24
G06Q20/34
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024133999
(22)【出願日】2024-08-09
(62)【分割の表示】P 2020084477の分割
【原出願日】2020-05-13
(71)【出願人】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100097113
【弁理士】
【氏名又は名称】堀 城之
(74)【代理人】
【識別番号】100162363
【弁理士】
【氏名又は名称】前島 幸彦
(74)【代理人】
【識別番号】100194283
【弁理士】
【氏名又は名称】村上 大勇
(72)【発明者】
【氏名】塩見 寿朗
(57)【要約】
【課題】クレジットカードの一部の番号を出力可能なカードリーダを提供する。
【解決手段】
カード情報取得部100は、カード媒体からカード情報300を取得する。カード種別判定部110は、カード情報取得部100により取得されたカード情報300から、カード媒体がクレジットカードか非クレジットカードかを判定する。データ生成部120は、カード種別判定部110により判定されたカード媒体の種別がクレジットカードであった場合、カード情報300に含まれるカード番号の一部をマスキングしたトランケーションデータ310を生成する。
カード種別判定部110は、カード情報の上位桁がクレジットカードの上位桁であるもののLuhn演算結果がチェックデジットと合致しない場合、不正カードを使用した又は、読み取りエラーであることを示す情報を上位装置2へ送信し、当該情報を格納しておき、読み取り自体を不可能とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
カード媒体からカード情報を取得するカード情報取得部と、
前記カード情報取得部により取得された前記カード情報から、前記カード媒体がクレジットカードか非クレジットカードかを判定するカード種別判定部と、
前記カード種別判定部により判定された前記カード媒体の種別がクレジットカードであった場合、前記カード情報に含まれるカード番号の一部をマスキングしたトランケーションデータを生成するデータ生成部とを備え、
前記データ生成部は、
前記カード媒体の種別が非クレジットカードであるハウスカードの場合、前記カード媒体の全ての桁を接続された上位装置へ暗号化せずに送信し、
前記上位装置からの指示がクレジットカードの読み取り待ち状態であり、前記カード媒体の種別がクレジットカードの場合、前記トランケーションデータを、接続された上位装置の要求に応じて暗号化せずに送信し、
前記上位装置からの指示が前記ハウスカードの読み取り待ち状態であり、前記カード媒体の種別がクレジットカードであった場合、生成された前記トランケーションデータを削除又は前記上位装置に送信せず、クレジットカードが挿入されたエラーを報知し、
前記カード種別判定部は、
前記カード情報の上位桁がクレジットカードの上位桁であるもののLuhn演算結果がチェックデジットと合致しない場合、不正カードを使用したか又は読み取りエラーであることを示す情報を上位装置へ送信し、当該情報を格納しておき、読み取り自体を不可能とする
ことを特徴とするカードリーダ。
【請求項2】
前記トランケーションデータは、
PCI DSS規格で規定されている上位桁又は下位桁の一部又は全ての桁を含む
ことを特徴とする請求項1に記載のカードリーダ。
【請求項3】
カード媒体を読み出すカードリーダと、該カードリーダと接続されて決済処理を行う上位装置とを含む決済システムであって、
前記カードリーダは、
前記カード媒体からカード情報を取得するカード情報取得部と、
前記カード情報取得部により取得された前記カード情報から、前記カード媒体がクレジットカードか非クレジットカードかを判定するカード種別判定部と、
前記カード種別判定部により判定された前記カード媒体の種別がクレジットカードであった場合、前記カード情報に含まれるカード番号の一部をマスキングしたトランケーションデータを生成するデータ生成部とを備え、
前記上位装置は、
前記カードリーダから前記トランケーションデータを取得するデータ取得部と、
前記データ取得部により取得された前記トランケーションデータを、前記決済処理における決済情報に含めて出力するデータ出力部とを備え、
前記データ生成部は、
前記カード媒体の種別が非クレジットカードであるハウスカードの場合、前記カード媒体の全ての桁を前記上位装置へ暗号化せずに送信し、
前記上位装置からの指示がクレジットカードの読み取り待ち状態であり、前記カード媒体の種別がクレジットカードの場合、前記トランケーションデータを、接続された上位装置の要求に応じて暗号化せずに送信し、
前記上位装置からの指示が前記ハウスカードの読み取り待ち状態であり、前記カード媒体の種別がクレジットカードであった場合、生成された前記トランケーションデータを削除又は前記上位装置に送信せず、クレジットカードが挿入されたエラーを報知し、
前記カード種別判定部は、
前記カード情報の上位桁がクレジットカードの上位桁であるもののLuhn演算結果がチェックデジットと合致しない場合、不正カードを使用したか又は読み取りエラーであることを示す情報を上位装置へ送信し、当該情報を格納しておき、読み取り自体を不可能とする
ことを特徴とする決済システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カードリーダ及び決済システムに係り、特にクレジットカードを用いるカードリーダ及び決済システムに関する。
【背景技術】
【0002】
従来から、様々な種類のカード状の記録媒体(以下、カード媒体という。)を用いて決済等を行う決済システムが存在する。このような決済システムでは、例えば、病院等の診察券やポイントカード等のいわゆる「ハウスカード」でユーザを特定し、その後、金銭の支払い用の「クレジットカード」で決済を行うことがある。すなわち、従来の決済システムでは、一つの決済中に二種類のカード媒体を用いることがあった。
【0003】
このような従来の決済システムとして、例えば、特許文献1を参照すると、受け付けたカードである受付済カードの処理を行う自動取引装置が記載されている。特許文献1の自動取引装置は、受付済カードに記憶されているカード情報を取得するカード情報取得部と、カード情報から受付済カードの種別を特定する特定部と、受け付けるべきカードの種別を示す種別情報を取得する種別情報取得部と、処理設定部で切り替えられた処理情報に基づいて、カード情報に対する処理を実行する処理部とを備えている。この上で、受け付けるべきカードの種別が、カード情報を暗号化すべきでないカードの種別であって、受付済カードの種別がカード情報を暗号化すべきカードの種別である場合、処理部は、カード情報を消去する。
すなわち、特許文献1の技術では、ハウスカードのような非クレジットカードの待ち状態でクレジットカードが挿入された場合、カード情報を消去するように構成されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載されたような従来の決済システムでは、クレジットカード待ち状態でクレジットカードが挿入された場合には、セキュリティ上及び法令上の要請から、クレジットカードを決済するサーバまで、カード情報が暗号化され、転送されていた。このため、決済結果を出力する上位装置にて、クレジットカードの番号を、一切、表示や印刷等して出力することができないという問題があった。
【0006】
本発明は、このような状況に鑑みてなされたものであり、決済結果を出力する上位装置にて、クレジットカードの番号の少なくとも一部を出力可能とし、上述の問題を解消することを目的とする。
【課題を解決するための手段】
【0007】
本発明のカードリーダは、カード媒体からカード情報を取得するカード情報取得部と、前記カード情報取得部により取得された前記カード情報から、前記カード媒体がクレジットカードか非クレジットカードかを判定するカード種別判定部と、前記カード種別判定部により判定された前記カード媒体の種別がクレジットカードであった場合、前記カード情報に含まれるカード番号の一部をマスキングしたトランケーションデータを生成するデータ生成部とを備え、前記データ生成部は、前記カード媒体の種別が非クレジットカードであるハウスカードの場合、前記カード媒体の全ての桁を接続された上位装置へ暗号化せずに送信し、前記上位装置からの指示がクレジットカードの読み取り待ち状態であり、前記カード媒体の種別がクレジットカードの場合、前記トランケーションデータを、接続された上位装置の要求に応じて暗号化せずに送信し、前記上位装置からの指示が前記ハウスカードの読み取り待ち状態であり、前記カード媒体の種別がクレジットカードであった場合、生成された前記トランケーションデータを削除又は前記上位装置に送信せず、クレジットカードが挿入されたエラーを報知し、前記カード種別判定部は、前記カード情報の上位桁がクレジットカードの上位桁であるもののLuhn演算結果がチェックデジットと合致しない場合、不正カードを使用したか又は読み取りエラーであることを示す情報を上位装置へ送信し、当該情報を格納しておき、読み取り自体を不可能とすることを特徴とする。
このように構成することで、クレジットカードの番号の少なくとも一部を出力させることができ、更にセキュリティを高めることができ、偽造カード等による犯罪防止に資することができる。
【0008】
本発明のカードリーダは、前記トランケーションデータは、PCI DSS規格で規定されている上位桁又は下位桁の一部又は全ての桁を含むことを特徴とする。
このように構成することで、キュリティ上及び法令上の要求に対応しつつ、どのカードかユーザが認識可能な番号を出力させることができる。
【0009】
(削除)
【0010】
(削除)
【0011】
本発明の決済処理システムは、カード媒体を読み出すカードリーダと、該カードリーダと接続されて決済処理を行う上位装置とを含む決済処理システムであって、前記カードリーダは、前記カード媒体からカード情報を取得するカード情報取得部と、前記カード情報取得部により取得された前記カード情報から、前記カード媒体がクレジットカードか非クレジットカードかを判定するカード種別判定部と、前記カード種別判定部により判定された前記カード媒体の種別がクレジットカードであった場合、前記カード情報に含まれるカード番号の一部をマスキングしたトランケーションデータを生成するデータ生成部とを備え、前記上位装置は、前記カードリーダから前記トランケーションデータを取得するデータ取得部と、前記データ取得部により取得された前記トランケーションデータを、前記決済処理における決済情報に含めて出力するデータ出力部とを備え、前記データ生成部は、前記カード媒体の種別が非クレジットカードであるハウスカードの場合、前記カード媒体の全ての桁を前記上位装置へ暗号化せずに送信し、前記上位装置からの指示がクレジットカードの読み取り待ち状態であり、前記カード媒体の種別がクレジットカードの場合、前記トランケーションデータを、接続された上位装置の要求に応じて暗号化せずに送信し、前記上位装置からの指示が前記ハウスカードの読み取り待ち状態であり、前記カード媒体の種別がクレジットカードであった場合、生成された前記トランケーションデータを削除又は前記上位装置に送信せず、クレジットカードが挿入されたエラーを報知し、前記カード種別判定部は、前記カード情報の上位桁がクレジットカードの上位桁であるもののLuhn演算結果がチェックデジットと合致しない場合、不正カードを使用したか又は読み取りエラーであることを示す情報を上位装置へ送信し、当該情報を格納しておき、読み取り自体を不可能とすることを特徴とする。
このように構成することで、クレジットカードの番号の少なくとも一部を、上位装置で出力させることができ、更にセキュリティを高めることができ、偽造カード等による犯罪防止に資することができる。
【発明の効果】
【0012】
本発明によれば、判別されたカード媒体の種別がクレジットカードであった場合、カード情報に含まれるカード番号の一部をマスキングしたトランケーションデータを生成することで、クレジットカードの番号の一部を出力可能なカードリーダを提供することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施の形態に係る決済システムXのシステム構成図である。
【
図2】
図1に示すカード情報及びトランケーションデータの概念図である。
【
図3】本発明の実施の形態に係る決済処理のフローチャートである。
【
図4】
図3に示す読取データ送信処理のフローチャートである。
【
図5】
図3に示す読取データ送信処理のデータ作成と送信を示す概念図である。
【発明を実施するための形態】
【0014】
<実施の形態>
〔決済システムの構成〕
まず、
図1及び
図2を参照して、本発明の実施の形態に係る決済システムXの構成について説明する。
決済システムXは、カードリーダ1、及びカードリーダ1が搭載される上位装置2を含んで構成される。
本実施形態において、カードリーダ1と上位装置2との間は、USB(Universal Serial Bus)、RS-232C、イーサネット(登録商標)(Ethernet)等のLAN(Local Area Network)で接続される。
さらに、本実施形態においては、決済システムXの上位装置2は、クレジットカードの決済を行うためのサーバ3と、専用線やインターネット等のWAN(Wide Area Network)を介して接続される。
【0015】
カードリーダ1は、上位装置2の制御対象であり、カード媒体4を読み出し(リード)又は書き込み(ライト)可能なデバイスの一例である。カードリーダ1は、手動式又はモータ搬送式のカードリーダ/ライタ装置である。手動式の場合、ユーザが手動で装置内部にカード媒体4を挿入し、又、装置内部からカード媒体4を引き抜くことで、カード媒体4に記録されたデータの再生を行う。モータ搬送式の場合、カードリーダ1は、上位装置2からの指令(コマンド)によりカード媒体4の搬送及び読み書きの各種処理を実行する。
【0016】
上位装置2は、例えば、病院の精算(決済)システム、その他の決済システム、キオスク(Kiosk)、交通機関のチケット発行システム、コンビニエンスストア等のポイントカード決済システム、小売店のメンバーカード発行システムの端末等である。または、上位装置2として、PC(Personal Computer)、キャッシュレジスター、その他の決済用端末を用いることも可能である。
【0017】
サーバ3は、クレジットカードの支払いを行うためのサービスを提供するセキュア(安全)なサーバ等である。
なお、サーバ3は、他の銀行やカード会社のサーバ等と接続されていてもよい。また、サーバ3及び他のサーバから、決済における他の各種情報も取得可能である。
【0018】
カード媒体4は、厚さが0.7~0.8mm程度の矩形状の塩化ビニール製のカード等のカード状の磁気記録媒体、ICカード、非接触型のICカード等である。磁気記録媒体の場合、カード媒体4の一面には、磁気信号が記憶される磁気ストライプが形成されている。ICカードの場合、カード媒体4は、例えば、カードリーダ1と接続するための接点と、記憶領域及びMPU(Micro Processing Unit)等を含むICチップとを含んでいてもよい。非接触型のICカードの場合、近距離無線用の電磁誘導アンテナが内蔵される。カード媒体4は、これらのいずれか又は全てを組み合わせた記録媒体であってもよい。加えて、カード媒体4として、ユーザが用いる携帯電話やスマートフォン等の携帯端末も、取引に用いることが可能である。
【0019】
本実施形態においては、カード媒体4には、クレジットカード又は非クレジットカードとしての決済用のカード情報300が、磁気ストライプに記録されている例について説明する。本実施形態においては、クレジットカードは、銀行等の決済に用いるカードである。非クレジットカードは、例えば、病院等の診察券、交通機関の乗車用カード、小売店のポイントカード、メンバーカード等のいわゆる「ハウスカード」を含む。
【0020】
これに加え、本実施形態においては、上位装置2は、図示しない精算用の業務サーバと接続されている。この業務サーバは、病院、交通機関、小売店、サービス提供店等の業務用のサーバである。
【0021】
次に、決済システムXの制御構成について説明する。
カードリーダ1は、制御部10、記憶部11、及び磁気ヘッド12を備える。
上位装置2は、制御部20、記憶部21、入力部22、表示部23、及び印刷部24を備える。
【0022】
制御部10は、カードリーダ1全体の制御を行う。制御部10は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等を含む制御演算手段である。
【0023】
記憶部11は、カードリーダ1の各種設定値や制御プログラムや一時データ等を記憶する記録媒体である。この各種設定値のうち、取引に係る設定値の詳細については後述する。制御プログラムは、カードリーダ1の全体を制御し、カード媒体4の読み取りや書き込みを行うためのファームウェア等である。
【0024】
記憶部11は、RAMのような揮発性の記録媒体、及びROMのような不揮発性の記録媒体を含む。
このうち、ROMとしては、例えば、フラッシュメモリ、EEPROM、ReRAM、FeRAM等の記録媒体を含んでいる。
【0025】
磁気ヘッド12は、カード媒体4の記録情報を読み取る読取部である。具体的には、磁気ヘッド12は、カード媒体4の磁気ストライプに書き込まれた記録情報を磁気信号として読み出して再生する。磁気ヘッド12で読み取られたカード媒体4の磁気ストライプ等の磁気信号は、アナログ信号として出力され、図示しない磁気情報処理回路によりデジタル信号に変換されて出力される。ここで、磁気ヘッド12は、このデジタル信号を暗号化する暗号化回路やMPU(Micro Processing Unit)を内蔵した暗号化磁気ヘッドであってもよい。加えて、カード媒体4の記録情報を読み取り書き込むため、磁気ヘッド以外のIC接点、NFC(Near-Field Communications、近距離無線)の受信回路やアンテナ等も更に備えられていてもよい。
【0026】
これらの他に、カードリーダ1は、取引等の状態を表示するLED(Light Emitting Diode)、設定を行うための各種ボタンやディップスイッチ、上位装置2と接続するためのUSBやRS-232C等のインターフェイス等も含む。
【0027】
制御部20は、上位装置2全体の制御を行う、例えば、CPU、MPU、DSP、ASIC、GPU(Graphics Processing Unit)等である。制御部20は、暗号の符号化及び復号化を高速に行うためのアクセレレーター回路を備えていてもよい。
【0028】
記憶部21は、上位装置2の各種設定値や制御プログラムや一時データ等を記憶する記録媒体である。この制御プログラムは、OS(Operating System)、各種アプリケーションソフトウェア(Application Software、以下、単に「アプリ」という。)、カードリーダ1と上位装置2とを中継するミドルウェア等を含む。
記憶部21は、RAM、ROM、HDD(Hard Disk Drive)、その他の光学記録媒体等を含む。
【0029】
入力部22は、タッチパネルやテンキー等のボタンを含む操作入力部である。これに加えて、入力部22は、指紋、静脈パターン、虹彩パターン、顔認証用カメラ等の生体情報の入力デバイスを備えていてもよい。
【0030】
表示部23は、液晶ディスプレイ、有機ELディスプレイ、蛍光表示管(Vacuum fluorescent display)、LED等を含むドットマトリクスディスプレイ等である。
入力部22と表示部23とは、タッチパネルディスプレイのように、一体的に形成されていてもよい。
【0031】
印刷部24は、感熱方式、ドットインパクト方式、インクジェット方式等の印刷デバイスである。印刷部24は、インクリボンや液体インクを用いて印刷することが可能であってもよい。これにより、印刷部24は、決済のレシートや領収書等の記録紙に、決済についての情報を記録することが可能である。
【0032】
上位装置は、この他にも、サーバ3と接続するためのネットワーク接続部等を備えている。加えて、上位装置は、音声を出力する音声出力部等を備えていてもよい。
【0033】
次に、決済システムXの機能的な構成について説明する。
カードリーダ1の制御部10は、カード情報取得部100、カード種別判定部110、及びデータ生成部120を含む。
記憶部11は、カード情報300、トランケーションデータ310、及び状態情報320を格納する。
上位装置2の制御部20は、データ取得部200及びデータ出力部210を含む。
記憶部21は、トランケーションデータ310及び決済情報330を格納する。
【0034】
カード情報取得部100は、カード媒体からカード情報300を取得する。本実施形態においては、カード情報取得部100は、磁気ヘッド12で取得したアナログ信号に基づいたカード情報300を取得する。この際、カード情報取得部100は、暗号化磁気ヘッドからの暗号化信号を復号化して、カード情報300として取得することも可能である。
【0035】
カード種別判定部110は、カード情報取得部100により取得されたカード情報300から、カード媒体がクレジットカードか非クレジットカードかを判定する。具体的には、カード種別判定部110は、カード情報300のうち、後述するPAN上位桁及びLuhn演算結果からクレジットカードであるか、それ以外の非クレジットカードであるかを判定可能である。
【0036】
データ生成部120は、カード種別判定部110により判定されたカード媒体の種別がクレジットカードであった場合、カード情報300に含まれるカード番号の一部をマスキングしたトランケーションデータ310を生成する。
【0037】
さらに、データ生成部120は、カード媒体の種別が非クレジットカードの場合、カード媒体の全ての桁を接続された上位装置へ暗号化せずに送信することが可能である。一方、データ生成部120は、カード媒体の種別がクレジットカードの場合、トランケーションデータ310を、接続された上位装置の要求に応じて暗号化せずに送信可能である。
加えて、データ生成部120は、カード媒体の種別がクレジットカードであるものの、上位装置からの指示がクレジットカード待ち状態でなかった場合は、生成されたトランケーションデータ310を削除又は上位装置に送信しないように構成することが可能である。
【0038】
データ取得部200は、カードリーダ1からトランケーションデータ310を取得する。より具体的には、データ取得部200は、クレジットカード待ち状態で、暗号化されたクレジットカードのカード情報300を取得した場合、これを取得可能である。
【0039】
データ出力部210は、データ取得部200により取得されたトランケーションデータ310を、決済処理における決済情報330に含めて出力する。この際、データ出力部210は、例えば、トランケーションデータ310の一部又は全てを、印刷部24にてレシートや領収書等に印刷することが可能である。
【0040】
カード情報300は、カード媒体4の磁気ストライプ等に記録された、カード媒体4を識別するための情報である。本実施形態においては、カード情報300として、少なくとも下記で説明するPAN(Primary Account Number)情報のような、14~16桁の情報を用いる例を示す。ハウスカードの場合、このPAN情報の各桁の位置には、任意の値が、カード媒体4の提供者により設定されている。これに加え、カード情報300は、カード媒体4に記録されたその他の情報を含んでいてもよい。
【0041】
ここで、
図2(a)(b)により、カード情報300の一例について説明する。
図2(a)は、クレジットカードのカード情報300-1として、PAN情報が用いられる例を示す。ここでは、PAN情報は、ユーザのカード番号を示し、個々のユーザ毎に番号が異なっている。
図2(b)は、非クレジットカードの一例であるハウスカードのカード情報300-2として、ハウスカード情報が用いられる例を示す。このカード情報300-2は、クレジットカードのPAN情報が記録されている位置に記録された、任意の情報であり、桁数も可変長である。すなわち、非クレジットカードでは、PAN情報に代えて、任意の情報を、決済システムXの構成に応じて使用することが可能である。
【0042】
トランケーションデータ310は、クレジットカードのカード番号の一部をマスキングした情報である。本実施形態においては、トランケーションデータ310は、上述のPAN情報のうち、PCI DSS規格で規定されている上位桁又は下位桁の一部又は全ての桁を含む。
【0043】
ここで、
図2(c)により、トランケーションデータ310の一例について説明する。
図3(c)は、トランケーションデータ310として、PAN情報前半桁の番号を6桁、PAN情報後半桁の番号を4桁、用いる例を示す。すなわち、マスキングされる7~12桁については、「0」や「1」や「N(None)」やランダム数等、カード情報300の当該桁の値とは違う数値や文字等が設定される(以下、「トランケーション」という。)。このトランケーションされた箇所は、印刷される際には「*」(アスタリスク)等として、カード番号全体を特定できないように出力される。
【0044】
状態情報320は、上位装置からのコマンドに対応したカードリーダ1の状態を示す情報である。本実施形態においては、状態情報320として、例えば、ハウスカードの読み取り待ち状態なのか、クレジットカードの読み取り待ち状態なのかを示すフラグ等の情報を用いる。
【0045】
決済情報330は、本実施形態の決済システムXにおける、ハウスカード及びクレジットカードを用いた決済(精算)の情報である。本実施形態においては、決済情報330は、例えば、レシートや領収書等に印刷される情報を、テキストデータ、XMLデータ等として含んでいる。
【0046】
ここで、カードリーダ1の制御部10は、記憶部11に格納されたファームウェア等を含む制御プログラムを実行することで、カード情報取得部100、カード種別判定部110、及びデータ生成部120として機能する。
上位装置2の制御部10は、記憶部11に格納されたファームウェア、OS(Operating System)、アプリケーションソフトウェア等を含む制御プログラムを実行することで、データ取得部200及びデータ出力部210として機能する。
なお、記憶部11及び記憶部21に格納されるデータは、処理の状態や手順等により可変であってもよい。
【0047】
〔決済処理〕
次に、
図3~
図5により、本発明の実施の形態に係る決済処理の説明を行う。
本実施形態の決済処理では、ハウスカード、クレジットカードの順にカードリーダ1でのカード情報300の読み取りを行い、決済を行う。
このクレジットカードの読み取りの際、上位装置2は、カードリーダ1からトランケーションデータ310を取得する。この上で、取得されたトランケーションデータ310を、決済処理における決済情報330に含めて出力する。
【0048】
本実施形態の決済処理は、主に制御部10及び制御部20が、記憶部11及び記憶部21に記憶された制御プログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、まずは、
図3のフローチャートにより、本実施形態の決済処理の主な処理について、ステップ毎に説明する。ここで、
図3のフローチャートでは、主に、平文(非暗号化状態)のデータ及びコマンドの送受信を一点鎖線で、暗号化データの送受信を二点鎖線で示す。
【0049】
(ステップS201)
まず、上位装置2のデータ取得部200が、ハウスカード待機処理を行う。
データ取得部200は、決済の開始後、表示部23に、非クレジットカードとして、例えば、ハウスカードを挿入するように指示する表示を行う。
この上で、データ取得部200は、カードリーダ1へ、非クレジットカードであるハウスカードのカード情報300を取得するコマンドを送信する。
【0050】
(ステップS101)
次に、カードリーダ1のカード情報取得部100、カード種別判定部110、及びデータ生成部120が読取データ送信処理を行う。ここでは、状態情報320がハウスカードの読み取り待ち状態に設定される。そして、平文にて、ハウスカードの情報が送信される。
この処理の詳細については後述する。
【0051】
(ステップS202)
ここで、上位装置2のデータ出力部210が、ハウスカード処理を行う。
データ出力部210は、ハウスカードのカード情報300に基づいて、ユーザを特定し、決済の各種処理を行う。具体的には、データ出力部210は、例えば、カード媒体4が診察券やポイントカードの場合、別途、業務サーバと接続して、当該ユーザの支払い金額を算出したり、算出結果を含む決済情報330を取得したりすることが可能である。
なお、データ出力部210は、上述の読取データ送信処理で、エラーが返信された場合には、正しいハウスカードを挿入するように警告したり、決済を取り消したりするような処理を行う。
【0052】
(ステップS203)
次に、上位装置2のデータ取得部200が、クレジットカード待機処理を行う。
データ取得部200は、ハウスカードの処理を行った後、ユーザがクレジットカードで支払いをすることを選択した場合、表示部23に、クレジットカードを挿入するように指示する表示を行う。
この上で、データ取得部200は、カードリーダ1へ、クレジットカードのカード情報300を取得するコマンドを送信する。
【0053】
(ステップS102)
ここで、カードリーダ1のカード情報取得部100、カード種別判定部110、及びデータ生成部120が読取データ送信処理を行う。この処理内容自体は、上述のステップS101と同様である。
しかしながら、ここでは、状態情報320がクレジットカードの読み取り待ち状態に設定される。そして、暗号化データにて、クレジットカードの情報が送信される。
この暗号化データを受信した上位装置2では、これをそのままサーバ3に転送する。
【0054】
(ステップS301)
次に、サーバ3が、クレジットカード決済処理を行う。
サーバ3は、上位装置2を介して、カードリーダ1で取得されたクレジットカードの暗号化されたカード番号(暗号化データ)を取得して、決済を行う。この際、サーバ3は、上位装置2の入力部22で入力された暗証番号や生体情報やサイン等も取得可能である。これらのクレジットカードのデータは、セキュリティ上及び法令上の要求から、トランケーションデータ310を除いて、カードリーダ1及び上位装置2は保持しない。
サーバ3は、この決済結果データを、上位装置2へ返信する。
【0055】
(ステップS204)
次に、上位装置2のデータ出力部210が、結果印刷処理を行う。
データ出力部210は、決済結果データを取得すると、印刷部24にて、決済情報330をレンダリング(描画)して、レシートや領収書等に印刷させる。この際に、データ出力部210は、トランケーションデータ310の少なくとも一部を決済情報330に含めて記録紙に印刷させて出力することが可能である。たとえば、データ出力部210は、クレジットカードのカード情報300の下4桁等を、記録紙にカード明細として出力可能である。
以上により、本発明の実施の形態に係る決済処理を終了する。
【0056】
次に、
図3のステップS101及びS102の読取データ送信処理の詳細について説明する。
この読取データ送信処理では、まず、カード媒体からカード情報300を取得する。そして、取得されたカード情報300から、カード媒体がクレジットカードか非クレジットカードかを判定する。本実施形態においては、カードリーダ1に挿入されたカード媒体4がクレジットカードかハウスカードかを判定し、判定結果によって動作を変更する。判定されたカード媒体の種別がクレジットカードであった場合、カード情報300に含まれるカード番号の一部をマスキングしたトランケーションデータ310を生成する。
以下で、
図4のフローチャート及び
図5の概念図を参照して、読取データ送信処理の詳細についてステップ毎に説明する。
【0057】
(ステップS110)
まず、カード情報取得部100が、コマンド受信処理を行う。
カード情報取得部100は、クレジットカード又は非クレジットカードのカード情報300を取得するコマンドを受信する。本実施形態においては、非クレジットカードとして、ハウスカードのカード情報300を取得するコマンドを受信する。
すると、カード情報取得部100は、このコマンドに対応して、状態情報320を、クレジットカード又は非クレジットカードの読み取り待ち状態に設定する。
【0058】
(ステップS111)
次に、カード情報取得部100が、カード情報取得処理を行う。
カード情報取得部100は、磁気ヘッド12にて読み取られたカード媒体4のカード情報300を取得し、記憶部11に一時的に格納する。この際、カード情報取得部100は、カード媒体4に記録された全ての情報を取得する。すなわち、カード情報取得部100は、PAN情報に対応する全桁の位置の値を含んだカード情報300を取得する。
【0059】
(ステップS112)
次に、カード種別判定部110が、上位桁取得処理を行う。
カード種別判定部110は、カード情報300のPAN上位桁位置のデータを取得する。具体的には、カード種別判定部110は、カード情報300のPAN情報に対応する箇所のうち、例えば、発行者識別番号(Issuer Identification Number、IIN)又は銀行識別番号(Bank Identification Number、BIN)と呼ばれる上位(先頭)6桁を取得可能である。
【0060】
(ステップS113)
次に、カード種別判定部110が、取得した上位桁がクレジットカードの上位桁であるか否かを判定する。
カード種別判定部110は、取得した上位桁がクレジットカードであるか否かを判定する。具体的には、例えば、カード種別判定部110は、取得したカード情報300の上位桁のうち、最上位桁がクレジットカードの発行事業者を示す主要産業識別子(Major Industry Identifier、MII)に適合し、残りの桁も国際ブランドやカード発行事業者であることが明らかである場合に、Yesと判定する。カード種別判定部110は、それ以外の場合、すなわち、上述の最上位桁の産業分類、区分がクレジットカードでなかったり、残りの桁が不明であったりした等の場合には、Noと判定する。
Yesの場合、カード種別判定部110は、処理をステップS114に進める。
Noの場合、カード種別判定部110は、処理をステップS120に進める。
【0061】
(ステップS114)
クレジットカードの上位桁であった場合、カード種別判定部110が、Luhn演算処理を行う。
カード種別判定部110は、PAN情報に対応する位置の各桁について、ISO/IEC 7812-1に規定されたLuhnアルゴリズム(Luhn algorithm)等による演算を行う。カード種別判定部110は、この演算結果を記憶部11に一時的に格納する。
【0062】
(ステップS115)
次に、カード種別判定部110がLuhn演算結果と末尾とが一致するか否かを判定する。
カード種別判定部110は、カード情報300の最下位(最終)桁の値が、上述のLuhnアルゴリズムでの演算結果と対応するか否かを判定する。すなわち、カード種別判定部110は、クレジットカード番号の最後の数字である「チェックデジット」のチェックを行う。カード種別判定部110は、カード情報300のPAN情報に対応する位置の最下位桁の値と、演算結果とが合致する場合に、Yesと判定する。この場合、カード種別判定部110は、クレジットカードであると判定する。
カード種別判定部110は、それ以外の場合には、Noと判定する。この場合、カード種別判定部110は、非クレジットカードであり、本実施形態においては、ハウスカードであると判定する。
Yesの場合、カード種別判定部110は、処理をステップS116に進める。
Noの場合、カード種別判定部110は、処理をステップS120に進める。
【0063】
(ステップS116)
クレジットカードである場合、データ生成部120が、トランケーションデータ生成処理を行う。
データ生成部120は、カード情報300に含まれるカード番号の一部をマスキングしたトランケーションデータ310を生成する。具体的には、データ生成部120は、PCI DSS規格で規定されている上位桁又は下位桁の一部又は全ての桁を含むトランケーションデータ310を作成する。本実施形態においては、データ生成部120は、上述の
図2(c)で示したようなPAN情報の7~12桁の箇所がトランケーションされたデータを生成する。
【0064】
(ステップS117)
次に、データ生成部120は、クレジットカード待ち状態であったか否かを判定する。
データ生成部120は、状態情報320を参照し、コマンドの受信によりクレジットカードの読み取り待ち状態になっていた場合に、Yesと判定する。
データ生成部120は、それ以外の場合には、Noと判定する。
Yesの場合、データ生成部120は、処理をステップS118に進める。
Noの場合、データ生成部120は、処理をステップS119に進める。
【0065】
(ステップS118)
クレジットカードの読み取り待ち状態であった場合、データ生成部120が、クレジットカード送信処理を行う。
この処理は、クレジットカードの読み取り待ち状態で、クレジットカードが挿入された際の処理となる。
図5(a)により説明すると、データ生成部120は、クレジットカードのカード情報300を暗号化し、暗号化データとして、上位装置2に一旦、送信する。この上で、データ生成部120は、トランケーションデータ310についても、平文で上位装置2に送信する。
その後、データ生成部120は、読取データ送信処理を終了する。
【0066】
(ステップS119)
クレジットカードの読み取り待ち状態でなかった場合、データ生成部120が、データ消去処理を行う。
本実施形態において、この処理は、カード媒体4の種別がクレジットカードであったものの、上位装置2からの指示がハウスカードの読み取り待ち状態等であった場合の処理となる。
図5(b)により説明すると、本実施形態においては、データ生成部120は、トランケーションデータ310を、記憶部11から消去(削除)し、上位装置2へ送信もしない。または、データ生成部120は、トランケーションデータ310を単に削除するのではなく、単に送信しないようにしてもよい。この場合、記憶部11のカード情報300を格納する同一領域に、次にトランケーションデータ310が生成された場合に上書き等されるようにしてもよい。
この上で、データ生成部120は、上位装置2に、クレジットカードが挿入された旨のエラーを報知する。
その後、データ生成部120は、読取データ送信処理を終了する。
【0067】
(ステップS120)
ここで、データ生成部120が、ハウスカード送信処理を行う。
本実施形態において、この処理は、クレジットカード及びハウスカード読み取り待ち状態のいずれであっても、ハウスカードが挿入された場合の処理である。
図5(c)により説明すると、データ生成部120は、非クレジットカードであるハウスカードに記録されたPAN情報にあたる位置の情報であるカード情報300を暗号化せず、平文(非暗号化データ)で上位装置2に送信する。すなわち、データ生成部120は、カード媒体4の全ての桁の値を、カードリーダ1に接続された上位装置2へ暗号化せずに送信する。
【0068】
これにより、ハウスカードの読み取り待ちでカード情報300が送信された場合、これを取得した上位装置2は、ハウスカード処理を実行可能である。一方、クレジットカードの読み取り待ち状態でハウスカードが読み取られた場合には、上位装置2は、「クレジットカードを挿入して下さい」等のエラーを表示部23に表示して、再び、クレジットカードの挿入を求めることが可能である。
以上により、本発明の実施の形態に係る読取データ送信処理を終了する。
【0069】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
本発明の実施の形態に係るカードリーダ1は、カード媒体からカード情報300を取得するカード情報取得部100と、カード情報取得部100により取得されたカード情報300から、カード媒体4がクレジットカードか非クレジットカードかを判定するカード種別判定部110と、カード種別判定部110により判定されたカード媒体の種別がクレジットカードであった場合、カード情報300に含まれるカード番号の一部をマスキングしたトランケーションデータ310を生成するデータ生成部120とを備えることを特徴とする。
このように構成することで、クレジットカードの番号の一部を出力できる。具体的には、クレジットカード番号をトランケーションしてあるため、カードリーダ1や上位装置2で暗号化せずに保持可能となる。これにより、上位装置2において、カード番号を特定できないものの、どのカードかユーザが認識可能な番号で印刷できる。すなわち、例えば、カード番号の下4桁等をレシートや領収書等に印刷させることができる。よって、割賦販売法等の規定に沿って、カード番号の一部を提示可能としつつ、ユーザの利便性を高めることができる。
【0070】
本発明の実施の形態に係るカードリーダ1は、トランケーションデータ310は、PCI DSS規格で規定されている上位桁又は下位桁の一部又は全ての桁を含むことを特徴とする。
このように構成することで、セキュリティ上及び法令上要求されるトランケーションデータ310を用意して、これを元に、どのカードかユーザが認識可能な番号をレシートや領収書等に印刷させることができる。
【0071】
本発明の実施の形態に係るカードリーダ1は、データ生成部120は、カード媒体4の種別が非クレジットカードの場合、カード媒体4の全ての桁を接続された上位装置2へ暗号化せずに送信し、カード媒体4の種別がクレジットカードの場合、トランケーションデータ310を、接続された上位装置2の要求に応じて暗号化せずに送信可能とすることを特徴とする。
このように構成することで、クレジットカードを安全に決済しつつ、平文でトランケーションデータ310を送信して、上位装置2で保持、使用させることができる。さらに、トランケーションデータ310を暗号化して送信するより、処理負担等も軽減できる。
【0072】
本発明の実施の形態に係るカードリーダ1は、データ生成部120は、カード媒体4の種別がクレジットカードであるものの、上位装置2からの指示がクレジットカードの読み取り待ちの状態でなかった場合は、生成されたトランケーションデータ310を削除又は上位装置に送信しないことを特徴とする。
このように構成することで、クレジットカードを誤って挿入、読み取らせた場合であっても、一旦、生成されたトランケーションデータ310を上位装置2で取得しないようにすることができる。これにより、セキュリティを高めて、トランケーションデータ310を有効に活用することができる。
【0073】
本発明の実施の形態に係る決済システムXは、カード媒体を読み出すカードリーダ1と、当該カードリーダ1と接続されて決済処理を行う上位装置2とを含む決済システムであって、カードリーダ1は、カード媒体4からカード情報300を取得するカード情報取得部100と、カード情報取得部100により取得されたカード情報300から、カード媒体4がクレジットカードか非クレジットカードかを判定するカード種別判定部110と、カード種別判定部110により判定されたカード媒体4の種別がクレジットカードであった場合、カード情報300に含まれるカード番号の一部をマスキングしたトランケーションデータ310を生成するデータ生成部120とを備え、上位装置2は、カードリーダからトランケーションデータ310を取得するデータ取得部200と、データ取得部200により取得されたトランケーションデータ310を、決済処理における決済情報330に含めて出力するデータ出力部210とを備えることを特徴とする。
このように構成することで、クレジットカードの番号の一部を、上位装置2の印刷部24等で出力でき、ユーザの利便性を高めることができる。すなわち、カード番号をサーバまで暗号化して送信する決済システムXでも、決済端末である上位装置2で、カード番号下4桁等をレシートや領収書等へ印刷することが可能となる。
【0074】
〔他の実施の形態〕
なお、上述の実施形態においては、ハウスカードの読み取り待ち状態でクレジットカードが挿入された等の場合、カード情報300を削除するように記載した。
しかしながら、カード情報300自体を削除するのではなく、カード情報300が記録された記憶部11の記憶領域のアドレスのアドレス情報(番地情報)を消去してもよい。すなわち、カード情報300のポインタ等を削除することも可能である。
このように構成することで、記憶部11のメモリ領域を有効に利用することが可能となる。
【0075】
また、上述の実施形態においては、クレジットカードの読み取り待ち状態でハウスカードが挿入された場合に、平文でカード情報300の全ての桁のデータを送信するように記載した。
しかしながら、このような場合には、上位装置2に対して、単にエラーのみを報知したり、ハウスカード情報300の一部のみを送信したりしてもよい。
このように構成することで、上位装置2で間違ったカードが挿入されたことをすぐ把握可能となり、上位装置2の処理負担を軽減することができる。加えて、セキュリティをさらに向上させることもできる。
【0076】
また、上述の実施形態においては、Luhn演算結果がチェックデジットと合致しない場合であっても、そのまま平文でカード情報300を上位装置2へ送信するように記載した。
しかしながら、このような場合に、不正カードを使用した、又は、読み取りエラーとして、その旨を上位装置2へ送信することも可能である。さらに、この情報をカードリーダ1で格納しておいたり、読み取り自体を不可能としたりしてもよい。
このように構成することで、更にセキュリティを高め、偽造カード等による犯罪防止に資することが可能となる。
【0077】
また、上述の実施形態においては、決済処理において、ハウスカードを読み取ってから、クレジットカードを読み取るように記載した。
しかしながら、クレジットカードで支払ってから、ハウスカードを読み取るような構成であってもよい。この場合、ハウスカード処理を行って、ユーザの意志を確認してから、暗号化データをサーバ3に送信して、実際の決済を行うことも可能である。
または、ハウスカード以外の非クレジットカードを使用したり、ポイントカードと別サービスのカード等のようなハウスカードを複数読み取ったりするような構成も可能である。さらに、ユーザが現金等で支払った場合、クレジットカードの読み取り自体を行わなくてもよい。
このように構成することで、様々な決済システムの構成に対応可能となる。
【0078】
また、上述の実施形態においては、サーバ3が、クレジットカードの決済を行うための決済用サービスを提供するサーバである例について記載した。さらに、上述の実施形態においては、上位装置2が別途、精算用の業務サーバと接続されているように記載した。
しかしながら、上位装置2とサーバ3だけで、精算及びクレジットカードでの支払い、決済が可能であってもよい。または、サーバ3が上述の業務サーバの機能を兼ねていてもよい。さらに、業務サーバを、いわゆる「クラウド」上のサービスを用いて構成してもよい。
加えて、上述の実施形態においては、サーバ3と上位装置2とが直接接続される例について記載した。しかしながら、上述の業務サーバを介して、サーバ3と接続されるような構成であってもよい。
このように構成することで、クレジットカードやハウスカードを用いた、柔軟な決済のシステム構成に対応可能となる。
【0079】
また、上述の実施形態においては、カードリーダ1と上位装置2とが別々の装置である例について記載した。
しかしながら、カードリーダ及び上位装置にあたる機能が一体化されたような決済用端末装置(システム)を用いるような構成であってもよい。
このように構成することで、柔軟な構成に対応可能となる。
【0080】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【0081】
1 カードリーダ
2 上位装置
3 サーバ
4 カード媒体
10、20 制御部
11、21 記憶部
12 磁気ヘッド
22 入力部
23 表示部
24 印刷部
100 カード情報取得部
110 カード種別判定部
120 データ生成部
200 データ取得部
210 データ出力部
300、300-1、300-2 カード情報
310 トランケーションデータ
320 状態情報
330 決済情報
X 決済システム