The system has several built in PaymentProcessors. These are:
- BASIC_CREDIT
- BASIC_GIFT_CERTIFICATE
- CYBERSOURCE_CREDIT
- CYBERSOURCE_BML
- PAYPAL_CREDIT
- PAYPAL_EXPRESS
- VERISIGN_CREDIT
Merchants may also define custom payment processors. This is done by defining a payment processor with an arbitrary ID in the Business Manager, and then configuring an attribute group with the same ID on the SitePreferences system object. Attributes added to the group will be considered preferences of the payment processor and will be readable through getPreferenceValue(String). Merchants can design their checkout process to read these preferences at run time for connecting to their payment gateways.
Every PaymentMethod in the system is associated with at most one PaymentProcessor. This basically represents the physical payment gateway which processes the (logical) payment method. Each payment processor may be associated with an arbitrary number of payment methods. Also, each payment transaction has one PaymentProcessor which is set by custom code during the checkout process.