Cassette for SET のキャッシャー・プロファイル - 購入カード・データを用いた MIA (Business Edition)

以下の XML コードは、WebSphere Commerce が提供する、 Cassette for SET の標準キャッシャー・プロファイルです。 このキャッシャー・プロファイルでは、Merchant Initiated Authorization (MIA) SET 拡張機能を使用し、 カセットでサポートされている任意指定の購入カード・データをいくつか指定します。 購入カード・メソッドは、追加の購入カード・データを決済機関に送ります。 購入カードの詳細は、IBM WebSphere Payment Manager for Multiplatforms Cassette for SET 補足 バージョン 3.1 を参照してください。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE Profile SYSTEM "../../../../xml/PaymentManager/profile.dtd">

<!--
//*==================================================================
//* Licensed Materials - Property of IBM
//*
//* 5724-A18
//*
//* (c) Copyright IBM Corp. 2001
//*
//* US Government Users Restricted Rights - Use, duplication or
//* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//*
//*================================================================== -->

<!-- ==================================================================
これは、Payment Manager 
Cassette for SET (for Merchant Initiated Authorization) の標準 WC キャッシャー・プロファイルです。

このプロファイルでは、カセットでサポートされている任意指定の購入カード・データを指定します。

注: プロファイルの DEPOSITFLAG パラメーターを "1" に変更する場合、 
$PCARD.* パラメーターをプロファイルの <CollectPayment> エレメントに移動する必要があります。
================================================================== -->

<Profile useWallet="false" enableTrace="true">

<!-- 以下の制限に注意してください。
1) カセットは整数値の入った QUANTITY 列だけをサポートします。 端数部分は除去されます。
2) OrderItems.CatEntry_id はヌルにしてはならず、CatEntry_id の CatEntShip および CatEntDesc エントリーは、 
指定した language_id の CatEntDesc.SHORTDESCRIPTION 非ヌル値と共存する必要があります。
3) OrderItems の TAXAMOUNT、SHIPCHARGE および SHIPTAXAMOUNT 列は、ヌルにしてはなりません。 
-->
<!-- 以下の 2 つの SelectStatement に注意してください。
* ACTION REQUIRED FOR ORACLE USER *

上の SelectStatement は DB2 用です。
下の SelectStatement は Oracle 用です。

ORACLE で実行している場合は、2 番目の SelectStatement をコメント解除し、
代わりに最初の SelectStatement をコメント化してください。
-->
<SelectStatement id="1" allowMultiples="true" >
SELECT PARTNUMBER, SHORTDESCRIPTION, integer(QUANTITY) as INT_QUANTITY, RTRIM(QUANTITYMEASURE) as QTYMEASURE, integer(PRICE*{currency_factor}) as UNITCOST,
integer( (TOTALPRODUCT+TAXAMOUNT+SHIPCHARGE+SHIPTAXAMOUNT+TOTALADJUSTMENT) * {currency_factor}) as TOTALCOST
FROM orderitems, catentry, catentship, catentdesc
WHERE orders_id = {orderId} 
AND orderitems.catentry_id = catentry.catentry_id
AND orderitems.catentry_id = catentship.catentry_id
AND orderitems.catentry_id = catentdesc.catentry_id
AND catentdesc.language_id = {buyer_language_id}
</SelectStatement>
<!--
<SelectStatement id="1" allowMultiples="true" >
SELECT PARTNUMBER, SHORTDESCRIPTION, round(QUANTITY) as INT_QUANTITY, RTRIM(QUANTITYMEASURE) as QTYMEASURE, round(PRICE*{currency_factor}) as UNITCOST,
round( (TOTALPRODUCT+TAXAMOUNT+SHIPCHARGE+SHIPTAXAMOUNT+TOTALADJUSTMENT) * {currency_factor}) as TOTALCOST
FROM orderitems, catentry, catentship, catentdesc
WHERE orders_id = {orderId} 
AND orderitems.catentry_id = catentry.catentry_id
AND orderitems.catentry_id = catentship.catentry_id
AND orderitems.catentry_id = catentdesc.catentry_id
AND catentdesc.language_id = {buyer_language_id}
</SelectStatement>
-->


<CollectPayment>

