Payments are central to an e-commerce system. Optimizely Customized Commerce offers both default payment methods and the ability to create your own payment solutions. The sample package contains example integrations with various payment providers.
Classes in this topic are available in the following namespaces:
When creating and configuring payment methods in ECF, three components need to be created or re-used and configured: **Payment Types**, **Payment Gateways** and **Payment Methods**.
## Payment types
Payment types classes contain the properties of a particular payment type. For example, a credit card payment type contains credit card number, card expiration date, card type, etc. All payment types inherit from the abstract class Payment. The most common payment types are built into Customized Commerce: credit card (Obsoleted for PCI compliance), cash card, gift card, and invoice. In addition, a generic OtherPayment type is included. Payment types are meta-classes as part of MetaDataPlus.
## Payment gateways
Payment gateways provide an interface to a system which provides payment processing. A payment type is passed to the payment gateway, and the gateway executes the payment transaction with the payment system, for instance PayPal. One payment type is associated with each payment gateway. See also: [Payment gateways](🔗).
## Payment methods
Payment methods represents the way a purchase is settled by the customer by processing a payment using a payment gateway.
## Implement payment methods
Several payment methods are available:
Use a built-in payment gateway included with ECF, including integration with nSoftware.
Create multiple instances of the same gateway with a different configuration. This would apply if you need two payment setups with different account information for PayPal, especially for a multi-site implementation.
Create a custom payment gateway. An easy way to adapt capabilities and use any payment gateway.