Payments are central to an e-commerce system. EPiServer Commerce offers both default payment options as well as flexible possibilities to create your own payment solutions. The sample package contains example integrations with various payment providers.
Classes referred to here are available in the following namespaces:
How it works
When creating and configuring payment methods in ECF, there are three components that need to be created or re-used as well as configured: Payment Types, Payment Gateways and Payment Methods.
Payment types are classes which 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 already built-in to EPiServer Commerce: Credit card, cash card, gift card, and invoice. In addition, a generic OtherPayment type is included. Payment types are meta classes as part of Meta Data Plus.
Payment gateways provide an interface to the 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.
These are some of the gateway properties:
- Id the system-assigned unique identifier for the payment gateway.
- Name the name to be displayed to the user.
- Description a description that can be displayed to the user.
- System Keyword the unique name for each instance of the gateway; new non-unique keywords will not save to the database. This is not be editable after a gateway is initially created.
- Language allows a specific language to be specified for the payment gateway.
- Class Name name of the gateway class to be associated with the payment.
Payment methods contain information about the way the customer views a payment option and has a payment gateway associated with it.
Implementing payment options
There are several alternatives when setting up payment options for your site:
- Use one of the built-in payment gateways that are included with ECF, including integration with nSoftware.
- Create multiple instances of the same gateway with different configuration. This would apply to a situation where you need to, for example, have two different payment setups with different account information for PayPal, especially for a multi-site implementation.
- Create a custom payment gateway. This gives you an easy way to adapt capabilities and use any type of payment gateway.
Refer to Payment gateways in this documentation for more information on how to create and customize payment gateways.