技術記事
決済デバイス統合のためのツール:UDemo
ID TECH カードリーダーを POS(またはその他の)システムに迅速に統合する必要がある決済アプリ開発者は、ID TECH の Universal SDK を活用することで、すばやく作業を進めることができます。この SDK は、ID TECH の現行生産モデルのすべてのカードリーダー(チップカード(EMV)、磁気ストライプ(MSR)、および非接触リーダーを含む)を操作するためのライブラリ(および共通の API)を、複数の言語(Windows 用 C#、Android 用 Java、iOS 用 Swift、Linux 用 C など)で提供します。
ただし、関連するデモプログラム(当社が Universal Demo、略して UDemo と呼ぶスタンドアロンアプリ)を実行するために、SDK を実際にインストールする必要はありません。UDemo(Windows 用スタンドアロン版)は、以下から入手できます。 こちら.
当社は、すべての開発者のお客様に UDemo アプリに慣れていただくことをお勧めします。なぜなら、UDemo は、(デバイスとの間の)生のリクエストとレスポンスがどのようなものかを詳しく示し、特定の設定でデバイスを構成することを可能にし、さらに開発者がさまざまな引数値を使用してさまざまなコマンドをリアルタイムで簡単にテストできるプレイグラウンドを提供するからです。UDemo は EMV についてさらに学ぶための優れた手段でもあります。
UDemo インストーラーを実行した後、アプリを起動してください。以下のようなウィンドウが表示されます。
なお、サポートされている ID TECH カードリーダーは、いつでもコンピュータの USB ポートに接続でき、UDemo によって自動的に検出されます。デバイスが認識されると、コマンドツリー(上記「COMMANDS」を参照)に、そのデバイス固有のコマンドが表示されます(例えば、デバイスが非接触インタラクションをサポートしている場合は「CTLS」グループ、接触型 EMV チップカード取引をサポートしている場合は「EMV」などが表示されます)。
基本的な使用方法は次のとおりです:
- デバイスを接続します。
- コマンドツリーをたどり、目的のコマンドを見つけます。
- ツリー内のコマンドをダブルクリックするか、緑色の コマンドを実行 ボタン(ウィンドウ下部)をシングルクリックします。
- Log ペインを確認して、リクエストとレスポンスの内容を確認します。(デバイスへ送信された値は「OUT」、デバイスから受信した値は「IN」で示されます。)
- 右側の 結果 ペインを確認すると、何が起きたかの平易な英語による説明が表示されます。
上のスクリーンショットでは、Start EMV Transaction コマンドを(ID TECH VP3300 カードリーダーに対して)、デフォルトの取引額 1.00 ドルで実行しています。実際に実行されたコマンドは Log の最上部に表示されています。デバイスからは 4 件の「IN」レスポンスを受信しました。最初のレスポンスは ACK で、次の 2 件の「IN」レスポンスには、取引の実行中に POS に表示する必要があるかもしれない LCD メッセージ(「Processing…」など)を示すステータス情報が含まれています。4 件目で最後の IN には、リーダーから返された TLV(tag-length-value)データブロックが含まれています。TLV の解析の一部は Result ペインに表示されています。
UDemo は対話性の高いツールで、実際に使用しながら学ぶのが最適です。学習曲線を少し早く登るために、以下の点を知っておくとよいでしょう。
- 多くのコマンドは引数値を受け取ったり、実行前に何らかの設定が可能だったりします。Commands リスト内のコマンドをシングルクリックするだけで、そのコマンドが追加の値を受け取れる場合は、Log ペインのすぐ上に適切なフォームフィールドが自動的に表示されます。必要な値を入力したうえで、コマンドをダブルクリックすると、それらの値で実行されます。
- 右上の仮想キーパッドは、リーダーに挿入されたカードがカード所有者認証方法(CVM)の 1 つとして PIN 入力を要求した場合にアクティブになります。
- Command リストのすぐ上に、次のラベルの付いたボタンがあります。 復号化このボタンをクリックすると、取引データを復号できるダイアログが表示されます。
- Log ペインの下には、次のボタンがあります。 ディスクへのキャプチャを開始 (また、次のボタンも併設されています: ログをクリア ボタン、ならびに ログをサポートにメール送信)。Start Capture ボタンは、後で分析するためにセッションのデータをキャプチャしたいときに便利です。テクニカルサポートのケースを開く必要があると判断した場合は、Email Logs ボタンで結果を当社にメール送信することもできます。
EMV 取引を実行する前に
もちろん、UDemo はテスト用のツールにすぎず、(実際の)クレジットカードに対して取引を実際に請求することはできませんが、接触型 EMV セッションの 3 つのフェーズ(Start、Authenticate、Completion)すべてをシミュレートします。ただし、取引コマンドを実行する前に、カードリーダーには最低限いくつかの構成を行う必要があります。(そうしないとシミュレーションは失敗します。)
3 つのコマンドを実行することで、デバイスを(妥当なデフォルト設定で)すばやく構成できます。
- まず、コマンドツリーの AID ノードの下にある Load Default AID を見つけて実行します。これは実際には、半ダース程度の一般的な AID をデバイスにロードするバッチ操作です。10 秒程度お待ちください。
- 次に、コマンドツリーの CAPK ノードの下にある Load Default CAPK コマンドを見つけて実行します。これも数秒かかるバッチコマンドです。各種カードブランドの公開鍵をロードし、取引時にチップカードが生成する暗号情報の検証に使用します。(注意:これらの鍵はテスト専用であり、本番環境での使用を目的としていません。本番用の鍵はゲートウェイまたは決済プロセッサから取得してください。)
- 最後に、コマンドツリーの Terminal Config ノードの下にある Save Terminal Data を見つけて実行します。これにより、各種ターミナル機能をサポートするための妥当なデフォルト TLV がリーダーにロードされます。
これらのコマンドを実行した後は、カードリーダーに適切なデフォルトデータが格納され、Start Transaction などのコマンドがエラーなく動作するようになります。
詳細について
言うまでもなく、UDemo アプリには多くの機能があり、ここで説明しきれるものではありません。さらに情報を得る最良の方法は? UDemo 画面の左下隅(上の図を参照)を見て、ピンク色の ドキュメント ボタン。このボタンをクリックすると、(お使いのマシンにAcrobat Readerがインストールされている場合)PDFが開き、UDemoのクイックスタートガイドが表示されます。
UDemoに表示されるすべての16進数バイトの意味を理解するには、お使いのリーダー用の低レベル(ファームウェア)APIガイドを入手することをお勧めします。通常は、当社の公開ナレッジベースの ダウンロード セクションから直接入手できます(登録不要)。ただし、一部のドキュメントはリクエストに応じてのみ提供されます。その場合は、ID TECH担当者までお問い合わせいただければ、該当ドキュメントを無償で提供いたします。
Universal SDKやID TECH製品に関するご質問はございませんか?以下より当社の専門家にお問い合わせください。 1-800-984-1010!
