Payment plug-ins
A payment plug-in is a self-contained software component that serves as a proxy for a payment back-end system. Payment plug-ins are responsible for payment protocol and protocol data validation.
A payment plug-in follows these steps to validate a payment:
- receives data about a financial transaction
- sends the request to the payment back-end system
- receives a response from the back-end system
- decides what data should be stored
- returns the appropriate information to WebSphere Commerce Payments
WebSphere Commerce Payments then performs the database operations necessary to record all the financial transactions for a payment plug-in.
Payment plug-ins are simpler and less expensive alternatives to the use of traditional payment cassettes, and offer an easier way to integrate with payment systems.
When a payment plug-in is added to the WebSphere Commerce environment, the foundation of WebSphere Commerce remains intact. The payment plug-in modifies the function of WebSphere Commerce payment processing through interaction with WebSphere Commerce Payments. A plug-in is identified to WebSphere Commerce Payments through a plug-in deployment descriptor (XML file). The deployment descriptor configures the plug-in in WebSphere Commerce and enables the plug-in to work properly.
Although some plug-ins are provided in WebSphere Commerce, a payment plug-in specification is available to enable plug-in writers to develop their own plug-ins for use in a WebSphere Commerce environment. Plug-ins can be simple in nature (serving as a proxy to a payment back-end system) or more complex, such as an interface to an accounting system, or some other system that serves a particular purpose (for example, a gift certificate processing system). Regardless of their complexity, plug-ins can be implemented as lightweight plug-ins.
Payment plug-ins are responsible for implementing the following mandatory Payment APIs. As an option, query-related APIs can also be implemented to extend the plug-in interface.
Plug-in APIs
checkPaymentInstruction() validatePaymentInstruction() approve() reverseApproval() deposit() reverseDeposit() approveAndDeposit() getMessage() credit() reverseCredit()
getAvailableBalance() getCredit() getPayment()
(C) Copyright IBM Corporation 1996, 2006. All Rights Reserved.