stera terminal(ステラターミナル)のカード読み取り機能を使う

カード読み取り機能とは

stera terminal(ステラターミナル)には非接触ICカードリーダー、接触ICカードリーダー、磁気ストライプリーダーが搭載されています。

決済端末としての機能

非接触ICカードリーダーは非接触EMVカードおよび、TypeA/TypeB/MifareUltralight/Felicaカードの一部領域の読み取りができます。

接触ICカードリーダーは接触ICカードからJIS-Ⅰおよび、JIS-Ⅱタグデータの読み取りができます。

磁気カードリーダーは磁気カードのJIS-Ⅰおよび、JIS-Ⅱの読み取りができます。

各種カードリーダーの制御はすべてCardReaderLibrary.aarおよびPaymentAPI.jar経由で行います。

stera terminal unit/mobile(ステラターミナルユニット/モバイル)はCardReaderLibrary2.aarおよびPaymentAPI2.jar

読出し可能媒体と提供機能

読出し可能なカード媒体、提供機能について、下記に記します。

表の詳細については横スクロールさせて確認することができます。

No 媒体 提供機能 備考
1 磁気カード 磁気カードのJIS-I, JIS-IIを読出す機能を提供します。 ※1
2 接触ICカード 接触ICカードからJIS-I, JIS-IIタグデータを読出す機能を提供します。 ※1、※3
3 非接触EMVカード 非接触EMVカードから顧客情報タグデータを読出す機能を提供します。 ※1、※4
4 非接触ICカード(Type A) TypeAカードから共通領域および個別領域を読出す機能を提供します。 ※2、※3
5 非接触ICカード(Type B) TypeBカードから共通領域および個別領域を読出す機能を提供します。 ※2、※3
6 非接触ICカード(MifareUltralight) UIDおよびユーザエリアを読出す機能を提供します。  
7 FeliCaカード FeliCaカードから共通領域(鍵不要領域)を読出す機能を提供します。(IDmの呼び出しについては提供済み)  

1:多面待ちの場合はクレジット一体型の媒体のみ対応。多面待ちの場合で単体媒体(クレジット機能非搭載の会員証やポイントカード)は保証対象とならない

2:媒体内のアクセス鍵不要領域のみアクセス可能

3:EMV仕様に準拠しない接触ICカード、非接触ICカード(TypeA/TypeB)は、読出し対象とならない

4:MastercardおよびVisaのみ読出し対応。ほかブランドは読出し対象とならない

機能概要

磁気カード

1.待ち受け開始
カスタマー画面に磁気カード待ち受け画面を表示し、磁気カードの待ち受けを開始します。

2.出力対象データ
磁気カードにおける3rdパーティアプリへの出力対象データを以下に示します。

表の詳細については横スクロールさせて確認することができます。

トラック 出力対象データ 備考
JIS1 Track1 Cardholder Name  
JIS1 Track2 全データ PANはマスク ※1
JIS2 全データ PANはマスク ※2

1 :PAN桁数が可変長となるため上6桁以降をマスク(マスク桁数はPCI規定に則る)

2 :PAN桁数が固定(16桁)のため上6桁以降の中6桁をマスク

3.ポイント会員番号抽出
3rdパーティアプリからカード読出し時に抽出トラックなどを指定することで、3rdパーティアプリがポイント会員番号を取得できます。
抽出トラックと読出し開始位置、終了位置を指定することができます。
また、検索文字列も指定することが可能であり、存在する場合指定位置のデータが取得でき、存在しない場合全データが取得できます。

接触ICカード

1.待ち受け開始
カスタマー画面に接触ICカード待ち受け画面を表示し、接触ICカードの待ち受けを開始します。

2.出力対象データ
接触ICカードデータにおける3rdパーティアプリへの出力対象データを以下に示します。

表の詳細については横スクロールさせて確認することができます。

Tag番号 Tag名称 備考
Tag ‘5F20’ Cardholder Name ※1
JIS1 Track1
Tag ‘9F0B’ Cardholder Name Extended ※1
JIS1 Track1
Tag ‘57’ Tack 2 Equivalent Data JIS1 Track2
Tag ‘DF4F’ JIS II Equivalent Data JIS2

1 :Tag'9F0B'が設定されている場合、Tag'9F0B'の値を出力
Tag'9F0B'が設定されていない場合、Tag'5F20'の値を出力

3.ICカード取り忘れ防止機能
接触ICカードの読み取り終了後における接触ICカード抜き忘れを防止するため、カード抜き取り誘導画面を表示します。
カード抜き取り誘導画面表示後、接触ICカードが抜かれるまでカード抜き取り誘導画面を継続表示します。
3rdパーティアプリがデータ取得できるのは、接触ICカードの抜き取り後となります。

