PayPal BuyNow コンポーネントの使用方法
Jayashri Visvanathan 氏によって作成された BuyNow JSF コンポーネントは、PayPal の BuyNow ボタン機能をラップしているため、簡単に再利用できます。このボタンにより、JavaServer Faces ページを使用できる Web サイト上で、個々の品目を販売できます。
JSF コンポーネントで BuyNow ボタンをラップする最大の利点は、さまざまなコンポーネント属性を管理対象 Bean 内のプロパティーにバインドすることによって、コンポーネント属性を動的に設定できることです。
特に、Web サイトで何百もの品目を販売する場合に、かなりの時間を節約できます。
BuyNow コンポーネント用のタグライブラリには、次の宣言を使用してアクセスできます。
<%@taglib prefix="ui" uri="http://java.sun.com/blueprints/ui/14"%>
BuyNow コンポーネントは、購入者が非表示のフォームフィールドを介して注文する品目の情報を PayPal に送信する、form HMTL 要素を表示します。
このため、JSP ページ上でこのコンポーネントを使用している場合、このコンポーネントを form 要素内に置いてはいけません。
取引を完了する時に PayPal に送信する基本的な情報はすべて、BuyNow コンポーネントのプロパティーとしてサポートされています。
BuyNow コンポーネントの属性でサポートされている情報以外に PayPal に送信する追加情報がある場合は、BuyNow コンポーネントの postData 属性を使用できます。
postData 属性は、「com.sun.j2ee.blueprints.ui.shopping.BuyNowPostData」型 JavaBean として評価される ValueBinding 式を受け付けます。
この Bean は、取引を完了するために任意で PayPal に送信するすべての属性をサポートします。
デフォルトでは、BuyNow コンポーネントは PayPal サンドボックスに送信します。
サンドボックスは実際の PayPal サイトのミラーであり、実際の金銭取引は行われません。Web サイトからの支払いなど、PayPal の機能をテストするために使用される安全なテスト環境です。
Web サイトが運営可能になり、パブリックドメインでホスティングされる準備が完了するまで、このモードで運用できます。
デフォルトでは、ボタン画像は PayPal サイトから読み込まれます。
このデフォルトの動作を無効にする場合は、「image」属性を設定して別の画像を読み込むことができます。
テストモードまたは本稼働モードのどちらでも、アプリケーションをテストする場合は、PayPal Payment サービスへの接続が開始されるため、インターネットに接続する必要があります。
BuyNow JSF コンポーネントの使用例を次に示します。
<ui:buyNow business="donate@animalfoundation.com" id="buyNow1" itemName="Buy Item One"
amount="100.00" quantity="1" type="BuyNow" postData="#{PayPalBean.postData}" target="paypal"/>
JSP タグ属性
BuyNow コンポーネントは、標準の JSF CommandButton の固有の属性に加えて次の属性をサポートしています。括弧内は、対応する PayPal 属性の名前です。
- business - PayPal アカウントの電子メールアドレス (business)。
- itemName - 品目の名前 (item_name)。
- quantity - 品目の数量 (quantity)。
- imageUrl - PayPal ページにロゴマークとして表示する 150 X 50 ピクセルの画像 (image_url)。
- postBackUrl - PayPal 取引情報の送信先 URL (notify_url)。
- paymentCancelledUrl - 支払いが取り消された場合の購入者側ブラウザの復帰先 URL (cancel_return)。
- returnUrl - 支払完了後の購入者側ブラウザの復帰先 URL (return)。
- alt - 要素を正常に表示できない場合に内容として使用する代替テキスト。
- postData - 販売者側が PayPal に送信する追加属性をすべてカプセル化した BuyNowPostData 型の JavaBean として評価される属性 (下記を参照)。
- target - このハイパーリンク経由で取得されるリソースの、表示先フレームの名前。
- type - 「BuyNow」ボタンまたは「Donations」ボタンのどちらであるかを示す属性。サポートされるモードは「BuyNow」または「Donation」のどちらかです。大文字と小文字は区別されません(type)。
- testMode - on の場合、サンドボックスに情報が送信されます。
この属性はデフォルトでは「on」です。
BuyNowPostData Bean のプロパティー
BuyNowPostData Bean は次のプロパティーをサポートしています。括弧内は、対応する PayPal 属性の名前です。
- itemNumber - 購入または寄付のどちらであるかを記録するためのパススルー変数。この値は支払完了時に返されます (item_number)。
- undefinedQuantity - 購入者側での数量指定を可能にする属性 (undefined_quantity)。
- firstOptionFieldName - 1 つ目の省略可能なフィールド名。省略された場合、変数は返されません (on0)。
- secondOptionFieldName - 2 つ目の省略可能なフィールド名。省略された場合、変数は返されません (on1)。
- continueLabel - PayPal 支払完了ページに表示する「Continue」ボタン用のテキストを指定します (cbt)。
- noteFieldLabel - 注釈用フィールドの上に表示するラベル (cn)。
- paymentPageHeaderImage - 支払ページの左上に表示する画像を指定します。最大サイズは幅 750 ピクセル、高さ 90 ピクセルです (cpp_header_image)。
- headerBgColor - 支払ページのヘッダーの背景色を指定します (cpp_headerback_color)。
- headerBorderColor - 支払ページのヘッダーのボーダー色を指定します (cpp_headerborder_color)。
- headerPayFlowColor - 支払ページのヘッダー下の背景色を指定します (cpp_payflow_color)。
- paymentPageBgColor - 支払ページの背景色を指定します (cs)。
- promptPaymentNote - 購入者側に支払いのメモの入力を求めます (no_note)。
- promptShippingAddress - 購入者にお届け先住所の入力を求めます (no_shipping)。
- pageStyle - このボタンまたはリンクに関連付けられた支払ページにカスタム支払ページスタイルを指定します (page_style)。
- submissionMethod - GET メソッドまたは POST メソッドを返します (rm)。
- currencyCode - 金銭を表す変数値の通貨を指定します (currency_code)。
- handlingCost - 取扱手数料。denoted 数量に依存しません (handling)。
- invoiceNumber - この購入のインボイス番号の特定に使用できるパススルー変数 (invoice)。
- shippingCost - 品目に固有の送料を有効にした場合の、この品目の送料 (shipping)。
- additionalItemShippingCost - 各追加品目の送料 (shipping2)。
既知の制限事項
- Tech Preview では、支払いの完了後に PayPal が販売者側に送信する属性の操作はサポートされていません。
- PayPal フォームまたは住所の生成のオーバーライドを有効にするためのプロパティーはサポートされていません。
参考資料
© Sun Microsystems 2006. Java BluePrints Solutions Catalog の内容はすべて著作権保護されており、サン・マイクロシステムズ社の書面による許可なしに他の著作物に発表することを禁止します。