<!-- ==================================================================
オーダー作成のために必要な Payment Manager のパラメーター
================================================================== -->
<Parameter name="PAYMENTTYPE"><CharacterText>SET</CharacterText></Parameter>
<Parameter name="MERCHANTNUMBER"><CharacterText>{storeId}</CharacterText></Parameter>
<Parameter name="ORDERNUMBER"><CharacterText>{orderId}</CharacterText></Parameter>
<Parameter name="CURRENCY"><CharacterText>{CURRENCY}</CharacterText></Parameter>
<Parameter name="AMOUNT"><CharacterText>{AMOUNT}</CharacterText></Parameter>
<Parameter name="AMOUNTEXP10"><CharacterText>{AMOUNTEXP10}</CharacterText></Parameter>



<!-- オーダーの自動承認を試みる方法を指示します。
サポート値: 
0 - 自動承認なし
1 - 同期自動承認 - Payment Manager がオーダー作成操作の一部として
承認をおこなう。 2 - 非同期自動承認 - Payment Manager がオーダー作成後の承認操作を
スケジュールする。
WCS は APPROVEFLAG を 2 に設定すると最適に動作します。 APPROVEFLAG を 1 に設定すると、Payment Manager がオーダーの承認を完了するまで、WCS 
DoPayment コマンドがブロックされます。 
この承認が完了するまで、 
DoPayment コマンドによって変更される、同じ在庫レコードの読み取りまたは 更新を待機しているコマンドもブロックされます。
これは他のコマンドのスループットに影響を与えます。
-->
<Parameter name="APPROVEFLAG"><CharacterText>2</CharacterText></Parameter>

<!-- オーダー承認の際に使用される金額です。 通常
これはオーダー金額と同じです。 このフィールドは、APPROVEFLAG が 1 または 2 に
設定されている場合には必須です。 --> <Parameter name="PAYMENTAMOUNT"><CharacterText>{approval_amount}</CharacterText></Parameter>

<!-- オーダー承認の際に使用する必要がある決済番号です。
通常これは 1 になります。 このフィールドは、APPROVEFLAG が 1 または 2 に
設定されている場合には必須です。 -->
<Parameter name="PAYMENTNUMBER"><CharacterText>1</CharacterText></Parameter>

<!-- デポジットが自動的に行われるかどうかを指示します。 
このフラグは APPROVEFLAG が 1 または 2 に設定されている場合だけ有効です。
サポート値:
0 - 自動デポジットを行う。 
1 - 自動デポジットを行わない。 
デフォルト値は 0 です。

注: DEPOSITFLAG パラメーターを "1" に変更する場合は、 <Command name="DEPOSIT">
エレメントのすべての 
オプションの購入カード・データ・パラメーターを、 送信するパラメーターの <CollectPayment> エレメントに移動する必要があります。
-->
<Parameter name="DEPOSITFLAG"><CharacterText></CharacterText></Parameter>

<!-- 以下の 2 つのパラメーターはオプションです。 いずれか 1 つを使用して 
バイヤー購入オーダー番号 を Payment Manager へ渡すことができます。 1 番目のパラメーターに使用できるのは 
ASCII テキストのみです。 システムのバイヤー購入オーダー番号に ASCII 以外が含まれていることがある場合は 
パラメーター ORDERDATA2 を使用してください。 
-->
<Parameter name="TRANSACTIONID" maxBytes="128" encoding="ASCII"><CharacterText>{PONumber}</CharacterText></Parameter>
<Parameter name="ORDERDATA2"><CharacterText></CharacterText></Parameter>


<!-- ==================================================================
カセットに必要なパラメーター
================================================================== -->

<Parameter name="$PAN" sensitive="true"><CharacterText>{card_number}</CharacterText></Parameter>
<Parameter name="$BRAND"><CharacterText>{cardBrand}</CharacterText></Parameter>

<!-- 形式 YYYYMM の有効期限日付 -->
<Parameter name="$EXPIRY"><CharacterText>{card_expiry}</CharacterText></Parameter>



<!-- MIA (Merchant Initiated Authorization) 拡張機能へ渡される  
TransMethod フィールド値の指定に使用されます。 WCS 拡張機能は 
使用されるプロトコルにより 2 つの値を指定します。
0 (MIA_channelEncryption - HTTPS 使用の場合)
1 (MIA_unencryptedWWW - HTTP 使用の場合) 
--> 
<Parameter name="$TRANSMETHOD">
<ExtensionValue name="com.ibm.commerce.payment.extensions.GenericExtension" />
</Parameter>


