Reference > Payments subsystem
WCPayments plug-in
TheWCPayments plug-in implements the Payment plug-in specification to process payment actions (financial transactions). TheWCPayments plug-in acts as a bridge to WebSphere Commerce Payments Multipayment Framework and the use of payment cassettes.
TheWCPayments plug-in interacts with the WebSphere Commerce Payments Multipayment Framework such that it is compatible with earlier versions of Payments cassettes.
The following table describes the transaction types and cassettes supported by theWCPayments plug-in:
Transaction type Description Offline payment TheWCPayments plug-in enables offline transactions to be recorded by using the following payment cassettes:
- OfflineCard
- Used for payment card transactions. For example, it can be used to record a payment approval made when a credit card is swiped.
- CustomOffline
- A form of offline payment that supports manual payment transactions, such as "collect on delivery" and "bill me later" transactions or some other form of customized offline payment as defined by the merchant.
VisaNet financial processing system Merchants can send Internet credit card transactions to the VisaNet system for processing, by using the Cassette for VisaNet. The Cassette for VisaNet supports credit card processing by using the Vital Processing Services or First Horizon Merchant Services networks. BankServ payment gateway to interface with the Automated Clearing House (ACH) Network Processes online electronic checks by the Cassette for BankServACH. Paymentech payment gateway Processes and records credit card and non-PIN based debit card payments by the Cassette for Paymentech. The Cassette for Paymentech enables real-time transactions to be sent to the Paymentech system for processing.
Credit state handling
The WCPayments plug-in processes payment and credit states according to the Payment plug-in specification, with the following exception: TheWCPayments plug-in always sets the transaction pending in the payment APIs and uses the query APIs to get process information from WebSphere Commerce Payments. To illustrate, theWCPayments plug-in implements the interface QueryablePlugin, that is, getPayment() is supported by this plug-in. When the getPayment() API of the Payment plug-in controller is called, getPayment() ofWCPayments plug-in is called. This queries the payment status in WebSphere Commerce Payments. Then the Payment plug-in controller updates the payment related tables according to this query results and returns the payment object.
Contents and location
TheWCPayments plug-in package contains:
- A stateless session bean:
- com.ibm.commerce.payments.plugin.WCPayments .bean.WCPaymentsPluginBean
- com.ibm.commerce.payments.plugin.WCPayments .bean.WCPaymentsPlugin
- com.ibm.commerce.payments.plugin.WCPayments .bean.WCPaymentsPluginBeanHome
- PluginDeployment.xml - the payment plug-in deployment descriptor for theWCPayments plug-in which defines the plug-in to WebSphere Commerce Payments.
- A resource bundle for theWCPayments plug-in error messages.
Lists the error messages associated with primary and secondary return codes.
- Cashier profiles used by theWCPayments plug-in. TheWCPayments plug-in uses the following Cashier profiles:
- WCPPlugin_BankServACH.profile
- WCPPlugin_CustomOffline_BillMe.profile
- WCPPlugin_CustomOffline_COD.profile
- WCPPlugin_OfflineCard.profile
- WCPPlugin_Paymentech.profile
- WCPPlugin_VisaNet.profile
The JAR file for the plug-in and plug-in deployment descriptor are located in the following directories:
- WC_EAR/Payments_Plugin_WebSphere Commerce Payments.jar
- WC_EAR/xml/config/payments/ppc/plugins/WCPayments/PluginDeployment.xml
- WC_EAR/Payments_Plugin_WCPayments .jar
- WC_EAR/xml/config/payments/ppc/plugins/WCPayments/PluginDeployment.xml
Address Verification System (AVS) code processing with the WCPayments plug-in
After an approve or an approveAndDeposit financial transaction, theWCPayments plug-in issues a query command (QUERYPAYMENTS) to obtain the AVS common code for the newly created payment and sends the code to the WebSphere Commerce Payments. If an AVS code exists (it is neither null nor zero), the plug-in sets a flag to inform the WebSphere Commerce Payments that a warning exists for the approval transaction. The WebSphere Commerce Payments then transfers the AVS code and the warning flag to the Payment rules engine.
Relationship of payment instructions to WebSphere Commerce Payments Multipayment Framework orders
The following diagram shows the payment object relationship of the Payment rules engine to theWCPayments plug-in and WebSphere Commerce Payments multipayment framework.
As shown in the diagram, a Payment instruction in payment rules layer is associated with a payment instruction in theWCPayments plug-in layer. Payment instruction information is stored by Payment plug-in controller. For theWCPayments plug-in, additional mapping data is also provided to enable communication to take place with the WebSphere Commerce Payments framework data model. The payment instruction information passed results in an order with associated payment and credit information in WebSphere Commerce Payments Multipayment Framework layer.
Every time the API of approve ofWCPayments plug-in is called, an order with the randomly generated ID is created in Multipayment Framework layer. A payment is created in the Multipayment Framework layer. Then, the approve transaction is run against this payment in Multipayment Framework layer.
- WCPayments plug-in deployment descriptor
TheWCPayments plug-in integrates with the WebSphere Commerce Payments by using the plug-in deployment descriptor, PluginDeployment.xml.
- WCPayments plug-in exceptions
The following section describes how exceptions map between the WCPayments plug-in and WebSphere Commerce Payments, and how these exceptions map to WebSphere Commerce Payments return codes.
- WCPayments plug-in financial transactions
Payment plug-ins can perform payment actions differently. This section describes how theWCPayments plug-in handles financial transactions (payment actions) and queries by its APIs. This information might be useful to plug-in writers who are modeling plug-ins after theWCPayments plug-in.
- WCPayments plug-in and Cashier profiles
A Cashier profile is an XML document that describes how an order is created in WebSphere Commerce Payments for a particular payment method. Each payment cassette in WebSphere Commerce has one or more Cashier profiles. More than one Cashier profile can be provided to address special situations. For example, the Cassette for VisaNet has a Cashier profile for regular credit card transactions, and a separate profile to handle purchasing card transactions. Cashier profiles contain information needed to process requests, such as the command to use for that payment method, a list of the parameters required for WebSphere Commerce Payments and the cassette, and any optional parameters. For example, the Cashier profile for the OfflineCard Cassette identifies special parameters needed to process Address Verification Service (AVS) data, and special parameters required by WebSphere Commerce Payments to run the DEPOSIT command when performing offline payment transactions.
Related concepts
Related tasks
Migrate from WebSphere Commerce Payments Multipayment Framework to a payment plug-in
Convert custom V5.x payment task or policy command implementations to a payment plug-in
Migrate to the WCPayments plug-in
Configure the WCPayments plug-in
Related reference
Replacement commands for WebSphere Commerce Payments Multipayment Framework commands
WCPayments plug-in and Cashier profiles
WCPPlugin_CustomOffline_COD.profile
WCPPlugin_CustomOffline_BillMe.profile
WCPayments plug-in deployment descriptor
WCPayments plug-in financial transactions