Der folgende XML-Code ist das Standard-Cashier-Profil, das in WebSphere Commerce für die Verwendung mit der Kassette für BankServACH bereitgestellt wird:
<?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.
//*
//*================================================================== -->
<!-- ==================================================================
This is the Standard WebSphere Commerce cashier profile for the Payment Manager ACH Cassette for BankServ. (This Cassette is for US Only.)
================================================================== -->
<Profile useWallet="false" enableTrace="true" >
<CollectPayment>
<!-- ==================================================================
Parameters required by Payment Manager for order creation
================================================================== -->
<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>
<!-- Indicates how automatic approval of the order should be attempted
Supported values are:
0 - no automatic approval
1 - synchronous automatic approval - Payment Manager attempts approval as
part of order creation operation
2 - asynchronous automatic approval - Payment Manager schedules an approval
operations after order is created
WCS works best with APPROVEFLAG set to 2. When the APPROVEFLAG is set to 1, the WCS
DoPayment command is blocked until Payment Manager completes the approval of the order.
Until this approval is complete, any commands wanting to read/update the same inventory
records modified by the DoPayment command will be blocked. This will affect the throughput
of the other commands.
-->
<Parameter name="APPROVEFLAG"><CharacterText>2</CharacterText></Parameter>
<!-- The amount which should be used when approving an order. Usually
this will be the same as the order amount. This field is required
if the APPROVEFLAG is set to 1 or 2. -->
<Parameter name="PAYMENTAMOUNT"><CharacterText>{approval_amount}</CharacterText></Parameter>
<!-- The payment number which used be used when approving an order.
Usually this will be 1. This field is required if the APPROVEFLAG
is set to 1 or 2. -->
<Parameter name="PAYMENTNUMBER"><CharacterText>1</CharacterText></Parameter>
<!-- Indicates whether the deposit should be attempted automatically.
This flag is only valid if APPROVEFLAG is set to 1 or 2.
Supported values are:
0 - Funds should not be automatically deposited.
1 - Funds should be automatically deposited.
The default value is 0.
-->
<Parameter name="DEPOSITFLAG"><CharacterText></CharacterText></Parameter>
<!-- ==================================================================
Optional parameters for Payment Manager
================================================================== -->
<!-- The following two parameters are optional. Either one could be used to pass the
Buyer Purchase Order number to the Payment Manager. The first Parameter takes only
ASCII Text. If Buyer Purchase Order numbers on your system may contain non-ASCII
Strings, use parameter ORDERDATA2 instead.
-->
<Parameter name="TRANSACTIONID" maxBytes="128" encoding="ASCII"><CharacterText>{PONumber}</CharacterText></Parameter>
<Parameter name="ORDERDATA2"><CharacterText></CharacterText></Parameter>
<!-- ==================================================================
Parameters required by the cassette
================================================================== -->
<!-- The checking account number -->
<Parameter name="$CHECKINGACCOUNTNUMBER"><CharacterText>{checkingAccountNumber}</CharacterText></Parameter>
<!-- The check routing number -->
<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>
<!-- Only the 2-character US State Codes in Uppercase (e.g. AL for Alabama, AK for Alaska, etc.)
are accepted by the Cassette. The BankServACH Cashier Extension class is used to locate
the 2-character State Code from the WebSphere Commerce STATEPROV Table using the value specified
in the {billto_state} environment variable as State name. The Cashier Extension returns null
if no State Code can be found for the State name specified. For compatibility, the Extension
class returns the {billto_state} environment variable value as the State code if the value is
of length two.
-->
<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>
<!-- ==================================================================
Optional parameters for the 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">
<!-- ==================================================================
Parameters required by Payment Manager for DEPOSIT Command
================================================================== -->
<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>
Das Profil WC51_BankServACH.profile befindet sich in:
laufwerk:\WebSphere\CommerceServer\instances\exemplarname\xml\payment\
laufwerk:\Programme\WebSphere\CommerceServer\instances\exemplarname\xml\payment\
/usr/WebSphere/CommerceServer/instances/exemplarname/xml/payment/
/opt/WebSphere/CommerceServer/instances/exemplarname/xml/payment/
root_pfad_des_exemplars/xml/payment/
Hierbei ist root_pfad_des_exemplars der Pfad, den Sie
während der Erstellung des Exemplars im Feld
Root-Pfad des Exemplars auf der Seite Exemplar
im Konfigurationsmanager angegeben haben. Der Standardpfad lautet:
/QIBM/UserData/WebCommerce/instances/exemplarname/.
Der Parameter PAYMENTTYPE gibt den Namen der Kassette dieses Profils an.
WebSphere Commerce verwendet nicht das Element <BuyPageInformation> des Cashier-Profils. Eine vergleichbare Funktionalität wird durch die Eigenschaft attrPageName der Zahlungsrichtlinie erreicht.
Dieses Cashier-Profil verwendet die BankServACHCashierExtension CashierExtension-Klasse um den zwei Zeichen langen Code für das Bundesland für den erforderlichen Parameter $STATEPROVINCE abzurufen. Diese Klasse sucht nach dem Code für das Bundesland in der Tabelle STATEPROV, wobei der in der Umgebungsvariablen {billto_state} angegebene Wert als Name des Bundeslands verwendet wird. Die Klasse gibt Null zurück, wenn fü r den angegebenen Bundeslandnamen kein Bundeslandcode gefunden werden kann. Zu Kompatibilitätszwecken gibt die Klasse 'CashierExtension' den Wert {billto_state} der Umgebungsvariablen als Bundeslandcode zurück, falls der Wert zwei Zeichen lang ist.
Die Umgebungsvariable '{billto_state}' und die anderen {billto_*}-Umgebungsvariablen stellen einige der Name/Wert-Paare dar, die als Parameter für den Cashieraufruf 'collectPayment' an den Cashier übermittelt werden. Die Werte für diese Variablen stammen aus den zugehörigen Spalten in der Tabelle ADDRESS.
Sie können auch einen Datenbankwert (DatabaseValue) für den Parameter $STATEPROVINCE verwenden, wenn Sie sicher sind, dass die Spalte STATE in Ihrer Tabelle ADDRESS nur gültige Bundeslandnamen als Werte enthält. Zur Verwendung des Datenbankwerts (DatabaseValue) führen Sie die folgenden Anweisungen aus:
Weitere Informationen zu den für die Kassette für BankServACH erforderlichen Parametern enthält IBM WebSphere Payment Manager for Multiplatforms, Cassette for BankServACH, Version 3.1.
![]() |