WebSphere Commerce provides software components that enable sellers to control how payments are processed in a store. The following software elements provide control over how payments are processed:
- Advanced orders Event-driven payments subcomponent
- Advanced orders Payment Plug-in Controller
- Advanced orders Payment plug-ins
- Standard orders WebSphere Commerce Payments and payment cassettes
To perform payment processing with the advanced orders function, the event-driven payments subcomponent, Payment Plug-in Controller, and a payment plug-in must be used.
The event-driven payments subcomponent defines what financial transactions should be executed during the processing of business events in the life cycle of orders and returns. The definition is done through payment rules that take into account the payment methods and the payment back-end systems that process the financial transactions for the store. The event-driven payments subcomponent requires use of the Payment Plug-in Controller and a payment plug-in.
The Payment Plug-in Controller handles the execution of payment actions for event-driven payments and communication with the payment plug-ins responsible for processing the financial transactions. It serves as a lightweight solution for handling payments connectivity in WebSphere Commerce. The Payment Plug-in Controller provides persistency and encryption services to payment plug-ins, and, through a payment plug-in specification, also defines how WebSphere Commerce integrates with Payment Service Providers and other payment systems. In WebSphere Commerce, the Payment Plug-in Controller requires the use of event-driven payments.
Payment plug-ins provide payment connectivity at a protocol level. A plug-in typically implements a single payment protocol. However, multiple payment protocols can be supported by the same payment plug-in. Payment plug-ins require the use of event-driven payments and the Payment Plug-in Controller.
Combined, the event-driven payments subcomponent, Payment Plug-in Controller, and individual payment plug-ins provide:
- Backward compatibility - Traditional payment cassettes can be used through a WebSphere Commerce payment plug-in.
- Coexistence - Multiple plug-ins can be used to communicate with various payment back-end systems.
- Easy migration - Migration is made easier because there are no database tables that need to be migrated for a payment plug-in when new versions of payment plug-ins are provided, and payment plug-ins themselves do not use the type of cassette administrative or financial objects associated with the use of the WebSphere Commerce Payments framework. An exception to this is if you are migrating from WebSphere Commerce Payments to advanced orders and the use of the WCPayments plug-in, where information must be migrated from the WebSphere Commerce Payments database to internal event-driven payments and Payment Plug-in Controller tables. In addition, migration is made easier because there are no PSPL files (documents that define a payment cassette's Web page) to deal with if you are writing a plug-in.
The WebSphere Commerce Payments component and its associated payment cassettes (such as the OfflineCard cassette or the Cassette for VisaNet, for example) were the software components that were traditionally available for handling payments. After version 5.6 of WebSphere Commerce, the event-driven payments subcomponent, Payment Plug-in Controller, and payment plug-ins are introduced as an alternative to WebSphere Commerce Payments. The traditional use of WebSphere Commerce Payments and payment cassettes is still supported, however. WebSphere Commerce Payments does not require the use of event-driven payments, the Payment Plug-in Controller, or payment plug-ins. Likewise, the event-driven payments subcomponent does not require the use of WebSphere Commerce Payments.
A bridge from the Payment Plug-in Controller to the traditional WebSphere Commerce Payments component is available in a plug-in called WCPayments. The WCPayments plug-in is provided with WebSphere Commerce to connect to the WebSphere Commerce Payments multipayment framework. The WCPayments plug-in enables you to use the following payment cassettes while being able to take advantage of the Payment Plug-in Controller and the advanced orders function:
- Cassette for VisaNet
- Cassette for Paymentech
- Cassette for BankServACH
- CustomOffline cassette
- OfflineCard cassette
The WCPayments plug-in can also be used with third-party cassettes, assuming proper configuration and implementation of cashier profiles. When considering options for handling offline transactions, you should consider using the SimpleOffline payment plug-in rather than the offline cassettes.
The primary focus of the alternative method of using the Payment Plug-in Controller and plug-ins is to define the interaction between WebSphere Commerce and payment service providers through generic, lightweight Java interfaces that handle payment actions. This approach enables Sellers to have the means to authenticate buyers and reserve and capture funds, but enables them to focus on the core business of taking orders, managing order fulfillment, and processing returns rather than on the definition of payment interfaces that are more appropriately defined by payment service providers to achieve batch processing and payment administration results.