16


Payment API の操作

JSR 229 「Payment API」を使用すると、アプリケーションはユーザーに代わって支払いを行うことができます。Payment API では、支払い「アダプタ」を通じてさまざまな支払い機構がサポートされます。Payment API を実装するデバイスには、1 つまたは複数のアダプタがあります。MIDlet スイートは、記述子属性を使用して、使用できる支払いアダプタの種類を指定します。

Sun JavaTM Wireless Toolkit for CLDC のエミュレータが実装する Payment API には、Premium Priced での SMS (PPSMS) とクレジットカードによる支払いの両方をシミュレートする支払いアダプタのサンプルが付属しています。また、ツールキットにより、MIDlet の記述子と JAR ファイルマニフェストに必要な属性を簡単に設定できます。支払いコンソールにより、アプリケーションによって実行された支払いや試みられた支払いを簡単に追跡できます。

Payment API は配信および外部デバイスの支払い機構に密接に結び付けられ、支払いは信頼できる保護ドメインでのみ成功するため、常にツールキットの「OTA 経由で実行」を使用して Payment API アプリケーションのテストとデバッグを行なってください。詳細は、第 2 章を参照してください。


16.1 支払いのプロジェクト設定

プロジェクトの支払い属性を調整するには、「属性設定」をクリックし「支払い」アイコンを選択します。

図 16-1 支払いの設定


Settings window with Payment category selected

フィールドと値は JSR 229 「Payment API」の仕様で詳しく説明されています。

「一般」ボックスには、使用中の Payment API のバージョンと支払いの更新を検索する場所に関する情報があります。テストでは、プロジェクトディレクトリから直接更新ファイルを取得する localhost の URL (スクリーンショットを参照) を指定できます。

「デバッグ」ボックスには、アプリケーションのテスト中に役立つオプションがあります。各オプションについては、Payment API の仕様で説明されています。

「機能」ボックスには、アプリケーションで料金が発生する機能のリストが表示されます。これらの機能は、プロバイダごとに一覧表示される価格情報に対応します。機能のリストは、「追加」および「削除」ボタンを使用して変更できます。

「プロバイダ」ボックスには、このアプリケーションで使用できる支払いプロバイダが一覧表示されます。支払いを行うときに、エミュレータ (またはデバイス) は使用できる支払いアダプタの 1 つを、アプリケーションに対して表示されるプロバイダのいずれかに対応付けます。プロバイダのリストは、「追加」、「編集」、および「削除」ボタンを使用して変更できます。プロバイダを追加または編集する場合は、次のウィンドウが表示されます。

図 16-2 支払いプロバイダの編集


For each payment provider, info is name, supported adapter, currency, and payment specific info.

これらのフィールドも、Payment API の仕様で詳しく説明されています。

「価格情報」ボックスには、定義された支払い機能が 1 行ずつ表示されます。価格タグの値を編集するには、対応する「値」列のセルをダブルクリックします。


16.2 支払い属性の直接編集

支払い属性は、拡張子が .jpp の「支払い更新ファイル」に保存されます。詳細については、仕様を参照してください。Sun JavaTM Wireless Toolkit for CLDC には、プロジェクトの設定と独立して、支払い更新ファイルを簡単に編集するためのユーティリティーが用意されています。

ユーティリティーを実行するには、「ファイル」->「ユーティリティー」を選択し、「支払い編集ダイアログ」を選択して「起動」を押します。編集する支払い更新ファイルを選択するように求めるメッセージが表示されます。ファイルを選択すると、プロジェクト設定の「支払い」セクションとほぼ同じ内容のウィンドウが表示されます。支払い編集ユーティリティーにはデバッグ設定がありません。

支払い更新設定を編集し、完了したら「了解」を押します。支払い更新ファイルは暗号で署名されるため、ファイルの署名に使用できる鍵のリストが表示されます。使用する鍵を選択して、「支払い更新ファイルに署名」を押します。


16.3 支払いの環境設定

ツールキットの Payment API 設定を調整するには、「編集」->「環境設定」を選択し、「支払い」をクリックします。

図 16-3 支払いの環境設定


Preferences Payment category options are Mobile Country Code, Mobile Network Code, Past Transactions Limit, and Console Phone Number.

「モバイル国番号」(MCC) と「モバイルネットワークコード」(MNC) は、PPSMS 支払いプロバイダと組み合わせて使用されます。これらを組み合わせて、MCC と MNC はデバイスのワイヤレス通信事業者を識別します。支払い時には、プロジェクト設定のプロバイダのリストから一致するプロバイダを検索するために MCC と MNC が使用されます。エミュレータは実際のデバイスではないため、MCC と MNC に適切な値を入力してキャリアをシミュレートできます。詳細については、Payment API の仕様を参照してください。

「トランザクション経過制限」は、エミュレータに記録されるトランザクションの数を決定します。この設定は、外部イベントウィンドウに表示されるリストの長さ (後述) と、アプリケーションが取得できる過去のトランザクションの数に影響します。

最後に、「コンソール電話番号」は、支払いコンソールのシミュレートされた電話番号を決定します。これについては後述します。


16.4 トランザクション履歴の表示

エミュレータは、実際のデバイスと同様に支払いトランザクションを追跡します。トランザクションの履歴を確認するには、エミュレータウィンドウのメニューから「MIDlet」->「外部イベント」を選択します。「支払いトランザクション」タブをクリックします。

図 16-4 支払いトランザクションの表示


External Event Generator with Payment Transactions tab selected

さらに支払いを行なったあとに「更新」をクリックすると、リストが更新されます。トランザクションを選択して「詳細」をクリックすると、別のウィンドウにすべての詳細が表示されます。

外部イベントウィンドウには、エミュレータを OTA 経由で実行している間に行われたトランザクションだけが表示されます。OTA を使用せずにトランザクションを完了することもできますが、これらのトランザクションは表示されません。実際に近い支払いのシミュレーションでは、常に「OTA 経由で実行」を使用してアプリケーションをテストしてください。


16.5 支払いの監視

Sun JavaTM Wireless Toolkit for CLDC では支払いコンソールが提供され、サンプルの支払いアダプタを通過する支払いを簡単に確認できます。支払いサービスプロバイダコンソールを起動するには、「ファイル」->「ユーティリティー」->「支払いコンソール」を選択します。

図 16-5 支払いコンソール


Payment Service Provider console window displays messages from payment transactions

また、ネットワークモニターを使用してトランザクションを表示できます。クレジットカードのトランザクションは HTTPS を使用して処理され、PPSMS トランザクションでは SMS が使用されます。ネットワークモニターの詳細は、第 5 章を参照してください。