下列 XML 程式碼是 WebSphere Commerce 中針對 Cassette for SET 所提供的標準 Cashier 設定檔。
<?xml version="1.0" encoding="UTF-8"?>
<!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 的標準 WCS 5.1
Cashier 設定檔
================================================================== -->
<Profile useWallet="true" enableTrace="true" >
<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>
<!-- ==================================================================
Payment Manager 的選用參數
================================================================== -->
<!-- 指出應如何試著自動核准訂單
支援的值有:
0 - 不自動核准
1 - 同步自動核准 - Payment Manager 會在建立訂單期間
試著核准 2 - 不同步自動核准 - Payment Manager 將核准作業排在建立
訂單後執行預設值是 0。
由於使用電子錢包應用程式,Payment Manager 會傳回一則起動訊息給
WC 以便傳給購物者。這會完成 DoPayment 指令。
指定 APPROVEFLAG=1 表示電子錢包應用程式在收到
Payment Gateway 所發出的授權回應後,
將收到交易回應。
-->
<Parameter name="APPROVEFLAG"><CharacterText>1</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。
-->
<Parameter name="DEPOSITFLAG"><CharacterText></CharacterText></Parameter>
<!-- 下面兩個參數是選用的。其中任何一個參數都可用來將
買方訂購單號碼傳遞給 Payment Manager。第一個參數只到
ASCII 文字。如果系統的買方訂購單號碼可能含有非 ASCII
字串,請改用 ORDERDATA2 參數。 -->
<Parameter name="TRANSACTIONID" maxBytes="128" encoding="ASCII"><CharacterText>{PONumber}</CharacterText></Parameter>
<Parameter name="ORDERDATA2"><CharacterText></CharacterText></Parameter>
<!-- ==================================================================
卡匣的必要參數
================================================================== -->
<Parameter name="$SUCCESSURL"><CharacterText>http://{WCHostName}{WebPath}/PaySuccessView?storeId={storeId}&orderId={orderId}&langId={buyer_language_id}</CharacterText></Parameter>
<Parameter name="$FAILUREURL"><CharacterText>http://{WCHostName}{WebPath}/PayResetPM?storeId={storeId}&orderId={orderId}&fail=1&langId={buyer_language_id}&URL=PayFailureView</CharacterText></Parameter>
<Parameter name="$CANCELURL" ><CharacterText>http://{WCHostName}{WebPath}/PayResetPM?storeId={storeId}&orderId={orderId}&cancel=1&langId={buyer_language_id}&URL=PayCancelView</CharacterText></Parameter>
<Parameter name="$SERVICEURL"><CharacterText>http://{WCHostName}{WebPath}/PayServiceView?storeId={storeId}&orderId={orderId}&langId={buyer_language_id}</CharacterText></Parameter>
<!-- 編碼屬性用以指示 Cashier 有關 OrderDescription
的位元組可從使用 8859_1 字元編碼的傳回字串得知,這
是因為此為 GenericExtension 類別編碼位元組的方式。
產生的位元組是採用要求端的語言。-->
<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 到 10 的 ASCII 字元。-->
<Parameter name="$AVS.LOCATIONID" maxBytes="10" encoding="ASCII"><CharacterText></CharacterText></Parameter>
<!-- 指出 $ORDERDESCRIPTION 參數的內容類型與
字集。 部份電子錢包可能會需要付款起始訊息的內容
類型標頭,以併入字集規格。
在這個情況下,請指定 "text/plain; charset={language_encoding}"
來作為 $CHARSET 參數的值,不含引號。
-->
<Parameter name="$CHARSET"><CharacterText></CharacterText></Parameter>
<!-- merchData 結構中的兩個欄位之一;若有指定,則
卡匣會加以使用。此值必須是一個 4 個字元長的數值字串。
注意事項:是否使用這個欄位,將由收單機構決定。-->
<Parameter name="$MERCHCATCODE"><CharacterText></CharacterText></Parameter>
<!-- merchData 結構中的兩個欄位之一;若有指定,則
卡匣會加以使用。值必須是 "1" 和 "8" 之間的
數值字串。可能值的相關語義,說明於 SET
規格中。 附註:是否使用此欄位,
將由收單機構決定。 -->
<Parameter name="$MERCHGROUP"><CharacterText></CharacterText></Parameter>
<!-- MerOrderNum 欄位位於 CapReq 與 AuthReq(目前帶有 capture)
訊息的 SaleDetail 結構中。此值必須是一個 24 個字元以內的
字串。 -->
<Parameter name="$MERORDERNUM"><CharacterText></CharacterText></Parameter>
<!-- 指出商家可否核准額外的出貨。
支援的值有:
0-此為訂單的最終付款。
1-商家可核准訂單分批
付款。-->
<Parameter name="$SPLITALLOWED"><CharacterText>1</CharacterText></Parameter>
<!-- 用以指出電子錢包所傳來的交易要求必須含有
持卡人憑證。 若省略此關鍵字,將容許未附憑證的
交易。有效值為:
0: 不需要持卡人憑證。
1: 需要持卡人憑證。
-->
<Parameter name="$REQUIRECARDCERT"><CharacterText>1</CharacterText></Parameter>
</CollectPayment>
<Command name="DEPOSIT">
<!-- ==================================================================
Payment Manager 的 DEPOSIT 指令所需要的參數
================================================================== -->
<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>
</Command>
</Profile>
您可以在下列目錄中找到 WC51_SET_Wallet.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 是您在建立案例期間於架構管理程式之案例畫面的「案例根路徑」欄位中指定的路徑。 預設路徑為 /QIBM/UserData/WebCommerce/instances/instance_name/。
PAYMENTTYPE 參數用以指定設定檔卡匣的名稱。
WebSphere Commerce 不會使用 Cashier 設定檔的 <BuyPageInformation> 元素。 付款原則的 attrPageName 內容能夠提供足以相較的功能。
設定檔會藉由呼叫 GetOrderDescCmd 作業指令, 使用 GenericExtension 類別來取得產生電子錢包之付款起始訊息所需要的 $ORDERDESCRIPTION 參數值。 如此可讓不同的商店採用不同的 GetOrderDescCmd 指令施行方式, 且每家商店仍使用相同的 Cashier 設定檔。
此設定會分別針對 $SUCCESSURL、$FAILUREURL、$CANCELURL 與 $SERVICEURL 參數 指定 PaySuccessView、PayFailureView、PayCancelView 與 PayServiceView。 另請注意 $FAILUREURL 與 $CANCELURL 的 PayResetPM 指令。fail=1 與 cancel=1 參數是 預設範例 JSP 檔 (PayStatusPM.jsp) 中 PayFailureView 以及 PayCancelView 所用的參數。 參數會根據所設定的參數,指示 JSP 檔向客戶顯示不同的訊息。
有關 PaySuccessView、PayFailureView、PayCancelView 與 PayServiceView 的詳細資訊,請參閱可自訂的付款 JSP 檔。
有關 Cassette for SET 所需參數的進一步資訊,請參閱 IBM WebSphere Payment Manager for Multiplatforms, Cassette for SET 補充資料 3.1 版。
![]() |