Systems and methods for processing network transactions by breaking down
the transactions into several stages and performing the processing
corresponding to each stage using a different plug-in module. One
embodiment of the invention comprises an application programming
interface (API) that enables the use of individual plug-in modules to
perform different stages of the processing of a transaction. The API
defines a series of interfaces to corresponding plug-in processing
modules, where each interface corresponds to a stage of processing of a
transaction and the API conveys transaction information from one plug-in
module to the next, until all of the processing stages have been
completed. The API may be embodied in a network transaction processing
application that is adaptable to different functionalities and different
protocols by plugging different modules into the interface provided by
the API.