4.ポイント会員番号抽出
3rdパーティアプリからカード読込時に抽出トラックなどを指定することで、3rdパーティアプリがポイント会員番号を取得できます。
抽出トラックと読出し開始位置、終了位置を指定することができます。
また、検索文字列も指定することが可能であり、存在する場合指定位置のデータが取得でき、存在しない場合全データが取得できます。

非接触EMVカード

1.待ち受け開始
カスタマー画面に非接触EMVカード待ち受け画面を表示し、非接触EMVカードの待ち受けを開始します。

2.出力対象データ
非接触EMVカードデータにおける3rdパーティアプリへの出力対象データを以下に示します。

表の詳細については横スクロールさせて確認することができます。

ブランド Tag番号 Tag名称 備考
Master card Tag ‘9F6E’ Third Party Data  
Visa Tag ‘9F7C’ Customer Exclusive Data(CED)  

非接触ICカード(TypeA/TypeB)

1.待ち受け開始
カスタマー画面に非接触IC(TypeA/TypeB)カード待ち受け画面を表示し、非接触ICカードの待ち受けを開始します。

2.提供インターフェース
対象となる非接触ICカードを読み取るための、カードにデータ送信するインターフェース(透過 DataThrough)を提供します。
本CardReaderLibraryは、3rdパーティアプリから受信したデータをカードに送信後、カードからの応答データをレスポンスに設定して3rdパーティアプリが取得できます。
待ち受け開始時にキャリアON、カード検出、活性化まで行いますので、3rdパーティアプリにて対象となるICカードに合わせてカードからデータ読出しを行ってください。
なお、CardReaderLibraryは複合機能を未搭載のため読出しデータが暗号化されている場合は3rdパーティアプリで復号化してください。

非接触ICカード(Mifare Ultralight)

1.待ち受け開始
カスタマー画面に非接触IC(Mifare Ultralight)カード待ち受け画面を表示し、非接触ICカードの待ち受けを開始します。

2.提供インターフェース
UIDの読出し機能を提供します。
Mifare Ultralightカードから、読出し開始ページから指定されたページ分のデータを連続してリードするインタフェース(透過 DataThrough)を提供します。
対象は、非暗号化かつ認証なしのエリアのみが対象です。
1回のリードで4ページ分(16バイト)を読み出します。4ページを超えるページ数読み出したい場合は、3rdパーティアプリにて複数回のリードを行ってください。
待ち受け開始時にキャリアON、カード検出、活性化まで行いますので、3rdパーティアプリにて対象となるICカードに合わせてカードからデータ読出しを行ってください。

Felicaカード

1.FelicaのIDm取得
FelicaのIDm読込のみを行います。

2.待ち受け開始
カスタマー画面にFelicaカード待ち受け画面を表示し、Felicaカードの待ち受けを開始します。

3.提供インターフェース
対象となる非接触ICカードを読み取るための、カードにデータ送信するインターフェース(透過 DataThrough)を提供します。
本CardReaderLibraryは、3rdパーティアプリから受信したデータをカードに送信後、カードからの応答データをレスポンスに設定して3rdパーティアプリが取得できます。
待ち受け開始時にキャリアON、カード検出、活性化まで行いますので、3rdパーティアプリにて対象となるICカードに合わせてカードからデータ読出しを行ってください。
なお、CardReaderLibraryはカードの専用領域へのアクセス鍵を保持しておりません。専用領域へアクセスする場合は、3rdパーティアプリからアクセス鍵を含むFelicaコマンドを実行していただくことでアクセス可能になります。

カードの多面待ち

CardReaderLibraryでは、多面待ち機能を提供しています。

多面待ちの対象は磁気カード、接触ICカード、非接触EMVカードです。

非接触ICカード(TypeA/TypeB)、非接触ICカード(Mifare Ultralight)カードおよびFelicaカードは多面待ちに非対応です。

CardReaderLibraryAPIについて

カード読み取りにはCardReaderLibraryAPIを利用します。

CardReaderLibrary APIで提供するAPIはSDK仕様書を参照ください。

ダウンロードページ

カード読み取り時のカスタマー画面仕様について

CardReaderLibrary ではカスタマー画面の制御を行います。

磁気カード

磁気カードでは以下のタイミングでカスタマー画面の制御を行う。

表の詳細については横スクロールさせて確認することができます。

No 画面制御タイミング 制御内容 備考
1 カード待ち受け 待ち受け画面表示  
2 カード読み取り正常終了 読み取り完了画面表示 完了音はSDKで鳴動
3 カード異常終了 読み取り異常画面表示 異常音はSDKで鳴動
4 カード終了 画面消灯  
5 カード読み取りキャンセル 画面消灯  
磁気カード 画面イメージ

接触ICカード

接触ICカードでは以下のタイミングでカスタマー画面の制御を行う。

