WebSphere Commerce provides an optional component called WebSphere Commerce Payments (formerly known as Payment Manager). WebSphere Commerce Payments is a protocol-independent payment transaction server for online merchants. It provides cash register-like functionality to a site, supporting multiple payment methods using protocol-specific cassettes. These cassettes are software components that can be attached to the WebSphere Commerce Payments framework to interpret generic payment and administrative commands into payment protocol-specific requests, which are then forwarded to the appropriate recipient, such as the payment gateway of an Acquirer institution. The end result is similar to when a cashier swipes a payment card at the checkout counter in a traditional store.
WebSphere Commerce Payments handles all the background details of Internet payments for the merchant (or a group of merchants, such as a store group), and provides a graphical interface to simplify transaction management. WebSphere Commerce Payments performs the following functions:
- It verifies, upon startup and dependent on the cassettes, that all required Acquirer certificates are present. If a certificate is missing, it is requested from the Acquirer or Payment Gateway automatically.
- It runs permanently, listening on dedicated ports and serving all incoming requests from the wallet and the merchant server.
- It communicates with the Acquirer over the Internet using the TCP/IP protocol or other protocols depending on the cassette.
- It uses database tables to maintain information on the status of transactions, approval requests, and deposit requests. The records in these tables are kept for working purposes and for tracking and record-keeping. The database also contains configuration tables that retain information about the merchant, the brands of payment cards, and the Acquirers that provide card authorization and payment capture services to the merchant.
The merchant server interacts with WebSphere Commerce Payments by using APIs. Payments APIs are general enough to support other payment technologies.
WebSphere Commerce provides the following WebSphere Commerce Payments cassettes:
- OfflineCard
- Supports the processing of payment transactions that are made outside of WebSphere Commerce Payments (the payments require manual processing but information about the payments is stored in the WebSphere Commerce Payments database).
- CustomOffline
- Supports processing of custom payment transactions such as cash on delivery or COD, Bill-Me-Later, or coupons that are often executed outside of WebSphere Commerce Payments.
- BankServACH
- Supports processing of online electronic check payments using the BankServ payment gateway that interfaces with the Automated Clearing House Network (ACH).
- Paymentech
- Supports online authorization and settlement of credit card and non-PIN based debit card payments.
- VisaNet
- Supports processing of credit card transactions using the Vital Processing Services or First Horizon Merchant Services (FHMS) financial network including support for a purchasing card.
Installing and enabling WebSphere Commerce Payments
To use WebSphere Commerce Payments:
If you have not already installed WebSphere Commerce Payments, install it now. Installation directions are provided in the Installation Guide for your platform. Your payments instance must be set up properly in order to connect the payment server to WebSphere Commerce.
- Start WebSphere Commerce Payments.
- Enable WebSphere Commerce Payments using the Change Flow notebook in the WebSphere Commerce Accelerator.
- Open the WebSphere Commerce Accelerator.
- From the Store menu, select Change Flow. Then select Payments.
- Select Enable WebSphere Commerce Payments, and click OK.
- To enable the cassettes in the WebSphere Commerce Accelerator, use the Configuration Manager:
- Open the Configuration Manager.
- Expand the hostname.
- Expand Payments.
- Expand Instance List.
- Expand instance_name.
- Expand Instance Properties.
- Click Cassettes.
- For each cassette you want to enable, select it, and click >
- Click Apply.
You need to enable these cassettes for the merchant that corresponds to the store, and then create the accounts. Doing so will cause the cassettes to be displayed in the WebSphere Commerce Accelerator.
Configure WebSphere Commerce Payments.
- Access the WebSphere Commerce Payments user interface from a browser by typing the following URL:
http://host_name:port/webapp/PaymentManager
where:
- host_name
- The domain-qualified host name of the machine where Payments is installed.
- port
- The SSL port used by WebSphere Commerce Payments. The default SSL port is 5433.
- Type your Payments user ID and password. Click Logon.
- If one was not created when you published the store, add a merchant. From the Merchant Settings menu, select Add a merchant. Provide the appropriate information, making sure that the Merchant Number you enter is identical to the Store ID number of the store that you are connecting to WebSphere Commerce Payments.
- Return to Merchant Settings, and click on the cassette icon next to the merchant. Select an appropriate cassette.
- Add accounts:
- If one was not created when you published the store, add an account. From Accounts, select Add an account, and provide the appropriate information for the account (for example, currency, account number). For more details on creating the accounts, refer to the appropriate cassette guide listed below. For the BankServ cassette, you should create two accounts: one with the value of BillMe and another one with COD. Once you complete this step for each of the accounts, the payment methods should be available in the WebSphere Commerce Accelerator without having to do any changes to the JSP files.
- Repeat the previous step for every currency you would like to support; each currency requires its own account.
- Add brands (for offline card cassette only)
- Click on the link for the account name you created.
- Click Brands on the next page.
- Select Add a brand, type a brand name and click Create brand.
- Repeat the previous step for every brand you would like to support for that account (for example, Visa, MasterCard).
- Access the WebSphere Commerce Payments user interface from a browser by typing the following URL:
- Log off WebSphere Commerce Payments.
- Follow the appropriate steps for the type of order environment you have:
- Advanced orders
Review your store pages to determine what payment method JSP files should be used to accept payment method information. See Sample: Event-driven payments JSP snippets. Then, make any necessary modifications to your store pages to use the appropriate sample JSP snippets.
If you are using a payment method that is not one of those initially supported in WebSphere Commerce, be sure to also update the PaymentMethodsDisplay.jsp file to include the new payment method. For a list of payment methods that are initially supported, see Payment methods.
It is not necessary to update the AOPOrderSubmitForm.jsp file (or equivalent).
In addition, ensure that the POLICY and POLICYDESC database tables are updated to support the payment business policy for the payment methods you intend to use. (More information about these tables is provided in Payment business policies for event-driven payments.) Also ensure that XML files have been configured to support event-driven payments and the WCPayments plug-in. For more information about configuration, see Configuring payment processing (event-driven payments).
- Standard orders
Modify the store page on which customers submit orders, OrderSubmitForm.jsp. This step is required if you are using any of the following cassettes in a standard orders environment: BankServACH, Paymentech, or VisaNet. If you are using the OfflineCard or CustomOffline cassette, or if you are using an advanced orders environment, you do not need to perform this step.
- Open the following file, OrderSubmitForm.jsp:
WAS_installdir/installedApps/host_name/WC_instance_name .ear/Stores.war/storedir/ShoppingArea/CheckoutSection/StandardCheckoutSubsection
WAS_installdir\installedApps\host_name\WC_instance_name .ear\Stores.war\storedir\ShoppingArea\CheckoutSection\StandardCheckoutSubsection
WAS_userdir/WAS_instance_name/installedApps/host_name/WC_instance_name.ear/Stores.war/storedir/ShoppingArea/CheckoutSection/StandardCheckoutSubsection
workspace_dir/installedApps/host_name/WC_instance_name.ear/Stores.war/storedir/ShoppingArea/CheckoutSection/StandardCheckoutSubsection
- Search for the following text:
if (info[i].getPolicyName().trim().equals("OfflineCard"))
Change the name of the payment policy from OfflineCard to one of the following as appropriate:
BankServACH Paymentech VisaNet VisaNet_PCard
Note: If you are using the Cassette for VisaNet with purchasing card support, select the VisaNet_PCard profile rather than VisaNet.
- If the store supports Quick Checkout repeat step the previous step in the following files:
ShoppingArea/CheckoutSection/QuickCheckoutSubsection/QuickCheckoutForm.jsp UserArea/AccountSection/QuickCheckoutProfileSubsection/QuickCheckoutProfileForm.jsp
- For enabling the Cassette for BankServACH, copy the StandardBankServACH.jsp file from:
WAS_installdir/installedApps/host_name /WC_instance_name.ear/CommerceAccelerator.war/tools/order/buyPages
WAS_installdir\installedApps\host_name \WC_instance_name.ear\CommerceAccelerator.war\tools\order\buyPages
WAS_userdir/WAS_instance_name/installedApps/host_name/WC_instance_name.ear/CommerceAccelerator.war/tools/order/buyPages
workspace_dir/installedApps/host_name/WC_instance_name.ear/CommerceAccelerator.war/tools/order/buyPages
- Open the following file, OrderSubmitForm.jsp:
to:
WAS_installdir/installedApps/host_name/WC_instance_name.ear/Stores.war/ storedir/ShoppingArea/CheckoutSection/StandardCheckoutSubsection
WAS_installdir\installedApps\host_name\WC_instance_name.ear\Stores.war\ storedir\ShoppingArea\CheckoutSection\StandardCheckoutSubsection
WAS_userdir/WAS_instance_name/installedApps/host_name/WC_instance_name.ear/Stores.war/storedir/ShoppingArea/CheckoutSection/StandardCheckoutSubsection
workspace_dir/installedApps/host_name/WC_instance_name.ear/Stores.war/storedir/ShoppingArea/CheckoutSection/StandardCheckoutSubsection
Edit this file so that any Java code using the resource bundle is eliminated. For example, replace all the (String)resourceBundle.get("xxxxxxx") calls with hard coded strings, such as "XXXXXXXX".
- If using the Cassette for VisaNet or the Cassette for Paymentech, modify the page used to collect credit card information from customers, StandardCreditCard.jsp:
ShoppingArea/CheckoutSection/StandardCheckout/StandardCreditCard.jsp
Cassette for VisaNet:
<option value="VisaNet">VisaNet</option
or
Cassette for Paymentech
<option value="Paymentech"</option>
Modify only the line of the cassette you want to use for the store. This line is added after the following line:
<select name="cardBrand">
Refer to the appropriate cassette's documentation for further information.
- Review, and if necessary, modify the Cashier profile to set certain parameters, such as the APPROVEFLAG and DEPOSITFLAG parameters. Refer to the appropriate cassette supplement documentation:
- WebSphere Commerce Payments Cassette for VisaNet Supplement
- WebSphere Commerce Payments Cassette for Paymentech Supplement
- WebSphere Commerce Payments Cassette for BankServACH Supplement
- WebSphere Commerce Payments CustomOffline Cassette Supplement
- WebSphere Commerce Payments OfflineCard Cassette Supplement
All of these publications are available from the WebSphere Commerce Technical Library page at:
http://www.ibm.com/software/commerce/library/
JspBatchCompiler.bat -enterpriseapp.name "instance_name_Commerce_Payments_App" -cell.name "hostname" -node.name "hostname" -server.name "instance_name_Commerce_Payments_Server"
where instance_name is the name of the WebSphere Commerce Payments instance for which you are compiling the JSP files.
- Standard orders Schedule the PayCleanup job.
The PayCleanup job cancels WebSphere Commerce orders with payment authorization requests rejected by the respective financial institutions for longer than a store configured period of time.
- Open the Administration Console.
- From the Configuration menu, click Scheduler. A list of jobs that are scheduled to run on your store displays.
- Click New. The Schedule Job window opens.
- From the Job command drop-down list, select PayCleanup.
- Complete the fields as follows:
- In the Start time field enter 00:00.
- In the Interval field enter 86400.
- In the Priority field enter 1.
- Click OK.