<!-- このエンコード属性は 
8859_1 文字エンコード方式が GenericExtension クラスがバイトをエンコードした方式であるため、 
それを使用して戻されたストリングから 
OrderDescription のバイトを取得できることをキャッシャーに示します。 結果のバイトは、リクエスターの言語で表されます。 -->
<Parameter name="$ORDERDESCRIPTION" encoding="8859_1" >
<ExtensionValue name="com.ibm.commerce.payment.extensions.GenericExtension" />
</Parameter>

<!-- ==================================================================
カセットのオプション・パラメーター
================================================================== -->

<!-- カード所有者の番地。 1 から 128 文字の ASCII 文字。 -->
<Parameter name="$AVS.STREETADDRESS" maxBytes="128" encoding="ASCII"><CharacterText>{billto_address1}</CharacterText></Parameter>

<!-- カード所有者の市区町村。 1 から 50 文字の ASCII 文字。 -->
<Parameter name="$AVS.CITY" maxBytes="50" encoding="ASCII"><CharacterText>{billto_city}</CharacterText></Parameter>

<!-- カード所有者の都道府県。 1 から 50 文字の ASCII 文字。 -->
<Parameter name="$AVS.STATEPROVINCE" maxBytes="50" encoding="ASCII"><CharacterText>{billto_state}</CharacterText></Parameter>

<!-- カード所有者の郵便番号。 1 から 14 文字の ASCII 文字。 -->
<Parameter name="$AVS.POSTALCODE" maxBytes="14" encoding="ASCII"><CharacterText>{billto_zipcode}</CharacterText></Parameter>

<!-- カード所有者の ISO 3166 (3 桁) 国別コード。 このフィールドは、
別の AVS データが渡される場合に必要です。 -->
<Parameter name="$AVS.COUNTRYCODE"><CharacterText>{billto_country_code}</CharacterText></Parameter>

<!-- その場所の 1 つを指定するためにマーチャントが使用する ID。
値はストリングとして指定されます。 1 から 10 文字の ASCII 文字。 -->
<Parameter name="$AVS.LOCATIONID" maxBytes="10" encoding="ASCII"><CharacterText></CharacterText></Parameter>



<!-- 同じ支払いカードは 1 つの検証コードで発行されます。 検証コードは
発行した銀行によって生成され、その銀行で検証されます。 
3 または 4 桁の検証コードが続くアカウント番号が 
カードの署名パネルに印刷されます。 値は 3 または 4 桁の 
数字ストリングでなければなりません。 例: 1234 または 321 -->
<Parameter name="$CARDVERIFYCODE"><CharacterText>{cardVerificationCode}</CharacterText></Parameter>

<!-- $ORDERDESCRIPTION パラメーターのコンテンツ・タイプおよび 
文字セットを指示します。 -->
<Parameter name="$CHARSET"><CharacterText></CharacterText></Parameter> 

<!-- merchData 構造の 2 つのフィールドの内の 1 つです。指定すると 
カセットがこれを使用します。 値は 4 桁の数字ストリングです。 
注: このフィールドは、決済機関からの必要事項に使用されます。 -->
<Parameter name="$MERCHCATCODE"><CharacterText></CharacterText></Parameter> 

<!-- merchData 構造の 2 つのフィールドの内の 1 つです。指定すると 
カセットがこれを使用します。 値は 
"1" と "8" の間の数値ストリングでなければなりません。 可能な値のセマンティクスは SET 仕様に説明されています。
注: このフィールドの使用は、決済機関からの要件によるものです。 
-->
<Parameter name="$MERCHGROUP"><CharacterText></CharacterText></Parameter> 

<!-- MerOrderNum フィールドは、CapReq および AuthReq (現在、資金化状態) メッセージ 
の SalesDetail 構造にあります。 値は、最大長 24 文字の文字ストリングでなければなりません。 
-->
<Parameter name="$MERORDERNUM"><CharacterText></CharacterText></Parameter> 

<!-- マーチャントが追加の配送を承認するかどうかを指示します。 
サポート値: 
0-これがオーダーの最終支払いであることを指示する。
1-マーチャントが、オーダーに対して追加の分割支払いを 
可能にすることを指示する。 -->
<Parameter name="$SPLITALLOWED"><CharacterText>0</CharacterText></Parameter> 

</CollectPayment>



<Command name="DEPOSIT">
<!-- ==================================================================
DEPOSIT コマンドに必要な Payment Manager のパラメーター
================================================================== -->
<Parameter name="MERCHANTNUMBER"><CharacterText>{storeId}</CharacterText></Parameter>
<Parameter name="ORDERNUMBER"><CharacterText>{orderId}</CharacterText></Parameter>
<Parameter name="PAYMENTNUMBER"><CharacterText>{payment_number}</CharacterText></Parameter>
<Parameter name="AMOUNT"><CharacterText>{AMOUNT}</CharacterText></Parameter>

