下列 XML 程式碼是 WebSphere Commerce 中為 Cassette for BankServACH 所提供的標準 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 ACH Cassette for BankServ 的標準 WebSphere Commerce Cashier 設定檔。(這個 Cassette 只適用於美國。)
================================================================== -->
<Profile useWallet="false" enableTrace="true" >
<CollectPayment>
<!-- ==================================================================
Payment Manager 建立訂單時所需的參數
================================================================== -->
<Parameter name="PAYMENTTYPE"><CharacterText>BankServACH</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 將核准作業排在建立
訂單後執行
APPROVEFLAG 設為 2 時,WCS 的運作效率最佳。若將 APPROVEFLAG 設為 1, 則會暫停執行 WCS
DoPayment 指令,直到 Payment Manager 完成訂單的核准為止。
當完成核准時,凡任何等待要讀取/更新 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。
-->
<Parameter name="DEPOSITFLAG"><CharacterText></CharacterText></Parameter>
<!-- ==================================================================
Payment Manager 的選用參數
================================================================== -->
<!-- 下面兩個參數是選用的。其中任何一個參數都可用來將
買方訂購單號碼傳遞給 Payment Manager。第一個參數只到
ASCII 文字。如果系統的買方訂購單號碼可能含有非 ASCII
字串,請改用 ORDERDATA2 參數。 -->
<Parameter name="TRANSACTIONID" maxBytes="128" encoding="ASCII"><CharacterText>{PONumber}</CharacterText></Parameter>
<Parameter name="ORDERDATA2"><CharacterText></CharacterText></Parameter>
<!-- ==================================================================
卡匣的必要參數
================================================================== -->
<!-- 活期存款帳戶號碼 -->
<Parameter name="$CHECKINGACCOUNTNUMBER"><CharacterText>{checkingAccountNumber}</CharacterText></Parameter>
<!-- 支票遞送號碼 -->
<Parameter name="$CHECKROUTINGNUMBER"><CharacterText>{checkRoutingNumber}</CharacterText></Parameter>
<Parameter name="$BUYERNAME" maxBytes="80" encoding="ASCII"><CharacterText>{billto_firstname} {billto_lastname}</CharacterText></Parameter>
<Parameter name="$STREETADDRESS" maxBytes="50" encoding="ASCII"><CharacterText>{billto_address1}</CharacterText></Parameter>
<Parameter name="$CITY" maxBytes="50" encoding="ASCII"><CharacterText>{billto_city}</CharacterText></Parameter>
<!-- Cassette 只接受 2 個字元並且大寫的美國州別代碼
(例如:AL 代表阿拉巴馬州,AK 代表阿拉斯加州等)。BankServACH Cashier Extension 類別用以從
WebSphere Commerce STATEPROV 表格中以 {billto_state} 環境變數中
指定的值作為州別名稱,來找出 2 個字元的州別代碼。假設找不到所指定州別名稱的州別代碼,
則 Cashier Extension 會傳回空值。為了相容,Extension
類別會傳回 {billto_state} 環境變數值作為州別代碼
(假設該值的長度為 2 個字元)。
-->
<Parameter name="$STATEPROVINCE" maxBytes="2" encoding="ASCII">
<ExtensionValue name="com.ibm.commerce.payment.extensions.BankServACHCashierExtension" />
</Parameter>
<Parameter name="$POSTALCODE" maxBytes="9" encoding="ASCII"><CharacterText>{billto_zipcode}</CharacterText></Parameter>
<Parameter name="$COUNTRYCODE" maxBytes="2" encoding="ASCII"><CharacterText>US</CharacterText></Parameter>
<Parameter name="$PHONENUMBER" maxBytes="10" encoding="ASCII"><CharacterText>{billto_phone_number}</CharacterText></Parameter>
<!-- ==================================================================
CustomOffline Cassette 的選用參數
================================================================== -->
<Parameter name="$STREETADDRESS2" maxBytes="50" encoding="ASCII"><CharacterText></CharacterText></Parameter>
<Parameter name="$EMAILADDRESS" maxBytes="49" encoding="ASCII"><CharacterText></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_BankServACH.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 內容能夠提供足以相較的功能。
這個 Cashier 設定檔會使用 BankServACHCashierExtension CashierExtension 類別, 取得必要 $STATEPROVINCE 參數的州別代碼(2 個字元)。此類別會以 {billto_state} 環境變數中指定的值作為州別名稱, 在 STATEPROV 表格中尋找州別代碼。假設找不到所指州別名稱的州別代碼, 則類別會傳回空值。為了相容,CashierExtension 會傳回 {billto_state} 環境變數值作為州別代碼(假設該值長度為 2 個字元)。
{billto_state} 環境變數與其它 {billto_*} 環境變數皆屬於「名稱-值」配對, 它們會傳給 Cashier 以作為呼叫 Cashier collectPayment 時的參數用。這些變數的值取自 ADDRESS 表格中的對應直欄。
此外,如果您知道 ADDRESS 表格中的 STATE 直欄 只含有有效的州別名稱值,則在 $STATEPROVINCE 參數方面您可以使用一個 DatabaseValue。如果要使用 DatabaseValue,請參閱下列的指示。
有關 Cassette for BankServACH 所需參數的進一步資訊,請參閱 IBM WebSphere Payment Manager for Multiplatforms, Cassette for BankServACH Supplement, Version 3.1 。
![]() |