Package com.ibm.commerce.payments.plugin

Contains the IBM payment plugin specification.

See: Description

Package com.ibm.commerce.payments.plugin Description

Contains the IBM payment plugin specification.

A payment plug-in is a stateless session bean that externalizes payment services for a particular payment back end, payment processor, or payment service provider (PSP).

The service comprises the basic financial transactions expected in the implementation of a payment protocol. Examples include transactions for credit cards, electronic checks, gift certificates and credit lines.

Plug-in implementation

A plug-in implementation consists of the following:

Plug-in deployment descriptor

The plug-in deployment descriptor should follow this schema: descriptor.xsd.
Here is an example: descriptor.xml.
For details on each attribute of the plug-in deployment descriptor, please refer to PluginConfiguration.

Payment Plug-in Controller

Payment plug-in API methods are invoked by the IBM Payment Plug-in Controller (PPC). The Payment Plug-in Controller provides a unified view of all payment protocols being implemented by plug-ins by means of a simple facade. Merchants can use Payment Plug-in Controller to access multiple payment back ends through a simple and unique API. Merchants use the Payment Plug-in Controller to process orders and refunds. The Payment Plug-in Controller is the IBM WebSphere Commerce solution for multiple payment protocols in business-to-consumer (B2C) and business-to-business (B2B) shopping flows.

The Payment Plug-in Controller provides the following facilities to plug-in implementations:

Dynamic plug-in and back-end system selection

When dealing with financial transactions for orders and returns, the Payment Plug-in Controller needs to determine which plug-in will process those requests. Since multiple plug-ins can be configured in a single environment. A selector called payment system name is used in every request to the Payment Plug-in Controller. The Payment Plug-in Controller uses the payment system name to determine, based on configuration, which plug-in implementation will process the request.

A plug-in can also implement multiple payment protocols and communicate with multiple payment back-end systems by itself. With that purpose, the payment system name is also passed in the PaymentInstruction. The PaymentInstruction is available directly or indirectly in each and every plug-in API method.