<!-- ==================================================================
購入カード・データのオプション・パラメーター 
================================================================== -->
<Parameter name="$PCARD.TOTALTAXAMOUNT"><CharacterText>{total_tax_amount}</CharacterText></Parameter>
<Parameter name="$PCARD.SHIPPINGAMOUNT"><CharacterText>{total_shipping_amount}</CharacterText></Parameter>

<Parameter name="$PCARD.MERCHANTORDERNUMBER"><CharacterText>{orderId}</CharacterText></Parameter>
<Parameter name="$PCARD.CUSTOMERREFERENCENUMBER"><CharacterText></CharacterText></Parameter>

<!-- SelectStatement を機能させるために以下の制限に注意してください -->
<Parameter name="$ITEM.PRODUCTCODE" maxBytes="12" encoding="UTF8">
<DatabaseValue statementID="1" columnName="PARTNUMBER" />
</Parameter>
<Parameter name="$ITEM.DESCRIPTOR" maxBytes="35" encoding="UTF8">
<DatabaseValue statementID="1" columnName="SHORTDESCRIPTION" />
</Parameter>
<Parameter name="$ITEM.QUANTITY" encoding="ASCII">
<DatabaseValue statementID="1" columnName="INT_QUANTITY" />
</Parameter>
<Parameter name="$ITEM.UNITOFMEASURE" maxBytes="12" encoding="UTF8">
<DatabaseValue statementID="1" columnName="QTYMEASURE" />
</Parameter>
<Parameter name="$ITEM.UNITCOST" encoding="ASCII">
<DatabaseValue statementID="1" columnName="UNITCOST" />
</Parameter>
<Parameter name="$ITEM.TOTALCOST" encoding="ASCII">
<DatabaseValue statementID="1" columnName="TOTALCOST" />
</Parameter>

</Command>


</Profile>

WC51_SET_MIA_PCard.profile は次の場所にあります。
drive:\WebSphere\CommerceServer\instances\instance_name\xml\payment\
drive:\Program Files\WebSphere\CommerceServer\instances\instance_name\xml\payment\
/usr/WebSphere/CommerceServer/instances/instance_name/xml/payment/
/opt/WebSphere/CommerceServer/instances/instance_name/xml/payment/
instance root path/xml/payment/

instance root path は、インスタンス作成時に、 構成マネージャーの「インスタンス」パネルにある「Instance Root Path (インスタンスのルート・パス)」フィールドで指定したパスです。 デフォルト・パスは /QIBM/UserData/WebCommerce/instances/instance_name/ です。

PAYMENTTYPE パラメーターは、このプロファイルのカセットの名前を指定します。

オプションの購入カード・データの値は、プロファイルで指定された SelectStatement を使用して、 WebSphere Commerce テーブルから集められることに注意してください。 これには、一定の制限があります。

  1. カセットは整数値の入った QUANTITY 列だけをサポートします。 端数部分は除去されます。
  2. ORDERITEMS テーブルの CATENTRY_ID 列をヌルにすることはできません。 CATENTSHIP および CATENTDESC テーブルの CATENTRY_ID エントリーは、 指定された言語 ID 用の CATENTDESC テーブルの SHORTDESCRIPTION 非ヌル列と共に存在している必要があります。
  3. ORDERITEMS テーブルの TAXAMOUNT、SHIPCHARGE、および SHIPTAXAMOUNT 列をヌルにすることはできません。

WebSphere Commerce では、 キャッシャー・プロファイルの <BuyPageInformation> エレメントは使用しません。 それと同等の機能が、支払いポリシーの attrPageName プロパティーとして提供されています。

ご使用のストアでこのプロファイルを指定する支払いポリシー (たとえば、policy_id301 のポリシー) を使用する場合、 このキャッシャー・プロファイルは使用する前に多少変更する必要があります。 この説明については、 Cassette for SET のキャッシャー・プロファイルの更新 - 購入カード・データでの MIA (Oracle の場合) を参照してください。

SET カセットで必要となるパラメーターの詳細については、 IBM WebSphere Payment Manager for Multiplatforms Cassette for SET 補足 バージョン 3.1 を参照してください。

関連概念 (1275 バイト)

関連参照 (1275 バイト)

IBM 著作権