表の詳細については横スクロールさせて確認することができます。

No 画面制御タイミング 制御内容 備考
1 カード待ち受け 待ち受け画面表示  
2 カード読み取り正常終了 読み取り完了画面表示 完了音はSDKで鳴動
3 カード異常終了 読み取り異常画面表示 異常音はSDKで鳴動
4 カード抜取り待ち 抜取り待ち画面表示  
5 カード終了 画面消灯  
6 カード読み取りキャンセル 画面消灯  
接触ICカード 画面イメージ

非接触EMVカード

非接触EMVカードでは以下のタイミングでカスタマー画面の制御を行う。

表の詳細については横スクロールさせて確認することができます。

No 画面制御タイミング 制御内容 備考
1 カード待ち受け 待ち受け画面表示  
2 カード読み取り正常終了 読み取り完了画面表示 完了音はSDKで鳴動
3 カード異常終了 読み取り異常画面表示 異常音はSDKで鳴動
4 カード終了 画面消灯  
5 カード読み取りキャンセル 画面消灯  
非接触EMVカード 画面イメージ

非接触ICカード(TypeA/TypeB)

非接触ICカード(TypeA/TypeB)では以下のタイミングでカスタマー画面の制御を行う。

表の詳細については横スクロールさせて確認することができます。

No 画面制御タイミング 制御内容 備考
1 カード待ち受け 待ち受け画面表示
タッチしてください
LED 青点灯
 
2 カード読み取り正常終了 読み取り完了画面表示
読み取りが完了しました
LED 青点灯
完了音はSDKで鳴動
3 カード異常終了 読み取り異常画面表示
読み取りが完了しませんでした
LED 赤点灯
異常音はSDKで鳴動
4 カード終了 画面消灯  
5 カード読み取りキャンセル 画面消灯  
非接触ICカード(TypeA/TypeB) 画面イメージ

非接触ICカード(Mifare Ultralight)

非接触ICカード(Mifare Ultralight)では以下のタイミングでカスタマー画面の制御を行う。

表の詳細については横スクロールさせて確認することができます。

No 画面制御タイミング 制御内容 備考
1 カード待ち受け 待ち受け画面表示
タッチしてください
LED 青点灯
 
2 カード読み取り正常終了 読み取り完了画面表示
読み取りが完了しました
LED 青点灯
完了音はSDKで鳴動
3 カード異常終了 読み取り異常画面表示
読み取りが完了しませんでした
LED 赤点灯
異常音はSDKで鳴動
4 カード終了 画面消灯  
5 カード読み取りキャンセル 画面消灯  
非接触ICカード(Mifare Ultralight) 画面イメージ

Felicaカード

Felicaカードでは以下のタイミングでカスタマー画面の制御を行う。

表の詳細については横スクロールさせて確認することができます。

No 画面制御タイミング 制御内容 備考
1 カード待ち受け 待ち受け画面表示
タッチしてください
LED 青点灯(500ms 感覚)
 
2 カード読み取り正常終了 読み取り完了画面表示
読み取りが完了しました
LED 青点灯
完了音はSDKで鳴動
3 カード異常終了 読み取り異常画面表示
読み取りが完了しませんでした
LED 赤点灯
異常音はSDKで鳴動
4 カード終了 画面消灯  
5 カード読み取りキャンセル 画面消灯  
Felicaカード 画面イメージ

カードの多面待ち

磁気カード、接触ICカード、非接触EMVカードの多面待ちの場合、カスタマー側のカード待ち受け画面はクレジットの多面待ちと同じ画面を表示します。

カード読み取り時の鳴音仕様

CardReaderLibrary では読み取り終了時に完了音もしくは異常音を鳴動させます。

表の詳細については横スクロールさせて確認することができます。

No 名称 音源 鳴動条件 備考
1 完了音 許可音 カード読込みが正常終了したときに1回鳴音 ピッ
2 異常音 拒否音 カード読込みが異常終了したときに1回鳴音
(タイムアウトは除く)
ピーピーピー

実際にカード読み取りしてみる

磁気カード、接触ICカード、非接触EMVカードを例にカード読み取りの手続きを説明します。ほかのカードについてはSDK仕様書を参照ください。

ダウンロードページ

 

カード読み取りを利用するためには、下記の手続きを実施する必要があります。

処理フロー イメージ

1 接触ICカードのみカード読み取りが発生します。磁気カード、非接触ICカードでは発生しません。

2 カード種別の違い、カードかざしの状況により、複数回の通知が発生します。

3 磁気カード、非接触ICカード、非接触EMVカードにより取得するメソッドが変わります。

実際のコードはSDK仕様書に同梱のサンプルアプリのソースをご確認ください。

EMVカードの読み取りはReadEmvActivity.java中に実装されています。